Código para papel Text2Rewward: Squeation com modelos de idiomas para aprendizado de reforço. Consulte nossa página do projeto para obter mais demonstrações e recursos relacionados atualizados.
Para estabelecer o meio ambiente, execute este código no shell:
# 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 , siga as instruções daqui para instalá -lo. Depois disso, tente os seguintes comandos para confirmar a instalação bem -sucedida: $ 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) Para reimplementar os resultados do nosso experimento, você pode executar os seguintes scripts:
Maniskill2:
bash run_oracle.sh
bash run_zero_shot.sh
bash run_few_shot.shÉ normal encontrar os seguintes avisos:
[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 Em primeiro lugar, adicione a seguinte variável de ambiente ao seu .bashrc (ou .zshrc , etc.).
export PYTHONPATH= $PYTHONPATH : ~ /path/to/text2reward Em seguida, navegue até o diretório text2reward/code_generation/single_flow e execute os seguintes scripts:
# 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 Por padrão, o script run_oracle.sh acima usa as recompensas escritas para especialistas fornecidas pelo ambiente; Os scripts run_zero_shot.sh e run_few_shot.sh usam as recompensas geradas usadas em nossas experiências. Se você deseja executar um novo experimento com base na recompensa que você fornece, basta seguir o script Bash acima e modificar o parâmetro --reward_path no caminho de sua própria recompensa.
Se você achar útil nosso trabalho, cite -nos:
@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 }
}