现在,所有Babyai环境都是Minigrid图书馆的一部分。该存储库无法积极维护。
可以使用此存储库来完成对Miligrid(和Babyai)环境的培训RL代理。
该存储库仍然包含脚本,如果适合Minigrid库,则可以使用:
Babyai是一个平台,用于研究MILA创建的基础语言获取的样本效率。
此存储库的主分支经常更新。如果您想复制或与基线结果进行比较,我们建议您使用Babyai 1.1分支并引用两者:
@misc{hui2020babyai,
title={BabyAI 1.1},
author={David Yu-Tung Hui and Maxime Chevalier-Boisvert and Dzmitry Bahdanau and Yoshua Bengio},
year={2020},
eprint={2007.12770},
archivePrefix={arXiv},
primaryClass={cs.AI}
}
ICLR19纸,详细介绍了实验设置和Babyai 1.0基线结果。它的源代码在ICLR19分支中:
@inproceedings{
babyai_iclr19,
title={Baby{AI}: First Steps Towards Grounded Language Learning With a Human In the Loop},
author={Maxime Chevalier-Boisvert and Dzmitry Bahdanau and Salem Lahlou and Lucas Willems and Chitwan Saharia and Thien Huu Nguyen and Yoshua Bengio},
booktitle={International Conference on Learning Representations},
year={2019},
url={https://openreview.net/forum?id=rJeXCo0cYX},
}
此读数涵盖了安装和故障排除的说明。其他说明是:
如果您使用的是Conda,则可以通过运行来创建所有依赖性的babyai环境:
git clone https://github.com/mila-iqia/babyai.git
cd babyai
conda env create -f environment.yaml
source activate babyai
之后,执行以下命令来设置环境。
cd ..
git clone https://github.com/maximecb/gym-minigrid.git
cd gym-minigrid
pip install --editable .
最后一个命令以可编辑模式安装存储库。返回到babyai存储库,并以可编辑模式安装。
cd ../babyai
pip install --editable .
最后,按照以下说明
要求:
首先在平台上安装pytorch。
然后,克隆此存储库,并使用pip3安装其他依赖项:
git clone https://github.com/mila-iqia/babyai.git
cd babyai
pip3 install --editable .
最后,按照以下说明
将此行添加到.bashrc (linux)或.bash_profile (Mac)。
export BABYAI_STORAGE='/<PATH>/<TO>/<BABYAI>/<REPOSITORY>/<PARENT>'
where /<PATH>/<TO>/<BABYAI>/<REPOSITORY>/<PARENT>是您输入git clone https://github.com/mila-iqia/babyai.git文件夹。
模型,日志和演示将在此目录中分别在文件夹models , logs和demos中产生。
这些可以在这里下载
确保下载1df202ef2bbf2de768633059ed8db64c文件具有以下MD5校验和: md5sum
提取之前:
gunzip -c copydemos.tar.gz | tar xvf -
使用pixels体系结构不适用于模仿学习,因为没有生成演示以使用像素。
如果您遇到与OpenAI体育馆有关的错误消息,则可能是您安装的那些库的版本是不兼容的。您可以尝试使用pip3升级特定库,例如: pip3 install --upgrade gym 。如果问题持续存在,请在此存储库上打开一个问题并粘贴一条完整的错误消息,以及有关平台的一些信息(您是否正在运行Windows,Mac,Linux?您是否在MILA机器上运行此信息?)。
请注意,默认的观察格式是使用紧凑的编码对环境的部分可观察的视图,每个可见网格单元格的3个输入值总计为7x7x3值。这些值不是像素。如果要获得RGB像素作为观测值的数组,请使用RGBImgPartialObsWrapper 。您可以按以下方式使用它:
import babyai
from gym_minigrid.wrappers import *
env = gym.make('BabyAI-GoToRedBall-v0')
env = RGBImgPartialObsWrapper(env)
可以在此处找到该包装纸以及其他更改观察格式的包装器。