All Projects → mila-iqia → Babyai

mila-iqia / Babyai

Licence: bsd-3-clause
BabyAI platform. A testbed for training agents to understand and execute language commands.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Babyai

Ravens
Train robotic agents to learn pick and place with deep learning for vision-based manipulation in PyBullet. Transporter Nets, CoRL 2020.
Stars: ✭ 133 (-72.86%)
Mutual labels:  openai-gym, imitation-learning
Gym Duckietown
Self-driving car simulator for the Duckietown universe
Stars: ✭ 379 (-22.65%)
Mutual labels:  openai-gym, imitation-learning
Coach
Reinforcement Learning Coach by Intel AI Lab enables easy experimentation with state of the art Reinforcement Learning algorithms
Stars: ✭ 2,085 (+325.51%)
Mutual labels:  openai-gym, imitation-learning
Deterministic Gail Pytorch
PyTorch implementation of Deterministic Generative Adversarial Imitation Learning (GAIL) for Off Policy learning
Stars: ✭ 44 (-91.02%)
Mutual labels:  openai-gym, imitation-learning
vnla
Code accompanying the CVPR 2019 paper: https://arxiv.org/abs/1812.04155
Stars: ✭ 60 (-87.76%)
Mutual labels:  imitation-learning, nlp-machine-learning
Nlp Conference Compendium
Compendium of the resources available from top NLP conferences.
Stars: ✭ 349 (-28.78%)
Mutual labels:  nlp-machine-learning
Tensorflow Tutorial Samples
TensorFlow2教程 TensorFlow 2.0 Tutorial 入门教程实战案例
Stars: ✭ 398 (-18.78%)
Mutual labels:  openai-gym
Gym Miniworld
Simple 3D interior simulator for RL & robotics research
Stars: ✭ 338 (-31.02%)
Mutual labels:  openai-gym
Contextualized Topic Models
A python package to run contextualized topic modeling. CTMs combine BERT with topic models to get coherent topics. Also supports multilingual tasks. Cross-lingual Zero-shot model published at EACL 2021.
Stars: ✭ 318 (-35.1%)
Mutual labels:  nlp-machine-learning
Rl Book
Source codes for the book "Reinforcement Learning: Theory and Python Implementation"
Stars: ✭ 464 (-5.31%)
Mutual labels:  openai-gym
Mushroom Rl
Python library for Reinforcement Learning.
Stars: ✭ 442 (-9.8%)
Mutual labels:  openai-gym
Deep Reinforcement Learning
Repo for the Deep Reinforcement Learning Nanodegree program
Stars: ✭ 4,012 (+718.78%)
Mutual labels:  openai-gym
Tf2rl
TensorFlow2 Reinforcement Learning
Stars: ✭ 353 (-27.96%)
Mutual labels:  imitation-learning
Hands On Nltk Tutorial
The hands-on NLTK tutorial for NLP in Python
Stars: ✭ 419 (-14.49%)
Mutual labels:  nlp-machine-learning
Lingua
👄 The most accurate natural language detection library for Java and the JVM, suitable for long and short text alike
Stars: ✭ 341 (-30.41%)
Mutual labels:  nlp-machine-learning
Rl Portfolio Management
Attempting to replicate "A Deep Reinforcement Learning Framework for the Financial Portfolio Management Problem" https://arxiv.org/abs/1706.10059 (and an openai gym environment)
Stars: ✭ 447 (-8.78%)
Mutual labels:  openai-gym
Irl Imitation
Implementation of Inverse Reinforcement Learning (IRL) algorithms in python/Tensorflow. Deep MaxEnt, MaxEnt, LPIRL
Stars: ✭ 333 (-32.04%)
Mutual labels:  imitation-learning
Reinforcement learning tutorial with demo
Reinforcement Learning Tutorial with Demo: DP (Policy and Value Iteration), Monte Carlo, TD Learning (SARSA, QLearning), Function Approximation, Policy Gradient, DQN, Imitation, Meta Learning, Papers, Courses, etc..
Stars: ✭ 442 (-9.8%)
Mutual labels:  imitation-learning
Home Platform
HoME: a Household Multimodal Environment is a platform for artificial agents to learn from vision, audio, semantics, physics, and interaction with objects and other agents, all within a realistic context.
Stars: ✭ 370 (-24.49%)
Mutual labels:  openai-gym
Text mining resources
Resources for learning about Text Mining and Natural Language Processing
Stars: ✭ 358 (-26.94%)
Mutual labels:  nlp-machine-learning

BabyAI 1.1

Build Status

BabyAI is a platform used to study the sample efficiency of grounded language acquisition, created at Mila.

The master branch of this repository is updated frequently. If you are looking to replicate or compare against the baseline results, we recommend you use the BabyAI 1.1 branch and cite both:

@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}
}

and the ICLR19 paper, which details the experimental setup and BabyAI 1.0 baseline results. Its source code is in the iclr19 branch:

@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},
}

This README covers instructions for installation and troubleshooting. Other instructions are:

Installation

Conda (Recommended)

If you are using conda, you can create a babyai environment with all the dependencies by running:

git clone https://github.com/mila-iqia/babyai.git
cd babyai
conda env create -f environment.yaml
source activate babyai

After that, execute the following commands to setup the environment.

cd ..
git clone https://github.com/maximecb/gym-minigrid.git
cd gym-minigrid
pip install --editable .

The last command installs the repository in editable mode. Move back to the babyai repository and install that in editable mode as well.

cd ../babyai
pip install --editable .

Finally, follow these instructions

Manual Installation

Requirements:

  • Python 3.6+
  • OpenAI Gym
  • NumPy
  • PyTorch 0.4.1+
  • blosc

First install PyTorch for on your platform.

Then, clone this repository and install the other dependencies with pip3:

git clone https://github.com/mila-iqia/babyai.git
cd babyai
pip3 install --editable .

Finally, follow these instructions

BabyAI Storage Path

Add this line to .bashrc (Linux), or .bash_profile (Mac).

export BABYAI_STORAGE='/<PATH>/<TO>/<BABYAI>/<REPOSITORY>/<PARENT>'

where /<PATH>/<TO>/<BABYAI>/<REPOSITORY>/<PARENT> is the folder where you typed git clone https://github.com/mila-iqia/babyai.git earlier.

Models, logs and demos will be produced in this directory, in the folders models, logs and demos respectively.

Downloading the demos

These can be downloaded here

Ensure the downloaded file has the following md5 checksum (obtained via md5sum): 1df202ef2bbf2de768633059ed8db64c

before extraction:

gunzip -c copydemos.tar.gz | tar xvf -

Using the pixels architecture does not work with imitation learning, because the demonstrations were not generated to use pixels.

Troubleshooting

If you run into error messages relating to OpenAI gym, it may be that the version of those libraries that you have installed is incompatible. You can try upgrading specific libraries with pip3, eg: pip3 install --upgrade gym. If the problem persists, please open an issue on this repository and paste a complete error message, along with some information about your platform (are you running Windows, Mac, Linux? Are you running this on a Mila machine?).

Pixel Observations

Please note that the default observation format is a partially observable view of the environment using a compact encoding, with 3 input values per visible grid cell, 7x7x3 values total. These values are not pixels. If you want to obtain an array of RGB pixels as observations instead, use the RGBImgPartialObsWrapper. You can use it as follows:

import babyai
from gym_minigrid.wrappers import *
env = gym.make('BabyAI-GoToRedBall-v0')
env = RGBImgPartialObsWrapper(env)

This wrapper, as well as other wrappers to change the observation format can be found here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].