TeachMyAgent is a testbed platform for Automatic Curriculum Learning methods in Deep RL.

Overview

TeachMyAgent: a Benchmark for Automatic Curriculum Learning in Deep RL


TeachMyAgent is a testbed platform for Automatic Curriculum Learning methods. We leverage Box2D procedurally generated environments to assess the performance of teacher algorithms in continuous task spaces. Our repository provides:

  • Two parametric Box2D environments: Stumps Tracks and Parkour
  • Multiple embodiments with different locomotion skills (e.g. bipedal walker, spider, climbing chimpanzee, fish)
  • Two Deep RL students: SAC and PPO
  • Several ACL algorithms: ADR, ALP-GMM, Covar-GMM, SPDL, GoalGAN, Setter-Solver, RIAC
  • Two benchmark experiments using elements above: Skill-specific comparison and global performance assessment
  • Three notebooks for systematic analysis of results using statistical tests along with visualization tools (plots, videos...) allowing to reproduce our figures

See our documentation for an exhaustive list.

global_schema

Using this, we performed a benchmark of the previously mentioned ACL methods which can be seen in our paper. We also provide additional visualization on our website.

Installation

1- Get the repository

git clone https://github.com/flowersteam/TeachMyAgent
cd TeachMyAgent/

2- Install it, using Conda for example (use Python >= 3.6)

conda create --name teachMyAgent python=3.6
conda activate teachMyAgent
pip install -e .

Note: For Windows users, add -f https://download.pytorch.org/whl/torch_stable.html to the pip install -e . command.

Import baseline results from our paper

In order to benchmark methods against the ones we evaluated in our paper you must download our results:

  1. Go to the notebooks folder
  2. Make the download_baselines.sh script executable: chmod +x download_baselines.sh
  3. Download results: ./download_baselines.sh

WARNING: This will download a zip weighting approximayely 4.5GB. Then, our script will extract the zip file in TeachMyAgent/data. Once extracted, results will weight approximately 15GB.

Usage

See our documentation for details on how to use our platform to benchmark ACL methods.

Development

See CONTRIBUTING.md for details.

Citing

If you use TeachMyAgent in your work, please cite the accompanying paper:

