/tinynn

A lightweight deep learning library

Primary LanguagePythonMIT LicenseMIT

tinynn

CI Language grade: Python codecov

tinynn is a lightweight deep learning framework written in Python3 (for learning purposes).

Getting Started

Install

pip3 install tinynn

Run examples

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

# MNIST classification
python3 mnist/run.py

# a toy regression task
python3 nn_paint/run.py

# reinforcement learning demo (gym environment required)
python3 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)

Contribute

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

License

MIT