# Toy-Neural-Network-JS **Repository Path**: zyc19126346/Toy-Neural-Network-JS ## Basic Information - **Project Name**: Toy-Neural-Network-JS - **Description**: Neural Network JavaScript library for Coding Train tutorials - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-07 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Toy-Neural-Network-JS [![Build Status](https://circleci.com/gh/CodingTrain/Toy-Neural-Network-JS.png?&style=shield&circle-token=:circle-token)](https://circleci.com/gh/CodingTrain/Toy-Neural-Network-JS) Neural Network JavaScript library for Coding Train tutorials ## Examples / Demos Here are some demos running directly in the browser: * [XOR problem](https://codingtrain.github.io/Toy-Neural-Network-JS/examples/xor/), [Coding Challenge on YouTube](https://www.youtube.com/watch?v=188B6k_F9jU) * [Handwritten digit recognition](https://codingtrain.github.io/Toy-Neural-Network-JS/examples/mnist/) * [Doodle classifier](https://codingtrain.github.io/Toy-Neural-Network-JS/examples/doodle_classification/), [Coding Challenge on YouTube](https://www.youtube.com/watch?v=pqY_Tn2SIVA&list=PLRqwX-V7Uu6Zs14zKVuTuit6jApJgoYZQ) ## To-Do List * [x] Redo gradient descent video about * [x] Delta weight formulas, connect to "mathematics of gradient" video * [x] Implement gradient descent in library / with code * [x] XOR coding challenge [live example](https://codingtrain.github.io/Toy-Neural-Network-JS/examples/xor/) * [ ] MNIST coding challenge [live example](https://codingtrain.github.io/Toy-Neural-Network-JS/examples/mnist/) * redo this challenge * cover softmax activation, cross-entropy * graph cost function? * only use testing data * [ ] Support for saving / restoring network (see [#50](https://github.com/CodingTrain/Toy-Neural-Network-JS/pull/50)) * [ ] Support for different activation functions (see [#45](https://github.com/CodingTrain/Toy-Neural-Network-JS/pull/45), [#62](https://github.com/CodingTrain/Toy-Neural-Network-JS/pull/62)) * [ ] Support for multiple hidden layers (see [#61](https://github.com/CodingTrain/Toy-Neural-Network-JS/pull/61)) * [ ] Support for neuro-evolution * [ ] play flappy bird (many players at once). * [ ] play pong (many game simulations at once) * [ ] steering sensors (a la Jabril's forrest project!) * [ ] Combine with ml5 / deeplearnjs ## Getting Started If you're looking for the original source code to match the videos [visit this repo](https://github.com/CodingTrain/Rainbow-Code/tree/master/Courses/natureofcode/10.18-toy_neural_network) ### Prerequisites You need to have the following installed: 1. Nodejs 2. NPM 3. Install the NodeJS dependencies via the following command: ``` npm install ``` ### Installing This Project doesn't require any additional Installing steps ### Documentation * `NeuralNetwork` - The neural network class * `predict(input_array)` - Returns the output of a neural network * `train(input_array, target_array)` - Trains a neural network ## Running the tests The Tests can either be checked via the automaticly running CircleCI Tests or you can also run `npm test` on your PC after you have done the Step "Prerequisites" ## Built With * [Nodejs](https://nodejs.org/) - The code language used * [CircleCI](https://circleci.com/) - Automated Test Service * [Jest](https://facebook.github.io/jest/) - Testing Framework used ## Contributing Please send PullRequests. These need to pass a automated Test first and after it will get reviewed and on that review either denied or accepted. ## Libraries built by the community Here are some libraries with the same or similar functionality to this one built by the community: - [Java Neural Network Library](https://github.com/kim-marcel/basic_neural_network) by [kim-marcel](https://github.com/kim-marcel) - [Library-less Java Neural Network](https://github.com/Fir3will/Java-Neural-Network) by [Fir3will](https://github.com/Fir3will) - [Python Neural Network Library](https://github.com/Gabriel-Teston/Machine-Learning) by [Gabriel-Teston](https://github.com/Gabriel-Teston) - [Python Neural Network Library](https://github.com/GypsyDangerous/simple-deep-neural-network/blob/master/README.md) by [David Snyder](https://github.com/GypsyDangerous) - [JavaScript Multi-Layer Neural Network Library](https://github.com/notshekhar/neuralnet) by [Shekhar Tyagi](https://github.com/notshekhar) - [F# Neural Network Library](https://github.com/jackroi/NeuralNetwork-fsharp) by [jackroi](https://github.com/jackroi) - [TinyNeuralNetwork4Java](https://github.com/anirudhgiri/TinyNN4J) by [Anirudh Giri](https://github.com/anirudhgiri) - [miniANN Neural Network Library JavaScript](https://github.com/savvysiddharth/mini-ANN-js) by [Siddharth Maurya](https://github.com/savvysiddharth) Feel free to add your own libraries. ## Versioning We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/CodingTrain/Toy-Neural-Network-JS/tags). ## Authors * **shiffman** - *Initial work* - [shiffman](https://github.com/shiffman) See also the list of [contributors](https://github.com/CodingTrain/Toy-Neural-Network-JS/contributors) who participated in this project. ## License This project is licensed under the terms of the MIT license, see LICENSE.