def test_benchmark_her(self): ''' Compare benchmarks between garage and baselines. :return: ''' mujoco1m = benchmarks.get_benchmark('HerDdpg') timestamp = datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S-%f') benchmark_dir = osp.join(os.getcwd(), 'data', 'local', 'benchmarks', 'her', timestamp) for task in mujoco1m['tasks']: env_id = task['env_id'] env = gym.make(env_id) seeds = random.sample(range(100), task['trials']) task_dir = osp.join(benchmark_dir, env_id) plt_file = osp.join(benchmark_dir, '{}_benchmark.png'.format(env_id)) baselines_csvs = [] garage_csvs = [] for trial in range(task['trials']): seed = seeds[trial] trial_dir = osp.join( task_dir, 'trial_{}_seed_{}'.format(trial + 1, seed)) garage_dir = osp.join(trial_dir, 'garage') baselines_dir = osp.join(trial_dir, 'baselines') with tf.Graph().as_default(): garage_csv = run_garage(env, seed, garage_dir) CACHED_ENVS.clear() baselines_csv = run_baselines(env_id, seed, baselines_dir) garage_csvs.append(garage_csv) baselines_csvs.append(baselines_csv) env.close() plot( b_csvs=baselines_csvs, g_csvs=garage_csvs, g_x='Epoch', g_y='AverageSuccessRate', b_x='epoch', b_y='train/success_rate', trials=task['trials'], seeds=seeds, plt_file=plt_file, env_id=env_id)
def test_benchmark_her(self): """ Compare benchmarks between garage and baselines. :return: """ mujoco1m = benchmarks.get_benchmark("HerDdpg") timestamp = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S-%f") benchmark_dir = "./data/local/benchmarks/her/%s/" % timestamp for task in mujoco1m["tasks"]: env_id = task["env_id"] env = gym.make(env_id) seeds = random.sample(range(100), task["trials"]) task_dir = osp.join(benchmark_dir, env_id) plt_file = osp.join(benchmark_dir, "{}_benchmark.png".format(env_id)) baselines_csvs = [] garage_csvs = [] for trial in range(task["trials"]): seed = seeds[trial] trial_dir = task_dir + "/trial_%d_seed_%d" % (trial + 1, seed) garage_dir = trial_dir + "/garage" baselines_dir = trial_dir + "/baselines" with tf.Graph().as_default(): garage_csv = run_garage(env, seed, garage_dir) CACHED_ENVS.clear() baselines_csv = run_baselines(env_id, seed, baselines_dir) garage_csvs.append(garage_csv) baselines_csvs.append(baselines_csv) env.close() plot( b_csvs=baselines_csvs, g_csvs=garage_csvs, g_x="Epoch", g_y="AverageSuccessRate", b_x="epoch", b_y="train/success_rate", trials=task["trials"], seeds=seeds, plt_file=plt_file, env_id=env_id)