Giter Club home page Giter Club logo

unitytensorflowkeras's Introduction

UnityTensorflowKeras

  • It is an extension of Unity ML agent for deep learning, primarily reinforcement learning, with in-editor/in-game training support. It also provides interface for another optimization algorithms such as MAES.

  • It uses a modified version of KerasSharp and TensorflowSharp as the backend, which usesTensorflow c++ lib. No python is needed for model building/evaluation/training. You can even build a standalone(an actual playable game!) with training capability.

  • This repo is made for Aalto University's Intellicent Computational Media course. The course includes two parts: Audio(Python) and Games(Unity and Python), and this repo contains the main materials for the Unity part of the course. This repo is a remake based on the original materials, which are made with CNTK. It will also be part of my master's thesis.

  • Note: This project is still in development. Don't use this unless you know that you have time to check the sourcecodes!

Features:

  • Use your already made Unity ML-Agent, but enable learning in Unity editor/build without python or extra coding.
  • Reinforcement learning(PPO baseline) and supervised learning.
  • Evolution Strategy (using Covariance Matrix Adaption Evolution Strategy(CMA-ES))
  • Examples provided.

Requirements:

  • Unity ML agent v0.6
  • Unity 2018.1.6f1(Should be working with some of the newer versions as well).

Platforms:

  • Windows is almost fully supported. If you want to use GPU, CUDA and cuDNN are needed(Please google CUDA v9.0 and cudnn v7 and install them).
  • Mac should be fully supported if I have a Mac to build, but now it does not have Concat Gradient, which means the agent can not have both visual and vector observations at the same time, and discrete action branching is not supported neither. Mac does not support GPU. - - Linux is not tested at all.
  • Android does not support any type of gradient/training. But you can use trained neural network on it.
  • IOS is not tested at all. (Sorry that I am not a big fan of Apple products because they are expensive)

Documentation

Future Plan:

We plan to keep this repo updated with latest game related machine learning technologies for the course every year.

Possible future plans/contributions:

  • Updating KerasSharp, maybe with some basic recurrent NN.
  • More example environments.
  • Better API for in game usage and keep updated with Unity ML-Agents API.
  • More algorithms including: Complete baseline PPO from ML-Agents(Curiosity Module and GAIL), Deep Q Learning, Deep Mimic, Evolved Policy Gradient, Genetic Algorithms and so on.
  • Improving the logging tool.
  • Graphic editor for neural network architecture

License

MIT.

unitytensorflowkeras's People

Contributors

tcmxx avatar

Watchers

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