This repository contains the benchmarked algorithms for environments in SoftGym (paper). The benchmarked algorithms include
- Cross Entropy Method(CEM) [source]
- CURL/SAC [source] [paper]
- We use the original implementation
- DrQ [source] [paper]
- We use the original implementation
- PlaNet [source] [paper]
- We use this customized pytorch version
- MVP [source] [paper]
- We build on top of the original implementation
-
Install SoftGym by following the instructions in SoftGym repository. Then, copy the softgym code to the SoftAgent root directory so we have the following file structure:
softagent ├── cem ├── ... ├── softgym
-
Update conda env with additional packages required by SoftAgent:
conda env update --file environment.yml --prune
-
Activate the conda environment by running
. ./prepare_1.0.sh
. -
For running MVP, please refer to the original implementation for dependencies.
-
Generating initial states for different SoftGym environments:
python experiments/generate_cached_states.py
-
Running CEM experiments:
python experiments/run_cem.py
. Refer torun_cem.py
for different arguments. -
Running CURL/SAC experiments:
python experiments/run_curl.py
. Refer torun_curl.py
for different arguments. -
Running PlaNet experiments:
python experiments/run_planet.py
. Refer torun_planet.py
for different arguments. -
Running DrQ experiments:
python experiments/run_drq.py
. Refer torun_drq.py
for different arguments. -
Train an MVP policy:
python experiments/run_mvp.py
. Refer torun_mvp.py
for different arguments. Once the model is trained, userlpyt_cloth/max_q_eval_policy
to evaluate the policy that selects the pick location with the maximum Q value.
Note: Default number of environment variations are set to 1. Set them to 1000 to reproduce the original experiments.
If you find this codebase useful in your research, please consider citing:
@inproceedings{corl2020softgym,
title={SoftGym: Benchmarking Deep Reinforcement Learning for Deformable Object Manipulation},
author={Lin, Xingyu and Wang, Yufei and Olkin, Jake and Held, David},
booktitle={Conference on Robot Learning},
year={2020}
}
- CURL implementation is from the official release: https://github.com/MishaLaskin/curl
- PlaNet implementation is modified from this repository: https://github.com/Kaixhin/PlaNet
- DrQ implementation is from the official repository: https://github.com/denisyarats/drq
- MVP implementation is from the official repository: https://github.com/wilson1yan/rlpyt
- Softgym repository: https://github.com/Xingyu-Lin/softgym