コード例 #1
0
def main():
    """Reproduce a specified experiment."""
    logs.initialize()
    parser = argparse.ArgumentParser(
        description='Reproduce an experiment from a full config file.')
    parser.add_argument('-c',
                        '--experiment-config',
                        help='Path to the experiment configuration yaml file.',
                        required=True)

    parser.add_argument('-e',
                        '--experiment-name',
                        help='Experiment name.',
                        required=True)

    parser.add_argument('-d',
                        '--description',
                        help='Description of the experiment.',
                        required=False)

    args = parser.parse_args()
    config = yaml_utils.read(args.experiment_config)
    run_experiment.validate_experiment_name(args.experiment_name)
    if args.experiment_name == config['experiment']:
        raise Exception('Must use a different experiment name.')
    config['experiment'] = args.experiment_name
    config['description'] = args.description
    validate_config(config)
    run_experiment.start_experiment_from_full_config(config)
    return 0
コード例 #2
0
def validate_experiment_name(experiment_name):
    """Returns True if |experiment_name| is valid."""
    if EXPERIMENT_NAME_REGEX.match(experiment_name) is None:
        logger.error('Experiment name: %s is not valid.', experiment_name)
        return False
    try:
        run_experiment.validate_experiment_name(experiment_name)
        return True
    except run_experiment.ValidationError:
        logger.error('Experiment name: %s is not valid.', experiment_name)
        return False
コード例 #3
0
def test_validate_experiment_name_invalid(experiment_name):
    """Tests that validate_experiment_name raises an exception when passed an
    an invalid experiment name."""
    with pytest.raises(Exception) as exception:
        run_experiment.validate_experiment_name(experiment_name)
    assert 'is invalid. Must match' in str(exception.value)
コード例 #4
0
def test_validate_experiment_name_valid():
    """Tests that validate_experiment_name says that a valid experiment_name is
    valid."""
    run_experiment.validate_experiment_name('experiment-1')