Git Product home page Git Product logo

pytorl's Introduction

PyToRL: PyTorch Toolbox for Reinforcement Learning

[PROJECT CURRENTLY UNDER DEVELOPMENT]

 

Simple Description:

This project, named pytorl, is intended to be an RL toolbox for pytorch and 
contains RL algorithm implementations using this pytorl toolbox. As I am 
currently learning RL, I am going to update this project with other agents, 
algorithms and faster or more efficient implementations soon. 

 

Current Progress:

Implemented 4 DQN(and its variants) algorithms and a distributed DQN learning
algorithm named Gorila via parameter server architecture. Will move on to A2C,
A3C, TRPO, PPO ...

Note that I use slurm for distributed RL training since my work is done on
clusters, but I still provide a "local run" option which helps the project runs
without slurm :).

 

Some Dependencies Currently Used for Developing:

gym == 0.10.11 with atari
numpy == 1.14.3
python == 3.6.5
pytorch == 1.0.1
tensorboard = 1.9.0
tensorboardX == 1.4

 

Simple Setup from Scratch:

# 1. clone this repo to local
$ git clone <this repo address>.git
# 2. run simple setup script
# the <path> here is where you want to put your experiments latter on
# your experiments launched by this toolbox provided "rl-run" entry will be 
# automatically moved to the <path> and start executing at there rather than
# running directly at the dir currently you are working on, good for developing
$ python dev_setup.py -dir <path>

 

Run Example Projects after Setup:

# run_project folder contains scripts for job starting
$ cd examples/<project main folder>/run_project
$ sh <script filename> [-h] <options>
# for example, you can try sh ATARI.sh -N testrun --local
# you can always use sh <script filename> [-h] for options help

 

Demo of Some RL Results:

pong-v4_various_smooth
(reward/episode while training ale atari PongNoFrameskip-v4 via diff. DQN algorithms)

 

Acknowledgements:

  1. During the development, I referred to some helpful resources, listed as follows:
    • @qfettes/DeepRL-Tutorials repo for nice tutorials and designs
    • @openai/baselines for some implementations
    • my mentor and colleague Huabin Zheng (https://dblp.org/pers/hd/z/Zheng:Huabin)
      for technical consultation and extraordinary design ideas
    • other helpful sources and geniuses from websites such as stackoverflow, GeeksforGeeks, etc.
    Thanks them all for making our open source world a better place! :) 

pytorl's People

Contributors

kareido avatar

Stargazers

Nitin Kishore Sai Samala avatar liyang avatar Weijiang Yu avatar Tianjian Meng avatar Siwen Wang avatar  avatar DI HUANG avatar Pingchuan Ma avatar Yudian Li avatar  avatar

Watchers

James Cloos avatar Tiankang Xie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.