Home

Awesome

TinyFlow: Build Your Own DL System in 2K Lines

TinyFlow is "example code" for NNVM.

It demonstrates how can we build a clean, minimum and powerful computational graph based deep learning system with same API as TensorFlow. The operator code are implemented with Torch7 to reduce the effort to write operators while still demonstrating the concepts of the system (and Embedding Lua in C++ is kinda of fun:).

TinyFlow is a real deep learning system that can run on GPU and CPUs. To support the examples, it takes.

Note that more code in operators can easily be added to make it as feature complete as most existing deep learning systems.

What is it for

As explained in the goal of NNVM, it is important to make modular and reusable components for to enable us to build customized learning system easily.

We believe the Unix Philosophy can building learning system more fun and everyone can be able to build and understand learning system better.

Deep Learning System Course

If you are interested in learning how to build deep learning system from scratch, checkout CSE 599G1: Deep Learning System from University of Washington.

The Design

Although it is minimum. TinyFlow still comes with many advanced design concepts in Deep Learning system.

The operator implementation is easy Thanks to Torch7. More fun demonstrations will be added to the project.

Dependencies

Most of TinyFlow's code is self-contained.

Build

export PYTHONPATH=${PYTHONPATH}:/path/to/tinyflow/python:/path/to/tinyflow/nnvm/python

Enable Fusion in TinyFlow