Code for Accelerating Self-Imitation Learning from Demonstrations via Policy Constraints and Q-Ensemble.
To run experiments, you will need to install the following packages preferably in a conda virtual environment
- gym==0.18.0
- mujoco_py
- torch==1.11.0
- tqdm==4.64.0
- tensorboardX==2.5.1
- scipy==1.8.0
- numpy==1.22.3
Suggested build environment:
```
conda create -n a-silfd python=3.8
conda activate a-silfd
pip install -r requirements.txt
```
To run the code with the default parameters, simply execute the following command:
Run A-SILfD on environment Ant-v2, Hopper-v2, Walker2d-v2, HalfCheetah-v2, running seed = 10:
python run.py --task=ant --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert
python run.py --task=hopper --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert
python run.py --task=walker2d --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert
python run.py --task=halfcheetah --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert
python run.py --task=ant --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=mix
python run.py --task=hopper --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=mix
python run.py --task=walker2d --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=mix
python run.py --task=halfcheetah --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=mix
python run.py --task=ant --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=sub
python run.py --task=hopper --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=sub
python run.py --task=walker2d --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=sub
python run.py --task=halfcheetah --algo=A-SILfD --seed=10 --save=True --train=True --gpu-no=0 --expert-type=sub
python run.py --task=ant --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0
python run.py --task=hopper --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0
python run.py --task=walker2d --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0
python run.py --task=halfcheetah --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0
python run.py --task=ant --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert --bc-pre-train=True
python run.py --task=hopper --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert --bc-pre-train=True
python run.py --task=walker2d --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert --bc-pre-train=True
python run.py --task=halfcheetah --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert --bc-pre-train=True
python run.py --task=ant --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert --pretrain_demo=True
python run.py --task=hopper --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert --pretrain_demo=True
python run.py --task=walker2d --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert --pretrain_demo=True
python run.py --task=halfcheetah --algo=redq_td3 --seed=10 --save=True --train=True --gpu-no=0 --expert-type=expert --pretrain_demo=True