这是我们的论文 Cal-QL:Calibated Offline RL Pre-Training for Efficient Online Fine-Tuning in Jax and Flax 的实现。
该代码库基于 JaxCQL 存储库构建。
如果您发现此存储库对您的研究有用,请引用:
@article{nakamoto2023calql,
author = {Mitsuhiko Nakamoto and Yuexiang Zhai and Anikait Singh and Max Sobol Mark and Yi Ma and Chelsea Finn and Aviral Kumar and Sergey Levine},
title = {Cal-QL: Calibrated Offline RL Pre-Training for Efficient Online Fine-Tuning},
conference = {arXiv Pre-print},
year = {2023},
url = {https://arxiv.org/abs/2303.05479},
}
mujoco210
和mjkey.txt
解压到~/.mujoco/mujoco210
和~/.mujoco/mjkey.txt
~/.bashrc
中 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.mujoco/mujoco210/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia
$ conda create -c nvidia -n Cal-QL python=3.8 cuda-nvcc=11.3
$ conda activate Cal-QL
$ pip install -r requirements.txt
该代码库使用权重和偏差来可视化日志。要启用此功能,您首先需要通过以下方式设置 W&B API 密钥:
JaxCQL
文件夹下创建一个名为wandb_config.py
的文件,填写以下信息 def get_wandb_config():
return dict (
WANDB_API_KEY = 'your api key',
WANDB_EMAIL = 'your email',
WANDB_USERNAME = 'user'
)
您只需复制 JaxCQL/wandb_config_example.py,将其重命名为wandb_config.py
并填写信息即可。
您可以使用以下命令运行实验:
$ bash scripts/run_antmaze.sh
请检查 script/run_antmaze.sh 了解详细信息。所有可用的命令选项都可以在conservative_sac_main.py和conservative_sac.py中看到。
/demonstrations/offpolicy_hand_data/*.npy
mj_envs
$ git clone --recursive https://github.com/nakamotoo/mj_envs.git
$ cd mj_envs
$ git submodule update --remote
$ pip install -e .
$ bash scripts/run_adroit.sh
请检查 script/run_adroit.sh 了解详细信息。
目前,该存储库仅实现了 AntMaze 和 Adroit。 FrankaKitchen 计划很快添加,但如果您赶时间或想尝试其他任务(例如论文中的视觉操纵领域),请与我联系 nakamoto[at]berkeley[dot]edu。
为了让其他读者能够轻松复制我们的结果,我们对 AntMaze 和 Adroit 域中的 Cal-QL 和 CQL 进行了扫描,并公开了相应的 W&B 日志。日志可以在这里找到:https://wandb.ai/mitsuhiko/Cal-QL--Examples?workspace=user-mitsuhiko
您可以通过对env
进行归档来选择要可视化的环境。 Cal-QL 运行由enable-calql=True
指示,CQL 运行由enable-calql=False
指示。每个 env 都运行过 4 个种子。
该项目基于 Young Geng 的 JaxCQL 存储库构建。 CQL实现基于CQL。
如果有任何问题、错误、建议或改进,请随时与我联系:nakamoto[at]berkeley[dot]edu