Giter Club home page Giter Club logo

multi_agent_deep_reinforcement_learning's Introduction

Multi Agent Deep Reinforcement Learning For Autonomous Vehicle Relocation

Summary

Autonomous vehicles are becoming more common in city transportation. Companies will begin to find a need to teach these vehicles smart city fleet coordination. Currently, simulation based modeling along with hand coded rules dictate the decision making of these autonomous vehicles. We believe that complex intelligent behavior can be learned by these agents through Reinforcement Learning.

Model Description

In this repo, we discuss our work for solving this system by adapting the Deep Q-Learning (DQN) model to the multi-agent setting. Our approach applies deep reinforcement learning by combining convolutional neural networks with DQN to teach agents to fulfill customer demand in an environment that is partially observable to them.

For more details, the draft of the white paper can be found in the repo.

Downloading & Using the API

  1. Download Docker. If you are on Mac or Windows, Docker Compose will be automatically installed. On Linux, make sure you have the latest version of Compose. If you're using Docker for Windows on Windows 10 pro or later, you must also switch to Linux containers.

Install the Community Edition for Ubuntu here.

If you are using a machine that has GPUs enabled install the nvidia docker here.

This requires CUDA Toolkit Version 8+ and CuDnn 5+, more info can be found here.

  1. Navigate to the root folder where the Dockerfile exists and build the docker image using the following Docker command:

    docker build -t [NAME]:[VERSION] .

  2. Start the API using the following Docker command:

    { docker run --runtime=nvidia -p [5001]:[5001] -i -t [NAME]:[VERSION] }

    Use the parameter --runtime=nvidia if you are running the Nvidia Docker

  3. Open the user interface in the browser by going to http://localhost:5001/initialize

  4. Open up the index.html file (Will be hosting the backend as an api on a aws route, currently just using localhost)

If you can't seem to get Docker working on your local system, you can try the following steps.

  1. Download Anaconda with Python 2.7 here.
  2. Conda Install: (numpy, Flask, h5py, keras, theano)
  3. cd app, and Run python main.py

The model should be able to run on your local machines CPU.

Contributors

[email protected]

multi_agent_deep_reinforcement_learning's People

Contributors

canepunma avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

multi_agent_deep_reinforcement_learning's Issues

Problem with converting CNN input

File "/home/lukas/Desktop/Multi_Agent_Deep_Reinforcement_Learning-master/GridWorld_Game_Formulation_Final.py", line 65, in loadModel

ValueError: Negative dimension size caused by subtracting 3 from 2 for 'conv2d_2/convolution' (op: 'Conv2D') with input shapes: [?,2,8,32], [3,3,32,32].

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.