janhuenermann/neurojs
A JavaScript deep learning and reinforcement learning library.
repo name | janhuenermann/neurojs |
repo link | https://github.com/janhuenermann/neurojs |
homepage | http://janhuenermann.com/projects/learning-to-drive |
language | JavaScript |
size (curr.) | 19383 kB |
stars (curr.) | 4300 |
created | 2016-09-18 |
license | MIT License |
neurojs is a JavaScript framework for deep learning in the browser. It mainly focuses on reinforcement learning, but can be used for any neural network based task. It contains neat demos to visualise these capabilities, for instance a 2D self-driving car.
Feel free to contribute. The development on such projects is more awesome in a community!
Note: this repo is no longer maintained since more general frameworks such as TensorFlow-JS emerged, which I recommend you to use.
Features
- Implements a full-stack neural-network based machine learning framework
- Extended reinforcement-learning support
- Uniform and prioritised replay buffers
- Advantage-learning (increasing the action-gap) https://arxiv.org/pdf/1512.04860v1.pdf
- Support for deep-q-networks and actor-critic models (via deep-deterministic-policy-gradients)
- Binary import and export of network configurations (weights etc.)
- High-performance
Examples
- Self-driving car
- Advanced XOR
- Andrej Karpathy’s Waterworld (ConvNetJS replaced with NeuroJS)
Running the examples
npm install
npm start
Open http://localhost:8080/examples/
in your browser and select the demo you want to run.
What’s next?
- More examples (pong, pendulum, snake,improved cars, etc.)
- Support for web workers
- LSTM and backpropagation through time