Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
November 26, 2022 02:13
March 31, 2023 09:44
April 24, 2020 18:54
July 11, 2020 19:28
December 17, 2018 13:12
September 29, 2019 12:57
July 31, 2020 02:41
March 26, 2020 15:57
August 5, 2023 17:30
January 16, 2021 02:13


Tensorpack is a neural network training interface based on graph-mode TensorFlow.

ReadTheDoc Gitter chat model-zoo


It's Yet Another TF high-level API, with the following highlights:

  1. Focus on training speed.
  • Speed comes for free with Tensorpack -- it uses TensorFlow in the efficient way with no extra overhead. On common CNNs, it runs training 1.2~5x faster than the equivalent Keras code. Your training can probably gets faster if written with Tensorpack.

  • Scalable data-parallel multi-GPU / distributed training strategy is off-the-shelf to use. See tensorpack/benchmarks for more benchmarks.

  1. Squeeze the best data loading performance of Python with tensorpack.dataflow.
  • Symbolic programming (e.g. does not offer the data processing flexibility needed in research. Tensorpack squeezes the most performance out of pure Python with various autoparallelization strategies.
  1. Focus on reproducible and flexible research:
  1. It's not a model wrapper.
  • There are too many symbolic function wrappers already. Tensorpack includes only a few common layers. You can use any TF symbolic functions inside Tensorpack, including tf.layers/Keras/slim/tflearn/tensorlayer/....

See tutorials and documentations to know more about these features.


We refuse toy examples. Instead of showing tiny CNNs trained on MNIST/Cifar10, we provide training scripts that reproduce well-known papers.

We refuse low-quality implementations. Unlike most open source repos which only implement papers, Tensorpack examples faithfully reproduce papers, demonstrating its flexibility for actual research.


Reinforcement Learning:

Speech / NLP:



  • Python 3.3+.
  • Python bindings for OpenCV. (Optional, but required by a lot of features)
  • TensorFlow ≥ 1.5
    • TF is not not required if you only want to use tensorpack.dataflow alone as a data processing library
    • When using TF2, tensorpack uses its TF1 compatibility mode. Note that a few examples in the repo are not yet migrated to support TF2.
pip install --upgrade git+
# or add `--user` to install to user's local directories

Please note that tensorpack is not yet stable. If you use tensorpack in your code, remember to mark the exact version of tensorpack you use as your dependencies.

Citing Tensorpack:

If you use Tensorpack in your research or wish to refer to the examples, please cite with:

  author={Wu, Yuxin and others},