def test_iql(): logger.reset() # make tests small by mutating variant iql.variant["algo_kwargs"]["start_epoch"] = -2 iql.variant["algo_kwargs"]["num_epochs"] = 2 iql.variant["algo_kwargs"]["batch_size"] = 2 iql.variant["algo_kwargs"]["num_eval_steps_per_epoch"] = 2 iql.variant["algo_kwargs"]["num_expl_steps_per_train_loop"] = 2 iql.variant["algo_kwargs"]["num_trains_per_train_loop"] = 100 iql.variant["algo_kwargs"]["min_num_steps_before_training"] = 2 iql.variant["qf_kwargs"] = dict(hidden_sizes=[2, 2]) iql.variant["seed"] = 25580 iql.main() reference_csv = "tests/regression/iql/halfcheetah_online_progress.csv" output_csv = os.path.join(logger.get_snapshot_dir(), "progress.csv") print("comparing reference %s against output %s" % (reference_csv, output_csv)) output = csv_util.get_exp(output_csv) reference = csv_util.get_exp(reference_csv) keys = [ "epoch", "expl/num steps total", "expl/Average Returns", "trainer/Q1 Predictions Mean", ] csv_util.check_equal(reference, output, keys)
def test_sac_online(): logger.reset() # make tests small by mutating variant sac.variant["algorithm_kwargs"]["num_epochs"] = 2 sac.variant["algorithm_kwargs"]["batch_size"] = 2 sac.variant["algorithm_kwargs"]["num_trains_per_train_loop"] = 100 sac.variant["qf_kwargs"] = dict(hidden_sizes=[2, 2]) sac.variant["policy_kwargs"] = dict(hidden_sizes=[2, 2]) sac.variant["seed"] = 25580 sac.main() reference_csv = "tests/regression/simplegym/test_sac_progress.csv" output_csv = os.path.join(logger.get_snapshot_dir(), "progress.csv") print("comparing reference %s against output %s" % (reference_csv, output_csv)) output = csv_util.get_exp(output_csv) reference = csv_util.get_exp(reference_csv) keys = ["epoch", "expl/num steps total", "eval/Average Returns", "trainer/Q1 Predictions Mean", ] csv_util.check_equal(reference, output, keys)
def skewfit_full_experiment_chester(args): variant, log_dir, exp_prefix = args base_log_dir = log_dir logger.reset() print("log dir is: ", base_log_dir) script_name = main.__file__ seed = variant['seed'] actual_log_dir = setup_logger( exp_prefix=exp_prefix, variant=variant, exp_id=0, seed=seed, snapshot_mode='gap_and_last', snapshot_gap=25, log_dir=base_log_dir, script_name=script_name, ) variant = variant['variant'] if torch.cuda.is_available(): use_gpu = True else: use_gpu = False set_gpu_mode(use_gpu) torch.manual_seed(seed) torch.cuda.manual_seed_all(seed) torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False np.random.seed(seed) variant['skewfit_variant']['save_vae_data'] = True full_experiment_variant_preprocess(variant) train_vae_and_update_variant(variant) skewfit_experiment(variant['skewfit_variant'])
def reset_execution_environment(): """ Call this between calls to separate experiments. :return: """ logger.reset()