@inproceedings{romac2021teachmyagent,
  author    = {Cl{\'{e}}ment Romac and
               R{\'{e}}my Portelas and
               Katja Hofmann and
               Pierre{-}Yves Oudeyer},
  title     = {TeachMyAgent: a Benchmark for Automatic Curriculum Learning in Deep
               {RL}},
  booktitle = {Proceedings of the 38th International Conference on Machine Learning,
               {ICML} 2021, 18-24 July 2021, Virtual Event},
  series    = {Proceedings of Machine Learning Research},
  volume    = {139},
  pages     = {9052--9063},
  publisher = {{PMLR}},
  year      = {2021}
}
Comments
  • Fix python compatibility

    Fix python compatibility

    Hi,

    The problem associated with this RP is presented on issue #4 .

    Instead of having tensorflow-gpu in the requirements, I suggest you to do like in the openai/baselines repo : just check that TensorFlow is installed. This allows people like me who don't have a gpu to be able to install the package anyway, without having to manually replace tensorflow-gpu with tensorflow in setup.py.

    Regards.

    opened by qgallouedec 4
  • Question about Running on GPU

    Question about Running on GPU

    Hi there,

    Thank you very much for proposing the benchmark for ACL which is very much needed. Really great work! I'm interested in the work you've done and was trying to run some experiments. I found even I set the gpu id the code will still be running on cpu. I was wondering running on gpu is not included yet or I missed something?

    Thank you very much for your great work!

    Best, Zhao

    opened by yangzhao-666 3
  • Fix missing ACL_bench imports

    Fix missing ACL_bench imports

    The line import ACL_bench prevents run.py from launching in a clean repository. I'm not exactly sure if this change is 100% correct, but at least I'm able to launch the run script.

    opened by meln1k 0
  • Can't Setup TeachMyAgent with python 3.6

    Can't Setup TeachMyAgent with python 3.6

    Hi, Thanks for the repo and the paper!

    I tried setting this repo up with as many package versions as possible but none seem to work for me. Could you let me know the exact version of tensorflow, dm-sonnet, gym, and all other packages you are using? Or provide the requirements.txt for a non-gpu system that has this repo working?

    Even this simple setup code fails for me: conda create --name teachMyAgent python=3.6 conda activate teachMyAgent pip install -e .

    The error I get: ...AssertionError: TensorFlow needed, of version above 1.4

    Even after I install this version of tensorflow, something else breaks. Then fixing that, something else breaks.

    opened by akarshkumar0101 0
  • Installation failed for python >=3.8

    Installation failed for python >=3.8

    Hi,

    Hi, thanks for your great work. The installation doesn't work for python versions after 3.8. This is due to the dependency on tensorflow-gpu<2, see the TensorFlow system requirements.

    I am opening a PR to fix this.

    opened by qgallouedec 1
Owner
Flowers Team
Flowers Team
Deep Learning: Architectures & Methods Project: Deep Learning for Audio Super-Resolution

Deep Learning: Architectures & Methods Project: Deep Learning for Audio Super-Resolution Figure: Example visualization of the method and baseline as a

Oliver Hahn 16 Dec 23, 2022
An integration of several popular automatic augmentation methods, including OHL (Online Hyper-Parameter Learning for Auto-Augmentation Strategy) and AWS (Improving Auto Augment via Augmentation Wise Weight Sharing) by Sensetime Research.

An integration of several popular automatic augmentation methods, including OHL (Online Hyper-Parameter Learning for Auto-Augmentation Strategy) and AWS (Improving Auto Augment via Augmentation Wise Weight Sharing) by Sensetime Research.

null 45 Dec 8, 2022
aka "Bayesian Methods for Hackers": An introduction to Bayesian methods + probabilistic programming with a computation/understanding-first, mathematics-second point of view. All in pure Python ;)

Bayesian Methods for Hackers Using Python and PyMC The Bayesian method is the natural approach to inference, yet it is hidden from readers behind chap

Cameron Davidson-Pilon 25.1k Jan 2, 2023
A PyTorch-based open-source framework that provides methods for improving the weakly annotated data and allows researchers to efficiently develop and compare their own methods.

Knodle (Knowledge-supervised Deep Learning Framework) - a new framework for weak supervision with neural networks. It provides a modularization for se

null 93 Nov 6, 2022
Implementation of temporal pooling methods studied in [ICIP'20] A Comparative Evaluation Of Temporal Pooling Methods For Blind Video Quality Assessment

Implementation of temporal pooling methods studied in [ICIP'20] A Comparative Evaluation Of Temporal Pooling Methods For Blind Video Quality Assessment

Zhengzhong Tu 5 Sep 16, 2022
Code of our paper "Contrastive Object-level Pre-training with Spatial Noise Curriculum Learning"

CCOP Code of our paper Contrastive Object-level Pre-training with Spatial Noise Curriculum Learning Requirement Install OpenSelfSup Install Detectron2

Chenhongyi Yang 21 Dec 13, 2022
Codes for AAAI22 paper "Learning to Solve Travelling Salesman Problem with Hardness-Adaptive Curriculum"

Paper For more details, please see our paper Learning to Solve Travelling Salesman Problem with Hardness-Adaptive Curriculum which has been accepted a

null 14 Sep 30, 2022
Automatic self-diagnosis program (python required)Automatic self-diagnosis program (python required)

auto-self-checker 자동으로 자가진단 해주는 프로그램(python 필요) 중요 이 프로그램이 실행될때에는 절대로 마우스포인터를 움직이거나 키보드를 건드리면 안된다(화면인식, 마우스포인터로 직접 클릭) 사용법 프로그램을 구동할 폴더 내의 cmd창에서 pip

null 1 Dec 30, 2021
PyTorch code for the paper "Curriculum Graph Co-Teaching for Multi-target Domain Adaptation" (CVPR2021)

PyTorch code for the paper "Curriculum Graph Co-Teaching for Multi-target Domain Adaptation" (CVPR2021) This repo presents PyTorch implementation of M

Evgeny 79 Dec 19, 2022
Awesome Deep Graph Clustering is a collection of SOTA, novel deep graph clustering methods

ADGC: Awesome Deep Graph Clustering ADGC is a collection of state-of-the-art (SOTA), novel deep graph clustering methods (papers, codes and datasets).

yueliu1999 297 Dec 27, 2022
Python package facilitating the use of Bayesian Deep Learning methods with Variational Inference for PyTorch

PyVarInf PyVarInf provides facilities to easily train your PyTorch neural network models using variational inference. Bayesian Deep Learning with Vari

null 342 Dec 2, 2022
Use deep learning, genetic programming and other methods to predict stock and market movements

StockPredictions Use classic tricks, neural networks, deep learning, genetic programming and other methods to predict stock and market movements. Both

Linda MacPhee-Cobb 386 Jan 3, 2023
Road Crack Detection Using Deep Learning Methods

Road-Crack-Detection-Using-Deep-Learning-Methods This is my Diploma Thesis ¨Road Crack Detection Using Deep Learning Methods¨ under the supervision of

Aggelos Katsaliros 3 May 3, 2022
Code for "Intra-hour Photovoltaic Generation Forecasting based on Multi-source Data and Deep Learning Methods."

pv_predict_unet-lstm Code for "Intra-hour Photovoltaic Generation Forecasting based on Multi-source Data and Deep Learning Methods." IEEE Transactions

FolkScientistInDL 8 Oct 8, 2022
This source code is implemented using keras library based on "Automatic ocular artifacts removal in EEG using deep learning"

CSP_Deep_EEG This source code is implemented using keras library based on "Automatic ocular artifacts removal in EEG using deep learning" {https://www

Seyed Mahdi Roostaiyan 2 Nov 8, 2022
A Web API for automatic background removal using Deep Learning. App is made using Flask and deployed on Heroku.

Automatic_Background_Remover A Web API for automatic background removal using Deep Learning. App is made using Flask and deployed on Heroku. ?? https:

Gaurav 16 Oct 29, 2022
Automatic deep learning for image classification.

AutoDL AutoDL automates machine learning tasks enabling you to easily achieve strong predictive performance in your applications. With just a few line

wenqi 2 Oct 12, 2022
LeafSnap replicated using deep neural networks to test accuracy compared to traditional computer vision methods.

Deep-Leafsnap Convolutional Neural Networks have become largely popular in image tasks such as image classification recently largely due to to Krizhev

Sujith Vishwajith 48 Nov 27, 2022
Deep RGB-D Saliency Detection with Depth-Sensitive Attention and Automatic Multi-Modal Fusion (CVPR'2021, Oral)

DSA^2 F: Deep RGB-D Saliency Detection with Depth-Sensitive Attention and Automatic Multi-Modal Fusion (CVPR'2021, Oral) This repo is the official imp

如今我已剑指天涯 46 Dec 21, 2022