GithubHelp home page GithubHelp logo

ayoyu / rl-agents Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 405 KB

Using some reinforcement learning algorithms (DQN, A2C, MCTS, REINFORCE, Qlearning) to solve Mountain Car, CartPol, and Breakout-v0 Problems with Gym and Tensorflow

Python 14.64% Jupyter Notebook 85.36%

rl-agents's Introduction

RL Agents

  • Qlearning (table version)
  • Deep Qlearning (Q_network & Q_target)
  • Monte Carlot Tree Search
  • REINFORCE (Policy gradient)
  • Advantage actor critic (A2C)

Gym Environements:

Mountain Car Problem: OpenAI-Gym

MountainCar

A car is on a one-dimensional track, positioned between two "mountains". The goal is to drive up the mountain on the right; however, the car's engine is not strong enough to scale the mountain in a single pass. Therefore, the only way to succeed is to drive back and forth to build up momentum.

The goal then is to train an agent with reinforcement learning to solve this task.

CartPol Problem: OpenAI-Gym

Cartpol

A pole is attached by an un-actuated joint to a cart, which moves along a frictionless track. The system is controlled by applying a force of +1 or -1 to the cart. The pendulum starts upright, and the goal is to prevent it from falling over. A reward of +1 is provided for every timestep that the pole remains upright. The episode ends when the pole is more than 15 degrees from vertical, or the cart moves more than 2.4 units from the center.

Breakout-v0: OpenAI-Gym

Breakout-v0

Maximize your score in the Atari 2600 game Breakout. In this environment, the observation is an RGB image of the screen, which is an array of shape (210, 160, 3) Each action is repeatedly performed for a duration of kk frames, where kk is uniformly sampled from {2, 3, 4}{2,3,4}.

Create the virtual env (recommended)::

$ virtualenv -p python3.6 myenv
$ source myenv/bin/activate
(myenv)$ pip install -r requirements.txt

Qlearnig (MountainCar-v0):

Train and save the agent:

$ python3 ./QLearning/run.py

load the agent and play:

$ python3 ./QLearning/Evaluate.py

DQN (Breakout-v0): (see the ipynb file)

Monte Carlo Tree Search (Cartpol):

$ python3 ./MonteCarloTreeSearch/MCTS.py

REINFORCE (CartPole):

$ python3 ./REINFORCE/main.py

A2C (CartPole):

Train and save the agent:

$ python3 ./Advantage_Actor_Critic/run.py

load the agent and play:

$ python3 ./Advantage_Actor_Critic/Evaluate.py

rl-agents's People

Contributors

ayoyu avatar

Stargazers

Ziyue Yang avatar

Watchers

James Cloos avatar

Forkers

osundiranay

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.