{"id":13810106,"url":"https://github.com/CodingTrain/Toy-Neural-Network-JS","last_synced_at":"2025-05-14T10:32:26.771Z","repository":{"id":41052346,"uuid":"120012748","full_name":"CodingTrain/Toy-Neural-Network-JS","owner":"CodingTrain","description":"Neural Network JavaScript library for Coding Train tutorials","archived":false,"fork":false,"pushed_at":"2023-03-27T10:25:43.000Z","size":13586,"stargazers_count":420,"open_issues_count":63,"forks_count":241,"subscribers_count":33,"default_branch":"master","last_synced_at":"2024-05-01T09:38:36.951Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CodingTrain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-02-02T17:50:25.000Z","updated_at":"2024-04-28T02:36:28.000Z","dependencies_parsed_at":"2024-01-13T15:44:36.848Z","dependency_job_id":null,"html_url":"https://github.com/CodingTrain/Toy-Neural-Network-JS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodingTrain%2FToy-Neural-Network-JS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodingTrain%2FToy-Neural-Network-JS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodingTrain%2FToy-Neural-Network-JS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodingTrain%2FToy-Neural-Network-JS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodingTrain","download_url":"https://codeload.github.com/CodingTrain/Toy-Neural-Network-JS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254120910,"owners_count":22018064,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T02:00:45.661Z","updated_at":"2025-05-14T10:32:21.757Z","avatar_url":"https://github.com/CodingTrain.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Toy-Neural-Network-JS\n\n![ci](https://github.com/CodingTrain/Toy-Neural-Network-JS/actions/workflows/ci.yml/badge.svg)\n\nNeural Network JavaScript library for Coding Train tutorials\n\n## Examples / Demos\nHere are some demos running directly in the browser:\n* [XOR problem](https://codingtrain.github.io/Toy-Neural-Network-JS/examples/xor/), [Coding Challenge on YouTube](https://www.youtube.com/watch?v=188B6k_F9jU)\n* [Handwritten digit recognition](https://codingtrain.github.io/Toy-Neural-Network-JS/examples/mnist/)\n* [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\u0026list=PLRqwX-V7Uu6Zs14zKVuTuit6jApJgoYZQ)\n\n## To-Do List\n\n* [x] Redo gradient descent video about\n* [x] Delta weight formulas, connect to \"mathematics of gradient\" video\n* [x] Implement gradient descent in library / with code\n* [x] XOR coding challenge [live example](https://codingtrain.github.io/Toy-Neural-Network-JS/examples/xor/)\n* [ ] MNIST coding challenge [live example](https://codingtrain.github.io/Toy-Neural-Network-JS/examples/mnist/)\n    * redo this challenge\n    * cover softmax activation, cross-entropy\n    * graph cost function?\n    * only use testing data\n* [ ] Support for saving / restoring network (see [#50](https://github.com/CodingTrain/Toy-Neural-Network-JS/pull/50))\n* [ ] 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))\n* [ ] Support for multiple hidden layers (see [#61](https://github.com/CodingTrain/Toy-Neural-Network-JS/pull/61))\n* [ ] Support for neuro-evolution\n    * [ ] play flappy bird (many players at once).\n    * [ ] play pong (many game simulations at once)\n    * [ ] steering sensors (a la Jabril's forrest project!)\n* [ ] Combine with ml5 / deeplearnjs\n\n## Getting Started\n\nIf 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)\n\n### Prerequisites\n\nYou need to have the following installed:\n\n1. Nodejs\n2. NPM\n3. Install the NodeJS dependencies via the following command:\n\n```\nnpm install\n```\n\n### Installing\n\nThis Project doesn't require any additional Installing steps\n\n### Documentation\n\n* `NeuralNetwork` - The neural network class\n  * `predict(input_array)` - Returns the output of a neural network\n  * `train(input_array, target_array)` - Trains a neural network\n\n## Running the tests\n\nThe Tests can either be checked via the automatically running CircleCI Tests or you can also run `npm test` on your PC after you have done the Step \"Prerequisites\"\n\n## Built With\n\n* [Nodejs](https://nodejs.org/) - The code language used\n* [CircleCI](https://circleci.com/) - Automated Test Service\n* [Jest](https://facebook.github.io/jest/) - Testing Framework used\n\n## Contributing\n\nPlease send PullRequests. These need to pass a automated Test first and after it will get reviewed and on that review either denied or accepted.\n\n## Libraries built by the community\n\nHere are some libraries with the same or similar functionality to this one built by the community:\n\n- [Java Neural Network Library](https://github.com/kim-marcel/basic_neural_network) by [kim-marcel](https://github.com/kim-marcel)\n- [Library-less Java Neural Network](https://github.com/Fir3will/Java-Neural-Network) by [Fir3will](https://github.com/Fir3will)\n- [Python Neural Network Library](https://github.com/Gabriel-Teston/Machine-Learning) by [Gabriel-Teston](https://github.com/Gabriel-Teston)\n- [Python Neural Network Library](https://github.com/GypsyDangerous/simple-deep-neural-network/blob/master/README.md) by [David Snyder](https://github.com/GypsyDangerous)\n- [JavaScript Multi-Layer Neural Network Library](https://github.com/notshekhar/neuralnet) by [Shekhar Tyagi](https://github.com/notshekhar)\n- [F# Neural Network Library](https://github.com/jackroi/NeuralNetwork-fsharp) by [jackroi](https://github.com/jackroi)\n- [TinyNeuralNetwork4Java](https://github.com/anirudhgiri/TinyNN4J) by [Anirudh Giri](https://github.com/anirudhgiri)\n- [miniANN Neural Network Library JavaScript](https://github.com/savvysiddharth/mini-ANN-js) by [Siddharth Maurya](https://github.com/savvysiddharth)\n- [Convolutional Neural Network Library JavaScript](https://github.com/therealyubraj/CNN_JS) by [Yubraj Sharma](https://github.com/therealyubraj)\n\nFeel free to add your own libraries.\n\n## Versioning\n\nWe 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).\n\n## Authors\n\n* **shiffman** - *Initial work* - [shiffman](https://github.com/shiffman)\n\nSee also the list of [contributors](https://github.com/CodingTrain/Toy-Neural-Network-JS/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the terms of the MIT license, see LICENSE.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCodingTrain%2FToy-Neural-Network-JS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCodingTrain%2FToy-Neural-Network-JS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCodingTrain%2FToy-Neural-Network-JS/lists"}