All Projects → siemanko → Tensorflow Deepq

siemanko / Tensorflow Deepq

Licence: mit
A deep Q learning demonstration using Google Tensorflow

Projects that are alternatives of or similar to Tensorflow Deepq

Rnacocktail
Stars: ✭ 69 (-94.09%)
Mutual labels:  jupyter-notebook
Coding Ninjas Data Structures And Algorithms In Python
Solved problems and assignments of DSA course taught by Coding Ninjas team
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook
Invertinggan
Invert a pre-trained GAN model (includes code for training a GAN on celebA)
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook
Ml101
intro to machine learning - reverse engineering phenomena
Stars: ✭ 69 (-94.09%)
Mutual labels:  jupyter-notebook
Starter Academic
🎓 Easily create a beautiful academic résumé or educational website using Hugo, GitHub, and Netlify
Stars: ✭ 1,158 (-0.77%)
Mutual labels:  jupyter-notebook
Feature Engineering Book
『機械学習のための特徴量エンジニアリング』のサンプルコード集
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook
Pycon2017
Bayesian Machine Learning, https://us.pycon.org/2017/schedule/presentation/232/
Stars: ✭ 69 (-94.09%)
Mutual labels:  jupyter-notebook
Nccu Jupyter Math
這是政治大學應用數學系《數學軟體應用》課程的上課筆記。主要介紹 Python 程式語言, 目標是用 Python 做數據分析。
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook
Handson Ml2
https://github.com/ageron/handson-ml2
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook
Learning Journey
Chisel Learning Journey
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook
Nyumath2048
NYU Math-GA 2048: Scientific Computing in Finance
Stars: ✭ 69 (-94.09%)
Mutual labels:  jupyter-notebook
Lhy dl hw
Stars: ✭ 1,150 (-1.46%)
Mutual labels:  jupyter-notebook
Group Level Emotion Recognition
Model submitted for the ICMI 2018 EmotiW Group-Level Emotion Recognition Challenge
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook
Gds env
A containerised platform for Geographic Data Science
Stars: ✭ 68 (-94.17%)
Mutual labels:  jupyter-notebook
Tensorrt Demo
TensorRT and TensorFlow demo/example (python, jupyter notebook)
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook
Recommender
A recommendation system using tensorflow
Stars: ✭ 69 (-94.09%)
Mutual labels:  jupyter-notebook
Impulcifer
Measurement and processing of binaural impulse responses for personalized surround virtualization on headphones.
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook
Dcc
Implementation of CVPR 2016 paper
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook
Nc Fish Classification
Scripts/notebooks for The Nature Conservancy's fish classification competition
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook
Disease Prediction From Symptoms
Disease Prediction based on Symptoms.
Stars: ✭ 70 (-94%)
Mutual labels:  jupyter-notebook

This reposity is now obsolte!

Check out the new simpler, better performing and more complete implementation that we released at OpenAI:

https://github.com/openai/baselines

(scroll for docs of the obsolete version)
























Reinforcement Learning using Tensor Flow

Quick start

Check out Karpathy game in notebooks folder.

The image above depicts a strategy learned by the DeepQ controller. Available actions are accelerating top, bottom, left or right. The reward signal is +1 for the green fellas, -1 for red and -5 for orange.

Requirements

  • future==0.15.2
  • euclid==0.1
  • inkscape (for animation gif creation)

How does this all fit together.

tf_rl has controllers and simulators which can be pieced together using simulate function.

Using human controller.

Want to have some fun controlling the simulation by yourself? You got it! Use tf_rl.controller.HumanController in your simulation.

To issue commands run in terminal

python3 tf_rl/controller/human_controller.py

For it to work you also need to have a redis server running locally.

Writing your own controller

To write your own controller define a controller class with 3 functions:

  • action(self, observation) given an observation (usually a tensor of numbers) representing an observation returns action to perform.
  • store(self, observation, action, reward, newobservation) called each time a transition is observed from observation to newobservation. Transition is a consequence of action and has associated reward
  • training_step(self) if your controller requires training that is the place to do it, should not take to long, because it will be called roughly every action execution.

Writing your own simulation

To write your own simulation define a simulation class with 4 functions:

  • observe(self) returns a current observation
  • collect_reward(self) returns the reward accumulated since the last time function was called.
  • perform_action(self, action) updates internal state to reflect the fact that aciton was executed
  • step(self, dt) update internal state as if dt of simulation time has passed.
  • to_html(self, info=[]) generate an html visualization of the game. info can be optionally passed an has a list of strings that should be displayed along with the visualization

Creating GIFs based on simulation

The simulate method accepts save_path argument which is a folder where all the consecutive images will be stored. To make them into a GIF use scripts/make_gif.sh PATH where path is the same as the path you passed to save_path argument

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].