Все среды Babyai теперь являются частью минигридной библиотеки. Этот репозиторий не поддерживается активно.
Обучение RL -агентов в условиях минигрида (и малыша) может быть выполнено с помощью этого репозитория.
Этот репозиторий по -прежнему содержит сценарии, которые, если они адаптированы к миниградной библиотеке, можно использовать для:
Babyai - это платформа, используемая для изучения эффективности выборки обоснованного языка, созданного в Мила.
Главная ветвь этого репозитория часто обновляется. Если вы хотите воспроизвести или сравнить с базовыми результатами, мы рекомендуем использовать ветвь 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},
}
Этот Readme охватывает инструкции по установке и устранению неполадок. Другие инструкции:
Если вы используете 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>'
где /<PATH>/<TO>/<BABYAI>/<REPOSITORY>/<PARENT> это папка, в которой вы напечатали git clone https://github.com/mila-iqia/babyai.git ранее.
Модели, журналы и демонстрации будут производиться в этом каталоге, в models папок, logs и demos соответственно.
Их можно скачать здесь
Убедитесь, что загруженный файл имеет следующую контрольную сумму MD5 (полученная через md5sum ): 1df202ef2bbf2de768633059ed8db64c
Перед извлечением:
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)
Эта обертка, а также другие обертки для изменения формата наблюдения можно найти здесь.