def main(log_dir, config, cpu):
    variant = default_test_config
    if config:
        with open(os.path.join(config)) as f:
            exp_params = json.load(f)
        overwrite_dict(variant, exp_params)

    experiment(log_dir, variant, cpu=cpu)
def main(config, cpu, log_dir, snapshot_gap):
    variant = default_train_config
    if config:
        with open(os.path.join(config)) as f:
            exp_params = json.load(f)
        overwrite_dict(variant, exp_params)

    # Set log directory.
    exp_id = get_exp_id(variant)
    variant.update(exp_id=exp_id)
    log_dir = create_exp_name(os.path.join(log_dir, exp_id))
    print('Logging to:', log_dir)
    setup_logger(log_dir=log_dir,
                 variant=variant,
                 snapshot_mode='gap_and_last',
                 snapshot_gap=snapshot_gap,
    )

    # Set GPU.
    if not cpu:
        ptu.set_gpu_mode(True)

    experiment(variant)