Todos los ambientes Babyai ahora son parte de la Biblioteca Minigrid. Este repositorio no se mantiene activamente.
Los agentes de capacitación de RL en entornos minigrid (y babyai) se pueden hacer utilizando este repositorio.
Este repositorio todavía contiene scripts que, si se adaptan a la biblioteca Minigrid, podrían usarse para:
Babyai es una plataforma utilizada para estudiar la eficiencia de la muestra de la adquisición de lenguaje fundamentado, creada en Mila.
La rama maestra de este repositorio se actualiza con frecuencia. Si está buscando replicar o comparar los resultados de la línea de base, le recomendamos que use la rama Babyai 1.1 y cite ambos:
@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}
}
y el documento ICLR19, que detalla la configuración experimental y los resultados de la línea de base babyai 1.0. Su código fuente está en la rama 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},
}
Este ReadMe cubre instrucciones para la instalación y la resolución de problemas. Otras instrucciones son:
Si está utilizando conda, puede crear un ambiente babyai con todas las dependencias ejecutando:
git clone https://github.com/mila-iqia/babyai.git
cd babyai
conda env create -f environment.yaml
source activate babyai
Después de eso, ejecute los siguientes comandos para configurar el entorno.
cd ..
git clone https://github.com/maximecb/gym-minigrid.git
cd gym-minigrid
pip install --editable .
El último comando instala el repositorio en modo editable. Regrese al repositorio babyai e instale eso en modo editable también.
cd ../babyai
pip install --editable .
Finalmente, siga estas instrucciones
Requisitos:
Primero instale pytorch para en su plataforma.
Luego, clone este repositorio e instale las otras dependencias con pip3 :
git clone https://github.com/mila-iqia/babyai.git
cd babyai
pip3 install --editable .
Finalmente, siga estas instrucciones
Agregue esta línea a .bashrc (Linux) o .bash_profile (Mac).
export BABYAI_STORAGE='/<PATH>/<TO>/<BABYAI>/<REPOSITORY>/<PARENT>'
Donde /<PATH>/<TO>/<BABYAI>/<REPOSITORY>/<PARENT> es la carpeta donde escribió git clone https://github.com/mila-iqia/babyai.git antes.
Los modelos, registros y demostraciones se producirán en este directorio, en las carpetas models , logs y demos respectivamente.
Estos se pueden descargar aquí
Asegúrese de que el archivo descargado tenga la siguiente suma de verificación MD5 (obtenida a través de md5sum ): 1df202ef2bbf2de768633059ed8db64c
Antes de la extracción:
gunzip -c copydemos.tar.gz | tar xvf -
El uso de la arquitectura pixels no funciona con el aprendizaje de imitación , porque las manifestaciones no se generaron para usar píxeles.
Si se encuentra con mensajes de error relacionados con OpenAI Gym, puede ser que la versión de esas bibliotecas que haya instalado sea incompatible. Puede intentar actualizar bibliotecas específicas con PIP3, EG: pip3 install --upgrade gym . Si el problema persiste, abra un problema en este repositorio y pegue un mensaje de error completo , junto con alguna información sobre su plataforma (¿está ejecutando Windows, Mac, Linux? ¿Está ejecutando esto en una máquina Mila?).
Tenga en cuenta que el formato de observación predeterminado es una vista parcialmente observable del entorno utilizando una codificación compacta, con 3 valores de entrada por celda de cuadrícula visible, valores de 7x7x3 en total. Estos valores no son píxeles . Si desea obtener una matriz de píxeles RGB como observaciones, use el RGBImgPartialObsWrapper . Puedes usarlo de la siguiente manera:
import babyai
from gym_minigrid.wrappers import *
env = gym.make('BabyAI-GoToRedBall-v0')
env = RGBImgPartialObsWrapper(env)
Este envoltorio, así como otros envoltorios para cambiar el formato de observación se pueden encontrar aquí.