Tous les environnements babyai font désormais partie de la bibliothèque minimigride. Ce référentiel n'est pas activement maintenu.
Les agents RL de formation sur les environnements minimigrides (et babyai) peuvent être effectués en utilisant ce référentiel.
Ce référentiel contient toujours des scripts qui, s'ils sont adaptés à la bibliothèque Minigrid, pourraient être utilisés:
Babyai est une plate-forme utilisée pour étudier l'efficacité de l'échantillon de l'acquisition de la langue fondée, créée à Mila.
La branche principale de ce référentiel est fréquemment mise à jour. Si vous cherchez à vous reproduire ou à comparer avec les résultats de base, nous vous recommandons d'utiliser la branche Babyai 1.1 et de citer les deux:
@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}
}
et le papier ICLR19, qui détaille la configuration expérimentale et les résultats de base de Babyai 1.0. Son code source est dans la branche 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},
}
Cette lecture couvre les instructions pour l'installation et le dépannage. Les autres instructions sont:
Si vous utilisez Conda, vous pouvez créer un environnement babyai avec toutes les dépendances en fonctionnant:
git clone https://github.com/mila-iqia/babyai.git
cd babyai
conda env create -f environment.yaml
source activate babyai
Après cela, exécutez les commandes suivantes pour configurer l'environnement.
cd ..
git clone https://github.com/maximecb/gym-minigrid.git
cd gym-minigrid
pip install --editable .
La dernière commande installe le référentiel en mode modifiable. Revenez au référentiel babyai et installez-le également en mode modifiable.
cd ../babyai
pip install --editable .
Enfin, suivez ces instructions
Exigences:
Installez d'abord Pytorch pour sur votre plate-forme.
Ensuite, clonez ce référentiel et installez les autres dépendances avec pip3 :
git clone https://github.com/mila-iqia/babyai.git
cd babyai
pip3 install --editable .
Enfin, suivez ces instructions
Ajoutez cette ligne à .bashrc (Linux), ou .bash_profile (Mac).
export BABYAI_STORAGE='/<PATH>/<TO>/<BABYAI>/<REPOSITORY>/<PARENT>'
où /<PATH>/<TO>/<BABYAI>/<REPOSITORY>/<PARENT> est le dossier où vous avez tapé git clone https://github.com/mila-iqia/babyai.git plus tôt.
Les modèles, journaux et démos seront produits dans ce répertoire, dans les models , logs et demos dossiers respectivement.
Ceux-ci peuvent être téléchargés ici
Assurez-vous que le fichier téléchargé a la somme de contrôle MD5 suivante (obtenue via md5sum ): 1df202ef2bbf2de768633059ed8db64c
Avant l'extraction:
gunzip -c copydemos.tar.gz | tar xvf -
L'utilisation de l'architecture pixels ne fonctionne pas avec l'apprentissage de l'imitation , car les démonstrations n'ont pas été générées pour utiliser des pixels.
Si vous rencontrez des messages d'erreur relatifs à Openai Gym, il se peut que la version des bibliothèques que vous avez installée soit incompatible. Vous pouvez essayer de mettre à niveau des bibliothèques spécifiques avec PIP3, par exemple: pip3 install --upgrade gym . Si le problème persiste, veuillez ouvrir un problème sur ce référentiel et coller un message d'erreur complet , ainsi que quelques informations sur votre plate-forme (utilisez-vous Windows, Mac, Linux? Exécutez cela sur une machine Mila?).
Veuillez noter que le format d'observation par défaut est une vue partiellement observable de l'environnement en utilisant un codage compact, avec 3 valeurs d'entrée par cellule de grille visible, les valeurs 7x7x3 totales. Ces valeurs ne sont pas des pixels . Si vous souhaitez obtenir un tableau de pixels RVB comme observations à la place, utilisez le RGBImgPartialObsWrapper . Vous pouvez l'utiliser comme suit:
import babyai
from gym_minigrid.wrappers import *
env = gym.make('BabyAI-GoToRedBall-v0')
env = RGBImgPartialObsWrapper(env)
Cet emballage, ainsi que d'autres emballages pour changer le format d'observation peuvent être trouvés ici.