diff --git a/exp.py b/exp.py index 7e5a13577acaf72fe3e403250b76291ac534fa3d..c6d23e2d5a8b31e07f38f5bfcaf52a4d5eac713f 100644 --- a/exp.py +++ b/exp.py @@ -10,6 +10,10 @@ from utils.callback import callback_function as cb from utils.utils import load_compressed_pickle as lp from pickle import dump as pdump +PATH_TO_METAWORLD_FILE = './metaworld/envs/mujoco/sawyer_xyz/sawyer_xyz_env.py' +PATH_TO_FIXED = './exp_type/sawyer_xyz_env_fixed.py' +PATH_TO_RANDOM = './exp_type/sawyer_xyz_env_random.py' + def end_exp(): shutil.rmtree('/tmp/amfearl/', ignore_errors=True) @@ -25,6 +29,9 @@ if __name__ == "__main__": parser.add_argument('-p', dest='path', type=str, default="summary") parser.add_argument('-t', dest='threads', type=int, default=None) parser.add_argument('-exp', dest='experiment', type=int, default=0) + parser.add_argument('-r', dest='random', type=int, default=1, + help="0 - fixed ; 1 (default) - random") + args = parser.parse_args() filename = args.path @@ -39,6 +46,14 @@ if __name__ == "__main__": envs = [] + # Copy required files to make episodes' initialization random + if args.random: + shutil.copyfile(PATH_TO_RANDOM, PATH_TO_METAWORLD_FILE) + print("Experiment configured for random reinitialization") + else: + shutil.copyfile(PATH_TO_FIXED, PATH_TO_METAWORLD_FILE) + print("Experiment configured for fixed reinitialization") + if args.experiment == 0: # TOY EXPERIMENT print('Loading compressed_TOY.pbz2, this may take a few seconds...') @@ -66,7 +81,7 @@ if __name__ == "__main__": for i in range(len(tasks)): pdump(tasks[i], open('/tmp/amfearl/'+str(i)+'.pickle', 'wb')) - mfea.mfea(tasks, rmp=0.8, gen=1000, pop=10, episodes=10, + mfea.mfea(tasks, rmp=0.8, gen=1000, pop=60, episodes=300, D_multitask=dim, callback=cb, f_name=filename, num_threads=args.threads)