Skip to content

A Neural Net Training Interface on TensorFlow, with focus on speed + flexibility

License

Notifications You must be signed in to change notification settings

yg320/tensorpack

This branch is 147 commits behind tensorpack/tensorpack:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e8e8b01 · Sep 13, 2019
Sep 1, 2019
Sep 13, 2019
Sep 2, 2019
Sep 13, 2019
Sep 13, 2019
Sep 8, 2019
Dec 17, 2018
Oct 4, 2018
Aug 31, 2019
Jul 12, 2019
Dec 28, 2015
Aug 30, 2019
Jul 31, 2017
Sep 8, 2019
Aug 30, 2019

Repository files navigation

Tensorpack

Tensorpack is a neural network training interface based on TensorFlow.

Build Status ReadTheDoc Gitter chat model-zoo

Features:

It's Yet Another TF high-level API, with speed, 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 common CNNs, it runs training 1.2~5x faster than the equivalent Keras code. Your training can probably gets faster if written with Tensorpack.

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

    • See tensorpack/benchmarks for some benchmark scripts.

  2. Focus on large datasets.

    • You don't usually need tf.data. Symbolic programming often makes data processing harder. Tensorpack helps you efficiently process 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 and documentations to know more about these features.

Examples:

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.

Vision:

Reinforcement Learning:

Speech / NLP:

Install:

Dependencies:

  • Python 2.7 or 3.3+. Python 2.7 is supported until it retires in 2020.
  • Python bindings for OpenCV. (Optional, but required by a lot of features)
  • TensorFlow ≥ 1.3, < 2. (Not required if you only want to use tensorpack.dataflow alone as a data processing library)
pip install --upgrade git+https://github.com/tensorpack/tensorpack.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:

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

About

A Neural Net Training Interface on TensorFlow, with focus on speed + flexibility

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.8%
  • Shell 0.2%