{"id":15493509,"url":"https://github.com/sinclairzx81/neuron-gpgpu","last_synced_at":"2025-04-22T20:12:26.302Z","repository":{"id":66034998,"uuid":"95119234","full_name":"sinclairzx81/neuron-gpgpu","owner":"sinclairzx81","description":"GPGPU based implementation of a multi layer perceptron network for the browser.","archived":false,"fork":false,"pushed_at":"2022-03-13T07:39:37.000Z","size":7860,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-22T20:12:20.334Z","etag":null,"topics":["gpgpu","learning","machine","network","neural"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinclairzx81.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-22T13:36:30.000Z","updated_at":"2024-02-23T19:57:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"3f1e47c3-d6a1-4f37-9c8b-0d773da16745","html_url":"https://github.com/sinclairzx81/neuron-gpgpu","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/sinclairzx81%2Fneuron-gpgpu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinclairzx81%2Fneuron-gpgpu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinclairzx81%2Fneuron-gpgpu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinclairzx81%2Fneuron-gpgpu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinclairzx81","download_url":"https://codeload.github.com/sinclairzx81/neuron-gpgpu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250316057,"owners_count":21410476,"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":["gpgpu","learning","machine","network","neural"],"created_at":"2024-10-02T08:07:35.090Z","updated_at":"2025-04-22T20:12:26.297Z","avatar_url":"https://github.com/sinclairzx81.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Neuron\n\nA GPGPU Multi Layer Perception Network for WebGL 2.0\n\n## Overview\n\nThis project is a GPU accellerated Multi Layer Perception Network built for WebGL 2.0. It implements both forward and back propagation on the GPU and is intended to be used for interactive training session. The network only implements tanh activation (-1, 1) so training data needs to map to and from these ranges.\n\nLicense MIT\n\n## Example\n\n```javascript\n\n//------------------------------------------------------\n//  Topology\n//\n//    0 0     \u003c--- input layer\n//  / /|\\ \\\n// 0 0 0 0 0  \u003c--- hidden layer 0\n//  \\ \\|/ /        \n//   0 0 0    \u003c--- hidden layer 1\n//    \\|/\n//     0      \u003c--- output layer\n//\n//------------------------------------------------------\n\nimport {gpu, net} from \"neuron\"\n\nconst context = new gpu.Context()\nconst network = new net.Network(context, [\n  new net.Tensor(2),\n  new net.Tensor(5),\n  new net.Tensor(3),\n  new net.Tensor(1)\n])\n\n//------------------------------------------------------\n// Train for XOR inference\n//------------------------------------------------------\nsetInterval(() =\u003e {\n\n  network.backward([0, 0], [0])  \n  network.backward([0, 1], [1])  \n  network.backward([1, 0], [1])  \n  network.backward([1, 1], [0])\n\n  console.log(0, network.forward([0, 0]))\n  console.log(1, network.forward([0, 1]))\n  console.log(1, network.forward([1, 0]))\n  console.log(0, network.forward([1, 1]))\n\n}, 1)\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinclairzx81%2Fneuron-gpgpu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsinclairzx81%2Fneuron-gpgpu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinclairzx81%2Fneuron-gpgpu/lists"}