/tinynn

A lightweight deep learning library

Primary LanguagePythonMIT LicenseMIT

tinynn

Build Status

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

tinynn-architecture

There are two branches (master and mini) in thie repo. The mini branch contains the minimal components to run a neural network. The master branch holds the latest stable code with more components and features. See Components down below.

Getting Started

Install

git clone https://github.com/borgwang/tinynn.git
cd tinynn
pip install -r requirements.txt

Examples

cd tinynn
# MNIST classification
python examples/mnist/run.py  

# a toy regression task
python examples/nn_paint/run.py  

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

Components

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

Contribute

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

In addition, please sort the module import order alphabetically in each file. To do this, one can use tools like isort (be sure to use --force-single-line-imports option to enforce the coding style).

License

MIT