Ini adalah implementasi untuk makalah kami Cal-QL: Pra-Pelatihan RL Offline yang Dikalibrasi untuk Penyempurnaan Online yang Efisien di Jax dan Flax.
Basis kode ini dibangun di atas repositori JaxCQL.
Jika Anda merasa repositori ini berguna untuk penelitian Anda, harap kutip:
@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
dan mjkey.txt
yang diunduh ke ~/.mujoco/mujoco210
dan ~/.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
Basis kode ini memvisualisasikan log menggunakan Bobot dan Bias. Untuk mengaktifkan ini, Anda harus menyiapkan kunci API W&B terlebih dahulu dengan:
wandb_config.py
di bawah folder JaxCQL
dengan informasi berikut diisi def get_wandb_config():
return dict (
WANDB_API_KEY = 'your api key',
WANDB_EMAIL = 'your email',
WANDB_USERNAME = 'user'
)
Anda cukup menyalin JaxCQL/wandb_config_example.py, mengganti namanya menjadi wandb_config.py
dan mengisi informasinya.
Anda dapat menjalankan eksperimen menggunakan perintah berikut:
$ bash scripts/run_antmaze.sh
Silakan periksa scripts/run_antmaze.sh untuk detailnya. Semua opsi perintah yang tersedia dapat dilihat di konservatif_sac_main.py dan konservatif_sac.py.
/demonstrations/offpolicy_hand_data/*.npy
mj_envs
dari fork ini $ 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
Silakan periksa scripts/run_adroit.sh untuk detailnya.
Saat ini, repositori ini hanya mengimplementasikan AntMaze dan Adroit. FrankaKitchen rencananya akan segera ditambahkan, tetapi jika Anda sedang terburu-buru atau ingin mencoba tugas lain (seperti domain manipulasi visual di makalah), silakan hubungi saya di nakamoto[at]berkeley[dot]edu.
Untuk memungkinkan pembaca lain mereplikasi hasil kami dengan mudah, kami telah melakukan penyisiran Cal-QL dan CQL di domain AntMaze dan Adroit dan membuat log W&B terkait dapat diakses publik. Lognya dapat ditemukan di sini: https://wandb.ai/mitsuhiko/Cal-QL--Examples?workspace=user-mitsuhiko
Anda dapat memilih lingkungan untuk divisualisasikan dengan mengarsipkan env
. Proses Cal-QL ditandai dengan enable-calql=True
, dan proses CQL ditandai dengan enable-calql=False
. Setiap env telah dijalankan di 4 benih.
Proyek ini dibangun di atas repositori JaxCQL Young Geng. Implementasi CQL didasarkan pada CQL.
Jika ada pertanyaan, bug, saran atau perbaikan, jangan ragu untuk menghubungi saya di nakamoto[at]berkeley[dot]edu