Skip to content
forked from borgwang/tinynn

A lightweight deep learning library

License

Notifications You must be signed in to change notification settings

SmartYoung/tinynn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tinynn

Build Status

tinynn is a lightweight deep learning framework written in Python3 (with NumPy).

tinynn-architecture

Getting Started

Install

pip install tinynn

Run examples

git clone https://github.com/borgwang/tinynn.git
cd tinynn/examples

# MNIST classification
python mnist/run.py  

# a toy regression task
python nn_paint/run.py  

# reinforcement learning demo (gym environment required)
python rl/run.py

Intuitive APIs

# define a model
net = Net([Dense(50), ReLU(), Dense(100), ReLU(), Dense(10)]) 
model = Model(net=net, loss=MSE(), optimizer=Adam(lr))

# train
for batch in iterator(train_x, train_y):
    preds = model.forward(batch.inputs)
    loss, grads = model.backward(preds, batch.targets)
    model.apply_grads(grads)

Components

  • layers: Dense, Conv2D, ConvTranspose2D, RNN, MaxPool2D, Dropout, BatchNormalization
  • activation: ReLU, LeakyReLU, Sigmoid, Tanh, Softplus
  • losses: SoftmaxCrossEntropy, SigmoidCrossEntropy, MAE, MSE, Huber
  • optimizer: RAdam, Adam, SGD, Momentum, RMSProp, Adagrad, Adadelta

Contribute

Please follow the Google Python Style Guide for Python coding style.

License

MIT

About

A lightweight deep learning library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%