Giter Site home page Giter Site logo

mqn-pong's Introduction

Implementation of a Memory-Q-Network using keras and a slightly modified keras-rl. WIP

Usage:

python MQN.py [weights_name].h5 [train || test] [options = (debug, )]

[weights_name] will be the name of a file containing the weights for the network (in .h5 format). The weights will be loaded prior to any training or testing.

If this file does not exist and you specify train, then a folder with the name [weights_name] will be created in the directory ./data (which will also be created if it does not exist). Then once your model has finished training, the program will save the model weights, hyperparameters, and training metrics in this folder.

If you specify test then the model will be tested on an environment without any training.

[options] are optional arguments. Currently only a debug option is implemented.

Dependencies:

  • Keras v2.0.8
  • Numpy
  • Matplotlib
  • Seaborn
  • h5py
  • (might be more)

OpenAI Gym is packaged as part of the repo - this was for portability reasons. It's also easier to make new environments this way.

TODO:

  • Change naming conventions for cmd. line args ([weights_name].h5 should just be [model_name])
  • Automatic model initialization from hyperparameters
  • A setup.py to easily install dependencies
  • Test mode callbacks / data recording
  • Containerization for easier portability (maybe?)

mqn-pong's People

Contributors

p-mart avatar frankyliangg avatar

Watchers

James Cloos avatar mao_xu 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.