Код для бумаги Text2Reard: Формирование вознаграждения с помощью языковых моделей для обучения подкреплению. Пожалуйста, обратитесь к нашей странице проекта для получения дополнительных демонстраций и актуальных ресурсов.
Чтобы установить среду, запустите этот код в оболочке:
# set up conda
conda create -n text2reward python=3.7
conda activate text2reward
# set up ManiSkill2 environment
cd ManiSkill2
pip install -e .
pip install stable-baselines3==1.8.0 wandb tensorboard
cd ..
cd run_maniskill
bash download_data.sh
# set up MetaWorld environment
cd ..
cd Metaworld
pip install -e .
# set up code generation
pip install langchain chromadb==0.4.0mujoco , пожалуйста, следуйте инструкциям отсюда, чтобы установить его. После этого, пожалуйста, попробуйте следующие команды, чтобы подтвердить успешную установку: $ python3
>>> import mujoco_pyRuntimeError: vk::Instance::enumeratePhysicalDevices: ErrorInitializationFailedSome required Vulkan extension is not present. You may not use the renderer to render, however, CPU resources will be still available.Segmentation fault (core dumped) Чтобы переопределить результаты нашего эксперимента, вы можете запустить следующие сценарии:
Maniskill2:
bash run_oracle.sh
bash run_zero_shot.sh
bash run_few_shot.shЭто нормально встретить следующие предупреждения:
[svulkan2] [error] GLFW error: X11: The DISPLAY environment variable is missing
[svulkan2] [warning] Continue without GLFW.Metaworld:
bash run_oracle.sh
bash run_zero_shot.sh Во -первых, добавьте следующую переменную среды в свой .bashrc (или .zshrc и т. Д.).
export PYTHONPATH= $PYTHONPATH : ~ /path/to/text2reward Затем перейдите к Directory text2reward/code_generation/single_flow и запустите следующие сценарии:
# generate reward code for Maniskill
bash run_maniskill_zeroshot.sh
bash run_maniskill_fewshot.sh
# generate reward code for MetaWorld
bash run_metaworld_zeroshot.sh По умолчанию в скрипте run_oracle.sh выше используется вознаграждения, написанные экспертом, предоставленные окружающей средой; Сценарии run_zero_shot.sh и run_few_shot.sh используют сгенерированные награды, используемые в наших экспериментах. Если вы хотите запустить новый эксперимент на основе вознаграждения, которую вы предоставляете, просто следуйте приведенному выше сценарию и измените параметр --reward_path пути вашей собственной награды.
Если вы найдете нашу работу полезной, пожалуйста, процитируйте нас:
@inproceedings { xietext2reward ,
title = { Text2Reward: Reward Shaping with Language Models for Reinforcement Learning } ,
author = { Xie, Tianbao and Zhao, Siheng and Wu, Chen Henry and Liu, Yitao and Luo, Qian and Zhong, Victor and Yang, Yanchao and Yu, Tao } ,
booktitle = { The Twelfth International Conference on Learning Representations }
}