/tensorpack

A Neural Net Training Interface on TensorFlow

Primary LanguagePythonApache License 2.0Apache-2.0

Tensorpack

Tensorpack is a training interface based on TensorFlow.

Build Status ReadTheDoc Gitter chat model-zoo

Features:

It's Yet Another TF high-level API, with speed, readability and flexibility built together.

  1. Focus on training speed.

    • Speed comes for free with tensorpack -- it uses TensorFlow in the efficient way with no extra overhead. On different CNNs, it runs training 1.2~5x faster than the equivalent Keras code.

    • Data-parallel multi-GPU/distributed training is off-the-shelf to use with one line of code. It scales as well as Google's official benchmark.

    • See tensorpack/benchmarks for more benchmark scripts.

  2. Focus on large datasets.

    • It's unnecessary to read/preprocess data with a new language called TF. Tensorpack helps you load large datasets (e.g. ImageNet) in pure Python with autoparallelization.
  3. It's not a model wrapper.

    • There are too many symbolic function wrappers in the world. Tensorpack includes only a few common models. But you can use any symbolic function library inside tensorpack, including tf.layers/Keras/slim/tflearn/tensorlayer/....

See tutorials to know more about these features.

Examples:

We refuse toy examples. Instead of showing you 10 arbitrary networks trained on toy datasets, tensorpack examples faithfully replicate papers and care about reproducing numbers, demonstrating its flexibility for actual research.

Vision:

Reinforcement Learning:

Speech / NLP:

Install:

Dependencies:

  • Python 2.7 or 3
  • Python bindings for OpenCV (Optional, but required by a lot of features)
  • TensorFlow >= 1.3.0 (Optional if you only want to use tensorpack.dataflow alone as a data processing library)
# install git, then:
pip install -U git+https://github.com/ppwwyyxx/tensorpack.git
# or add `--user` to avoid system-wide installation.

Citing Tensorpack:

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

@misc{wu2016tensorpack,
  title={Tensorpack},
  author={Wu, Yuxin and others},
  howpublished={\url{https://github.com/tensorpack/}},
  year={2016}
}