{"id":20399161,"url":"https://github.com/alepheleven/neuralnet","last_synced_at":"2026-04-24T12:32:16.223Z","repository":{"id":134739855,"uuid":"587122756","full_name":"AlephEleven/NeuralNet","owner":"AlephEleven","description":"Neural Network library in NumPy✨","archived":false,"fork":false,"pushed_at":"2023-02-06T19:52:31.000Z","size":281,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T01:25:13.932Z","etag":null,"topics":["neural-network","numpy"],"latest_commit_sha":null,"homepage":"","language":"Python","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/AlephEleven.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2023-01-10T02:21:01.000Z","updated_at":"2023-01-18T00:53:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"9e6abdba-05a1-474c-9b77-e7eb6072d5eb","html_url":"https://github.com/AlephEleven/NeuralNet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlephEleven/NeuralNet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlephEleven%2FNeuralNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlephEleven%2FNeuralNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlephEleven%2FNeuralNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlephEleven%2FNeuralNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlephEleven","download_url":"https://codeload.github.com/AlephEleven/NeuralNet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlephEleven%2FNeuralNet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259340515,"owners_count":22843007,"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":["neural-network","numpy"],"created_at":"2024-11-15T04:27:23.822Z","updated_at":"2026-04-24T12:32:11.182Z","avatar_url":"https://github.com/AlephEleven.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NeuralNet\n\nLinear Neural Network library for Python created with pure NumPy\n\n## Table of Contents\n* [Features](#features)\n* [Updates](#updates)\n* [Examples](#examples)\n* [Component Template](#component-template)\n* [Setup](#setup)\n* [Requirements](#requirements)\n\n\n## Features\n- Lightweight library for general-purpose machine learning.\n- Easy-to-use sequential modelling, with 4+ components to choose from.\n- Components for holding backpropagation derivatives and/or weights+bias.\n- Simple implementation for easy development.\n- Includes One-hot encoding, Loss functions and training loop.\n\n## Updates\n- Added 3 more descent algorithms: SGD+Momentum, RMSProp, AdamOptimizer\n- ```display``` parameter to toggle display output during training loop\n\n\u003e - DataLoader, changed how training data is loaded into model\n\u003e - Customize batch sizes and enable shuffling setting for data loading, rather than single label/feature pair.\n\u003e - Added Stochastic Gradient Descent, also abstracted learning rate term for customizable descent algorithms.\n\u003e - ```timed``` parameter for training loop to check current time at each epoch stamp.\n\u003e - Up-to-date examples for Iris \u0026 MNIST.\n\n## Examples\n- [Iris Dataset](../main/examples/Iris.ipynb)\n- [MNIST Dataset](../main/examples/MNIST.ipynb)\n\n## Component Template\n\nStandard templates for creating new components.\n\n### Activation function\n\n```\n@dataclass\nclass Activation:\n  active_dx: np.ndarray = np.zeros(1)\n\n  is_mat: bool = False\n\n  def __call__(self, X, update=True) -\u003e np.ndarray:\n    '''\n    Applies Activation on numpy array, activation(z) = h\n    Derivatives are:\n    dh/dz = ACTIVATION DERIVAITVE\n    '''\n    \n    #ACTIVATION CODE\n    activationX = ...\n\n    if update: \n      #ACTIVATION DERIVATIVE CODE\n      self.active_dx = ...\n\n    return activationX\n```\n\n### Loss function\n\n```\n@dataclass\nclass CoolLoss:\n  def __call__(self, y, ypred):\n    '''\n    Returns Cool Loss and it's derivative on two numpy vectors, MATH FOR LOSS FUNCTION\n    Derivatives are:\n    dL/dypred = LOSS DERIVATIVE\n    '''\n    #LOSS CODE\n    cool = ...\n    \n    #LOSS DERIVATIVE CODE\n    cool_dx = ...\n\n    return cool, cool_dx\n```\n\n\n## Setup\n\nDownload LinearNet.py and place in current directory. For Colab, drag into ```Files```.\n\n## Requirements\n\n### Packages:\n- ```numpy```\n- ```dataclasses```\n- ```datetime```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falepheleven%2Fneuralnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falepheleven%2Fneuralnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falepheleven%2Fneuralnet/lists"}