這是我們的論文 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