Code Explaination:
- cmpnet_train.py, cmpnet_test.py: general training and testing pipeline
- data_loader_*.py: data loader for different env settings
- gem_eval.py: called by cmpnet_test.py to evaluate the model on the testing dataset
- plan_general.py: common plannning functions used in different envs
- plan_*.py: implements env-specific planning functions: Collision-Checker
- utility_*.py: implements normalization and unnormalization of data depending on envs
- plot_util.py: functions for plotting
- cmpnet_compare_sample.py: general pipeline to compare different sampling methods in GEM
- mpnet_train.py: End-2-End training MPNet without Continual Learning functionality
- Model: implements the neural network model for planner network and encoder network
- GEM_end2end_model.py: implements the MPNet combined with Continual Learning functions (GEM)
- model_*.py: different planner models
- gem_utility.py: utility functions used to implement GEM
- GEM_end2end_model_*.py: network implementing different sampling methods
- AE: encoder network architecture
- exp: bash codes for training and testing
- cmpnet_train*.sh: code for training for each envs in Continual Learning mode
- cmpnet_test*.sh: code for testing for each envs in Continual Learning mode
- compare_sampling_method*.sh: code to compare different sampling methods
- mpnet_train*.sh: code for training without Continual Learning mode
- mpnet_test*.sh: code for testing without Continual Learning mode
Instructions for reproduction:
- obtain dataset (Coming soon)
- change the data_path in the training/testing script under exp folder to the dataset path
- change the model_path in the training/testing script under exp folder to your desired path for saving the model, and important statistics
- run the bash file in exp folder to conduct experiments (GPU needed)