https://openreview.net/pdf?id=7KKL3Z5sod
We modified the Procgen (https://github.com/openai/procgen) to verify each generalization about change of backgrounds and levels.
Our data augmentation methods are from RAD(https://github.com/pokaxpoka/rad_procgen) and Auto-DrAC (https://github.com/rraileanu/auto-drac).
We will update this repo with docker image for easy setup.
Required Libraries
- tensorflow2
- OpenAI Baselines from https://github.com/openai/baselines/
- matplotlib
- pytorch
- kornia
- scipy
- scikit-image
- mpi4py
- pytest
git clone https://github.com/kbc-6723/Efficient-Scheduling-of-Data-Augmentation-for-Deep-Reinforcement-Learning.git Scheduling-DA
cd Scheduling-DA
conda env update --name da --file environment.yml
conda activate da
pip install -e .
# this should say "building procgen...done"
python -c "from procgen import ProcgenGym3Env; ProcgenGym3Env(num=1, env_name='coinrun')"
# this should create a window where you can play the coinrun environment
python -m procgen.interactive
python -m procgen.InDA --env_name climber --distribution_mode easybg --num_levels 200 --data_aug random_conv --run_id 'file_name' --log_dir 'your_path'
python -m procgen.ExDA --env_name climber --distribution_mode easybg --num_levels 200 --res_id 'pre-trained-model-path' --data_aug random_conv --run_id 'file_name' --log_dir 'your_path'
For tensorflow2, you should modify OpenAI baselines libararies using tensorflow.compat.v1.