Это реализация нашей статьи Cal-QL: калиброванное автономное предварительное обучение RL для эффективной онлайн-тонкой настройки в Jax и 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
Эта база кода визуализирует журналы с использованием весов и смещений. Чтобы включить это, вам сначала необходимо настроить ключ API W&B следующим образом:
wandb_config.py
в папке JaxCQL
, заполнив следующую информацию. 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
Пожалуйста, проверьте scripts/run_antmaze.sh для получения подробной информации. Все доступные параметры команды можно увидеть в файлах консервативного_sac_main.py и консервативного_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
Пожалуйста, проверьте scripts/run_adroit.sh для получения подробной информации.
На данный момент в этом репозитории реализованы только AntMaze и Adroit. В ближайшее время планируется добавить FrankaKitchen, но если вы торопитесь или хотите попробовать другие задачи (например, область визуальных манипуляций в статье), свяжитесь со мной по адресу nakamoto[at]berkeley[dot]edu.
Чтобы другие читатели могли легко воспроизвести наши результаты, мы провели проверку Cal-QL и CQL в доменах AntMaze и Adroit и сделали соответствующие журналы W&B общедоступными. Журналы можно найти здесь: https://wandb.ai/mitsuhiko/Cal-QL--Examples?workspace=user-mitsuhiko.
Вы можете выбрать среду для визуализации, заполнив файл env
. Запуски Cal-QL обозначаются enable-calql=True
, а запуски CQL обозначаются enable-calql=False
. Каждый env был пропущен через 4 сида.
Этот проект основан на репозитории JaxCQL Young Geng. Реализация CQL основана на CQL.
В случае возникновения каких-либо вопросов, ошибок, предложений или улучшений, пожалуйста, свяжитесь со мной по адресу nakamoto[at]berkeley[dot]edu.