AojunZhou / tensorpack

Neural Network Toolbox on TensorFlow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Neural Network Toolbox on TensorFlow.

Build Status badge

See some examples to learn about the framework:


Reinforcement Learning:

Speech / NLP:

The examples are not only for demonstration of the framework -- you can train them and reproduce the results in papers.


It's Yet Another TF wrapper, but different in:

  1. Not focus on models.

    • There are already too many symbolic function wrappers. Tensorpack includes only a few common models, and helpful tools such as LinearWrap to simplify large models. But you can use any other wrappers within tensorpack, such as sonnet/Keras/slim/tflearn/tensorlayer/....
  2. Focus on training speed.

    • Tensorpack trainer is almost always faster than feed_dict based wrappers. Even on a tiny CNN example, the training runs 2x faster than the equivalent Keras code.

    • Data-parallel multi-GPU training is off-the-shelf to use. It is as fast as Google's benchmark code.

    • Data-parallel distributed training is off-the-shelf to use. It is as slow as Google's benchmark code.

  3. Focus on large datasets.

    • It's painful to read/preprocess data from TF. Use DataFlow to efficiently process large datasets such as ImageNet in pure Python.
    • DataFlow has a unified interface, so you can compose and reuse them to perform complex preprocessing.
  4. Interface of extensible Callbacks. Write a callback to implement everything you want to do apart from the training iterations, and enable it with one line of code. Common examples include:

    • Change hyperparameters during training
    • Print some tensors of interest
    • Run inference on a test dataset
    • Run some operations once a while
    • Send loss to your phone



  • Python 2 or 3
  • TensorFlow >= 1.0.0 (>=1.1.0 for Multi-GPU)
  • Python bindings for OpenCV (Optional, but required by a lot of features)
pip install -U git+
# or add `--user` to avoid system-wide installation.


Neural Network Toolbox on TensorFlow

License:Apache License 2.0


Language:Python 98.6%Language:C++ 0.7%Language:Shell 0.4%Language:Makefile 0.3%