• Stars
    star
    213
  • Rank 184,338 (Top 4 %)
  • Language
    Python
  • License
    Other
  • Created over 7 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This repo is intended as an extension for OpenAI Gym for auxiliary tasks (multitask learning, transfer learning, inverse reinforcement learning, etc.)

gym-extensions

This python package is an extension to OpenAI Gym for auxiliary tasks (multitask learning, transfer learning, inverse reinforcement learning, etc.)

Dependencies

Installation

Check out the latest code:

git clone https://github.com/Breakend/gym-extensions-multitask.git

Install without MuJoCo Support

pip3 install -e .

Install with MuJoCo Support

Install MuJoCo according to mujoco-py.

  1. Obtain license for MuJoCo
  2. Download MuJoCo 1.50 binaries
  3. Unzip into mjpro150 directory ~/.mujoco/mjproj150 and place license at ~/.mujoco/mjkey.txt
  4. Finally, install gym-extensions with mujoco-py enabled:
pip3 install -e .[mujoco]

Test Installation

nosetests -v gym_extensions

Possible Issues

Due to the dependency on OpenAI gym you may have some trouble when installing gym on macOS, to remedy:

# as per: https://github.com/openai/gym/issues/164
export MACOSX_DEPLOYMENT_TARGET=10.12; pip install -e .

Also, if you get the following error:

>>> import matplotlib.pyplot
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "~/anaconda2/lib/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "~/anaconda2/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "~/anaconda2/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.py", line 19, in <module>
    raise ImportError("Gtk* backend requires pygtk to be installed.")
ImportError: Gtk* backend requires pygtk to be installed.

the easiest fix is to switch backends for matplotlib. You can do this by setting backend: TkAgg in ~/.config/matplotlib/matplotlibrc or ~/.matplotlib/matplotlibrc

Usage

For specific environments (you don't necessarily want to import the whole project)

from gym_extensions.continuous import gym_navigation_2d
env = gym.make("State-Based-Navigation-2d-Map1-Goal1-v0")
from gym_extensions.continuous import mujoco
env = gym.make("HopperWall-v0")

More info

More information will be provided on our doc website: https://breakend.github.io/gym-extensions/

Contributions

To contributing environments please use the general directory structure we have in place and provide pull requests. We're still working on making this extension to OpenAI gym the best possible so things may change. Any changes to existing environments should involve an incremental update to the name of the environment (i.e. Hopper-v0 vs. Hopper-v1). If you are not associated with McGill and contribute significantly, please add your association to:

docs/index.md

References

Some of this work borrowed ideas and code from OpenAI rllab and OpenAI Gym. We thank those creators for their work and cite links to reference code inline where possible.

Contributors

Here's a list of contributors!

Who's using this?

Works that have used this framework include:

Klissarov, Martin, Pierre-Luc Bacon, Jean Harb, and Doina Precup. "Learnings Options End-to-End for Continuous Action Tasks." arXiv preprint arXiv:1712.00004 (2017).

Henderson, Peter, Wei-Di Chang, Pierre-Luc Bacon, David Meger, Joelle Pineau, and Doina Precup. "OptionGAN: Learning Joint Reward-Policy Options using Generative Adversarial Inverse Reinforcement Learning." arXiv preprint arXiv:1709.06683 (2017).

Citation for this work!

If you use this work please use the following citation. If using the Space X environment, please also reference @vBarbaros for credit.

@article{henderson2017multitask,
   author = {{Henderson}, P. and {Chang}, W.-D. and {Shkurti}, F. and {Hansen}, J. and 
	{Meger}, D. and {Dudek}, G.},
    title = {Benchmark Environments for Multitask Learning in Continuous Domains},
  journal = {ICML Lifelong Learning: A Reinforcement Learning Approach Workshop},
     year={2017}
}

More Repositories

1

experiment-impact-tracker

Python
266
star
2

DeepReinforcementLearningThatMatters

Accompanying code for "Deep Reinforcement Learning that Matters"
Python
153
star
3

PileOfLaw

A dataset for pretraining language models targeted for legal tasks.
Jupyter Notebook
113
star
4

DialogDatasets

A repository linking to publicly available dialog datasets. Feel free to send pull requests.
HTML
66
star
5

MotionDetection

A project on motion detection in a noisy environment (shaky or moving camera), through background subtraction with single Gaussian models.
C++
47
star
6

OptionGAN

Code accompanying the OptionGAN paper.
Python
43
star
7

echo

Android Mesh Networking Chat with WiFI-Direct
Java
36
star
8

RLSSContinuousControlTutorial

Tutorial on continuous control at Reinforcement Learning Summer School 2017.
Python
34
star
9

ReproducibilityInContinuousPolicyGradientMethods

These are experiments for examining reproducibility in Policy Gradient RL algorithms in Continuous domains. Mainly using the Rllab implementation.
Python
18
star
10

EthicsInDialogue

OpenEdge ABL
15
star
11

MultiStepBootstrappingInRL

Here, we compare Q(\sigma) learning presented by Sutton and Barto in [1] to Tree-Backup, n-step Expected Sarsa, and n-step Sarsa.
Python
14
star
12

SocraticSwarm

A simulator and algorithms using deccentralized receding horizon control for coordinating autonomous UAV systems in completing a search task.
C#
14
star
13

SelfDestructingModels

Python
12
star
14

SarsaVsExpectedSarsa

An a bias-variance tradeoff of Sarsa vs. Expected Sarsa with experiments.
Jupyter Notebook
8
star
15

BayesianPolicyGradients

Python
7
star
16

CMACvTileCode

Python
7
star
17

ValuePolicyIterationVariations

Experiments testing variants of Value and Policy iterations.
Jupyter Notebook
5
star
18

ExperimentsInIRL

Python
4
star
19

TemporalYolo

Experiments on temporal YOLO
Python
4
star
20

WhatShouldICite

This is an informal record of original citations that I'm aware of for key terms in scientific literature. It started because I didn't know what's the original work to cite for eligibility traces and it seems important to do proper credit assignment.
4
star
21

orion-pytorch-ppo-acktr-a2c

An adapted version of the ikostrikov RL algorithm implementation for use with the OrΓ­on hyperparameter optimization framework.
Python
3
star
22

DeepMultiObjectTracking

Python
2
star
23

ClimateChangeFromMachineLearningResearch

Python
2
star
24

drqawrapper

Python
2
star
25

AdversarialGain

Python
2
star
26

echo-laptop

This is the laptop client to to connect to echo nodes
Java
1
star
27

LLM-Tuning-Safety.github.io

CSS
1
star
28

TARProtocols

Dataset of Discovery Validation Protocols
HTML
1
star
29

NeurIPS

A mirror for some of the NeurIPS website content with a new acronym.
HTML
1
star
30

Option-Critic-Turing-Machines

A development toybox and pitch for integrating the option-critic architecture with neural turing machines.
Jupyter Notebook
1
star
31

RL-Energy-Leaderboard

Python
1
star
32

AquaBoxDataset

A dataset for bounding box prediction in underwater environments of the Aqua-family of hexapod robots.
1
star
33

Vulnerabilities-In-Discovery-Tech-Experiment-1

Python
1
star
34

NLPAssignment1

Code for Comp599 Assignment 1 (TAC document classification using simple algos and uni/bigram models)
Python
1
star
35

TemporalDeepQLearning

Experiments in temporal deep Q learning
Python
1
star