For creating large YAML files for training, which will include a train/test split, the syntax is python create_mega_yaml.py <out_dir> <max_steps> <prop> <prop_old_tasks> --dirs (<task_dir>)+ --old_dirs (<old_task_dir>)* (<out_file>)?
. Examples:
python create_mega_yaml.py ../configs/base_training 250 --dirs ../configs/base_training
python create_mega_yaml.py ../configs/basic_curriculum/task_type_1_2 250 --dirs ../configs/basic_curriculum/task_type_1_GR_HC ../configs/basic_curriculum/task_type_2_GR_FA
python create_mega_yaml.py ../configs/basic_curriculum/task_type_3_4 250 0.07 --dirs ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_2x9_HC ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_9x9_HC ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_4x4_HC ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_20x20_FA ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_9x9_FA ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_3x40_FA --old_dirs ../configs/basic_curriculum/task_type_1_GR_HC ../configs/basic_curriculum/task_type_2_GR_FA
python create_mega_yaml.py ../configs/basic_curriculum/task_type_5_6 250 0.04 0.01 --dirs ../configs/basic_curriculum/task_type_5_GR_Wall_HC/task_type_5_GR_Wall_1x1_1x1_HC ../configs/basic_curriculum/task_type_5_GR_Wall_HC/task_type_5_GR_Wall_1x1_HC ../configs/basic_curriculum/task_type_5_GR_Wall_HC/task_type_5_GR_Wall_1x5_1x1_HC ../configs/basic_curriculum/task_type_5_GR_Wall_HC/task_type_5_GR_Wall_1x5_HC ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x11_1x11_1x5_FA ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x11_1x5_1x5_FA ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x11_1x5_FA ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x30_FA ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x5_1x5_FA ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x5_FA --old_dirs ../configs/basic_curriculum/task_type_1_GR_HC ../configs/basic_curriculum/task_type_2_GR_FA ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_2x9_HC ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_9x9_HC ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_4x4_HC ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_20x20_FA ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_9x9_FA ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_3x40_FA
For creating test files, the syntax is the same but we call a different script:
python create_test_yaml.py ../configs/basic_curriculum/task_type_1_2_test 250 --dirs ../configs/basic_curriculum/task_type_1_GR_HC ../configs/basic_curriculum/task_type_2_GR_FA ../configs/basic_curriculum/task_type_1_GR_HC ../configs/basic_curriculum/task_type_2_GR_FA ../configs/basic_curriculum/task_type_1_GR_HC ../configs/basic_curriculum/task_type_2_GR_FA
python create_test_yaml.py ../configs/basic_curriculum/task_type_3_4_test 250 0.5 1 --dirs ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_2x9_HC ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_9x9_HC ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_4x4_HC ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_20x20_FA ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_9x9_FA ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_3x40_FA --old_dirs ../configs/basic_curriculum/task_type_1_GR_HC ../configs/basic_curriculum/task_type_2_GR_FA
python create_test_yaml.py ../configs/basic_curriculum/task_type_5_6_test 250 0.2 0.2 --dirs ../configs/basic_curriculum/task_type_5_GR_Wall_HC/task_type_5_GR_Wall_1x1_1x1_HC ../configs/basic_curriculum/task_type_5_GR_Wall_HC/task_type_5_GR_Wall_1x1_HC ../configs/basic_curriculum/task_type_5_GR_Wall_HC/task_type_5_GR_Wall_1x5_1x1_HC ../configs/basic_curriculum/task_type_5_GR_Wall_HC/task_type_5_GR_Wall_1x5_HC ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x11_1x11_1x5_FA ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x11_1x5_1x5_FA ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x11_1x5_FA ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x30_FA ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x5_1x5_FA ../configs/basic_curriculum/task_type_6_GR_Wall_FA/task_type_6_GR_Wall_1x5_FA --old_dirs ../configs/basic_curriculum/task_type_1_GR_HC ../configs/basic_curriculum/task_type_2_GR_FA ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_2x9_HC ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_9x9_HC ../configs/basic_curriculum/task_type_3_GR_Platform_HC/task_type_3_GR_Platform_4x4_HC ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_20x20_FA ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_9x9_FA ../configs/basic_curriculum/task_type_4_GR_Platform_FA/task_type_4_GR_Platform_3x40_FA
Running a random policy on the created task files and testing it on the test files:
python curriculum_random.py ../configs/base_training/test_freq\=10 10 ; python curriculum_random.py ../configs/basic_curriculum/task_type_1_2/test_freq\=10 10 ; python curriculum_random.py ../configs/basic_curriculum/task_type_1_2_test 10 --test ; python curriculum_random.py ../configs/basic_curriculum/task_type_3_4/test_freq\=10 10 ; python curriculum_random.py ../configs/basic_curriculum/task_type_3_4_test 10 --test ; python curriculum_random.py ../configs/basic_curriculum/task_type_5_6/test_freq\=10 10 ; python curriculum_random.py ../configs/basic_curriculum/task_type_5_6_test 10 --test
Running the autoencoder approach on the created task files and testing it on the test files:
python train_curriculum.py ../configs/base_training/test_freq\=10 10 ; python train_curriculum.py ../configs/basic_curriculum/task_type_1_2/test_freq\=10 10 ; python train_curriculum.py ../configs/basic_curriculum/task_type_1_2_test 10 --test ; python train_curriculum.py ../configs/basic_curriculum/task_type_3_4/test_freq\=10 10 ; python train_curriculum.py ../configs/basic_curriculum/task_type_3_4_test 10 --test ; python train_curriculum.py ../configs/basic_curriculum/task_type_5_6/test_freq\=10 10 ; python train_curriculum.py ../configs/basic_curriculum/task_type_5_6_test 10 --test
Running the end-to-end approach, without future discounting, on the task files and testing it on the test files, for train frequencies of 10, 5, and 2:
python train_curriculum_e2e.py ../configs/base_training/test_freq\=10 10 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2/test_freq\=10 10 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2_test 10 --test ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4/test_freq\=10 10 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4_test 10 --test ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6/test_freq\=10 10 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6_test 10 --test ; python train_curriculum_e2e.py ../configs/base_training/test_freq\=5 5 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2/test_freq\=5 5 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2_test 5 --test ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4/test_freq\=5 5 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4_test 5 --test ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6/test_freq\=5 5 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6_test 5 --test ; python train_curriculum_e2e.py ../configs/base_training/test_freq\=2 2 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2/test_freq\=2 2 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2_test 2 --test ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4/test_freq\=2 2 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4_test 2 --test ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6/test_freq\=2/ 2 ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6_test 2 --test
Running the end-to-end approach, with future discounting, on the task files and testing it on the test files, for train frequencies of 10, 5, and 2:
python train_curriculum_e2e.py ../configs/base_training/test_freq\=10 10 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2/test_freq\=10 10 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2_test 10 --test --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4/test_freq\=10 10 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4_test 10 --test --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6/test_freq\=10 10 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6_test 10 --test --future ; python train_curriculum_e2e.py ../configs/base_training/test_freq\=5 5 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2/test_freq\=5 5 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2_test 5 --test --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4/test_freq\=5 5 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4_test 5 --test --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6/test_freq\=5 5 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6_test 5 --test --future ; python train_curriculum_e2e.py ../configs/base_training/test_freq\=2 2 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2/test_freq\=2 2 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_1_2_test 2 --test --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4/test_freq\=2 2 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_3_4_test 2 --test --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6/test_freq\=2/ 2 --future ; python train_curriculum_e2e.py ../configs/basic_curriculum/task_type_5_6_test 2 --test --future