• Stars
    star
    139
  • Rank 262,954 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 6 years ago
  • Updated over 2 years ago

Reviews

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

Repository Details

Clone of OpenAI's Spinning Up in PyTorch

Welcome to Fired Up in Deep RL!

This is a clone of OpenAI's Spinning Up in PyTorch. Spinning Up is an awesome educational resource produced by Josh Achiam, a research scientist at OpenAI, that makes it easier to learn about deep reinforcement learning (deep RL).

Installation

Fired Up requires Python3, PyTorch, OpenAI Gym, and OpenMPI.

Fired Up is currently only supported on Linux and OSX. It may be possible to install on Windows, though I haven't tested this OS.

Installing Python

We recommend installing Python through Anaconda. Anaconda is a Python distribution that includes many useful packages especially for scientific computing, as well as an environment manager called conda that makes package management simple.

Download and install Anaconda 2018.x (at time of writing, 2018.12) Python 3.7. Then create a conda environment for organizing packages used in Fired Up:

conda create -n firedup python=3.7

To use Python from the environment you just created, activate the environment with:

source activate firedup

You can alternatively use virtualenv with the Python3 version you have. Just install it via pip3 and then:

virtualenv firedup

To activate this virtual environment you need to:

source /path/to/firedup/bin/activate

Installing OpenMPI

Ubuntu

sudo apt update && sudo apt install libopenmpi-dev

Mac OS X

Installation of system packages on Mac requires Homebrew. With Homebrew installed, run the following:

brew install openmpi

Installing Fired Up

git clone https://github.com/kashif/firedup.git
cd firedup
pip install -e .

Fired Up defaults to installing everything in Gym except the MuJoCo environments.

Check Your Install

To see if you've successfully installed Fired Up, try running PPO in the LunarLander-v2 environment with:

python -m fireup.run ppo --hid "[32,32]" --env LunarLander-v2 --exp_name installtest --gamma 0.999

After it finishes training, watch a video of the trained policy with:

python -m fireup.run test_policy data/installtest/installtest_s0

And plot the results with:

python -m fireup.run plot data/installtest/installtest_s0

Algorithms

The following algorithms are implemented in the Fired Up package:

  • Vanilla Policy Gradient (VPG)
  • Trust Region Policy Optimization (TRPO)
  • Proximal Policy Optimization (PPO)
  • Deep Q-Network (DQN)
  • Deep Deterministic Policy Gradient (DDPG)
  • Twin Delayed DDPG (TD3)
  • Soft Actor-Critic (SAC)

They are all implemented with MLP (non-recurrent) actor-critics, making them suitable for fully-observed, non-image-based RL environments, e.g. the Gym Mujoco environments.

Citation

If you use Fired Up in your research please use the following BibTeX entry:

@misc{rasulfiredup,
  author =       {Kashif Rasul and Joshua Achiam},
  title =        {Fired Up},
  howpublished = {\url{https://github.com/kashif/firedup/}},
  year =         {2019}
}

More Repositories

1

node-cuda

NVIDIA CUDAβ„’ bindings for Node.js
C++
411
star
2

pytorch-transformer-ts

Repository of Transformer based PyTorch Time Series Models
Jupyter Notebook
287
star
3

tf-keras-tutorial

tf.keras + tf.data with Eager Execution
Jupyter Notebook
74
star
4

node-geos

GEOS (Geometry Engine) bindings for Node.js
C++
57
star
5

cuda-workshop

Code examples for the CUDA workshop
C
34
star
6

ceres-solver

A Nonlinear Least Squares Minimizer
C++
32
star
7

mathematica_cuda

Mathematica plug-in for CUDA
C
21
star
8

evolver

Ken Brakke's Surface Evolver
C
14
star
9

uncertainty-metrics

Welcome to Uncertainty Metrics! The goal of this library is to provide an easy-to-use interface for both measuring uncertainty across Google and the open-source community.
Python
14
star
10

NsfwDetector

Yahoo's Open NSFW detector with Core ML
Swift
13
star
11

vq-tr

VQ-TR repository
Jupyter Notebook
7
star
12

gocuda

Go bindings for CUDA
Go
6
star
13

time_match

Jupyter Notebook
5
star
14

pusher-parse

Pusher cloud module for Parse
JavaScript
5
star
15

pytorch-workshop

Jupyter Notebook
5
star
16

pytorch-relational-rnn

Jupyter Notebook
4
star
17

FindMathLink

CMake script to create external applications that communicate with Mathematica via MathLink
C
3
star
18

geoping

An open source Merb ping server that provides updates for the GeoWeb
Ruby
3
star
19

SciGo

SciGo is provides a collection of scientific computing functions for Go
Go
3
star
20

spatialite_adaptor

An Active Record plugin for Spatialite which is a SQLite extension to support spatial data.
Ruby
2
star
21

ports

Geospatial MacPorts
2
star
22

holmesplace

A rails backed iPhone App to show the timetable for Holmes Place
JavaScript
2
star
23

mapwarper

online map rectifier
JavaScript
2
star
24

rcurand

Nvidia's CURAND GPU random number host API bindings for R.
R
2
star
25

terrorpak

TerrorPak is an attempt to visualize the recent deadly string of terror attacks in Pakistan on a timeline and a map.
Ruby
2
star
26

geo-overlays

Gentoo ebuilds for latest versions of some geo application.
1
star