Skip to content

Ilovescienceandpython/tensorpack

 
 

Repository files navigation

tensorpack

Neural Network Toolbox on TensorFlow.

Build Status badge

See some examples to learn about the framework:

Vision:

Reinforcement Learning:

Speech / NLP:

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

Features:

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.

    • Speed comes for free with tensorpack. Even on a tiny CNN example, the training runs 1.6x faster than the equivalent Keras code.

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

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

  3. Focus on large datasets.

    • It's painful to read/preprocess data through TF. Use DataFlow to load large datasets (e.g. ImageNet) in pure Python with autoparallelization.
    • 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

See tutorials to know more about these features.

Install:

Dependencies:

  • 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+https://github.com/ppwwyyxx/tensorpack.git
# or add `--user` to avoid system-wide installation.

Besides, if you only want to use tensorpack.dataflow alone, TensorFlow is also optional.

About

Neural Network Toolbox on TensorFlow

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.6%
  • Other 1.4%