All Projects → MorvanZhou → Simple Neural Networks

MorvanZhou / Simple Neural Networks

Simple neural networks based only on Numpy

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Simple Neural Networks

CS231n
PyTorch/Tensorflow solutions for Stanford's CS231n: "CNNs for Visual Recognition"
Stars: ✭ 47 (-58.77%)
Mutual labels:  numpy, backpropagation
Teaching Monolith
Data science teaching materials
Stars: ✭ 126 (+10.53%)
Mutual labels:  backpropagation, numpy
Machine-Learning-in-Python-Workshop
My workshop on machine learning using python language to implement different algorithms
Stars: ✭ 89 (-21.93%)
Mutual labels:  numpy, backpropagation
Neural Network From Scratch
Ever wondered how to code your Neural Network using NumPy, with no frameworks involved?
Stars: ✭ 230 (+101.75%)
Mutual labels:  backpropagation, numpy
Flocks.js
A radically simpler alternative to Flux - opinionated React state and rendering management
Stars: ✭ 72 (-36.84%)
Mutual labels:  simple, layer
100 Pandas Puzzles
100 data puzzles for pandas, ranging from short and simple to super tricky (60% complete)
Stars: ✭ 1,382 (+1112.28%)
Mutual labels:  numpy
Pytorch
Tensors and Dynamic neural networks in Python with strong GPU acceleration
Stars: ✭ 52,811 (+46225.44%)
Mutual labels:  numpy
Borm
【🔥今日热门】🏎️ 更好的ORM库 (Better ORM library that is simple, fast and self-mockable for Go)
Stars: ✭ 102 (-10.53%)
Mutual labels:  simple
Typeis
Typeis. it's the smart and simple javaScript type checker
Stars: ✭ 100 (-12.28%)
Mutual labels:  simple
Munin
Main repository for munin master / node / plugins
Stars: ✭ 1,593 (+1297.37%)
Mutual labels:  simple
Python Bigdata
Data science and Big Data with Python
Stars: ✭ 112 (-1.75%)
Mutual labels:  numpy
Selfdrivingcar
A collection of all projects pertaining to different layers in the SDC software stack
Stars: ✭ 107 (-6.14%)
Mutual labels:  backpropagation
Boxdetection
A Box detection algorithm for any image containing boxes.
Stars: ✭ 104 (-8.77%)
Mutual labels:  numpy
Pg Calendar
📆 beautiful and eidetic date picker
Stars: ✭ 109 (-4.39%)
Mutual labels:  simple
Pythonstudy
Python related technologies used in work: crawler, data analysis, timing tasks, RPC, page parsing, decorator, built-in functions, Python objects, multi-threading, multi-process, asynchronous, redis, mongodb, mysql, openstack, etc.
Stars: ✭ 103 (-9.65%)
Mutual labels:  numpy
Ni Pyt
Materiály k předmětu NI-PYT na FIT ČVUT
Stars: ✭ 112 (-1.75%)
Mutual labels:  numpy
Minidyndns
A simple DynDNS server with an build in HTTP interface to update IPs
Stars: ✭ 101 (-11.4%)
Mutual labels:  simple
Easyiterator
🏃 Iterators made easy! Zero cost abstractions for designing and using C++ iterators.
Stars: ✭ 107 (-6.14%)
Mutual labels:  simple
Studybook
Study E-Book(ComputerVision DeepLearning MachineLearning Math NLP Python ReinforcementLearning)
Stars: ✭ 1,457 (+1178.07%)
Mutual labels:  numpy
Numpy Cn
NumPy官方中文文档(完整版)
Stars: ✭ 1,570 (+1277.19%)
Mutual labels:  numpy

Simple Neural Networks

This is a repo for building a simple Neural Net based only on Numpy.

The usage is similar to Pytorch. There are only limited codes involved to be functional. Unlike those popular but complex packages such as Tensorflow and Pytorch, you can dig into my source codes smoothly.

The main purpose of this repo is for you to understand the code rather than implementation. So please feel free to read the codes.

Simple usage

Build a network with a python class and train it.

import neuralnets as nn

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        self.l1 = nn.layers.Dense(n_in=1, n_out=10, activation=nn.act.tanh)
        self.out = nn.layers.Dense(10, 1)

    def forward(self, x):
        x = self.l1(x)
        o = self.out(x)
        return o

The training procedure starts by defining a optimizer and loss.

net = Net()
opt = nn.optim.Adam(net.params, lr=0.1)
loss_fn = nn.losses.MSE()

for _ in range(1000):
    o = net.forward(x)
    loss = loss_fn(o, y)
    net.backward(loss)
    opt.step()

Demo

Download or fork

Download link

Fork this repo:

$ git clone https://github.com/MorvanZhou/simple-neural-networks.git

Results

img

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].