def METHOD_NAME(cluster, dirname, weekly):
    # Run LBANN experiment
    experiment_output = test_func(cluster, dirname, weekly)
    # Parse LBANN log file
    lr_list = []
    log_file = experiment_output['stdout_log_file']
    with open(log_file) as f:
        for line in f:
            match = re.search(
                'changing global learning rate to ([0-9.]+)',
                line)
            if match:
                lr_list.append(float(match.group(1)))
    # Make sure file has been parsed correctly
    assert len(lr_list) == lr_num_epochs, \
        f'Error parsing {log_file} ' \
        f'(expected {lr_num_epochs} learning rates, ' \
        f'but found {len(lr_list)})'
    # Make sure learning rates match expected values
    tol = 1e-5
    for epoch in range(lr_num_epochs):
        lr = lr_list[epoch]
        scale = (1 - (epoch+1)/lr_num_epochs) ** lr_power
        expected_lr = (lr_start - lr_end) * scale + lr_end
        assert expected_lr-tol < lr < expected_lr+tol, \
            f'Incorrect learning rate at epoch {epoch}' \
            f'(expected {expected_lr}, but found {lr})'