Tensorpack is a training interface based on TensorFlow, with a focus on speed + flexibility. TensorFlow is powerful, but has its own drawbacks: Its low-level APIs are too hard and complicated for many users, and its existing high-level APIs sacrifice a lot in either speed or flexibility. The Tensorpack API brings speed and flexibility together.
Tensorpack is Yet Another TF high-level API, but different in:
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 1.2~5x faster than the equivalent Keras code.
Data-parallel multi-GPU/distributed training strategy is off-the-shelf to use. It scales as well as Google’s official benchmark. You cannot beat its speed unless you’re a TensorFlow expert.
See tensorpack/benchmarks for some benchmark scripts.
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.
It’s not a model wrapper.
There are already 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:
- User Tutorials
- Extend Tensorpack
- API Documentation
- tensorpack.dataflow package
- tensorpack.dataflow.dataset package
- tensorpack.dataflow.imgaug package
- tensorpack.input_source package
- tensorpack.models package
- tensorpack.callbacks package
- tensorpack.graph_builder package
- tensorpack.train package
- tensorpack.predict package
- tensorpack.tfutils package
- tensorpack.tfutils.argscope module
- tensorpack.tfutils.collection module
- tensorpack.tfutils.gradproc module
- tensorpack.tfutils.tower module
- tensorpack.tfutils.scope_utils module
- tensorpack.tfutils.optimizer module
- tensorpack.tfutils.sesscreate module
- tensorpack.tfutils.sessinit module
- tensorpack.tfutils.summary module
- tensorpack.tfutils.varmanip module
- tensorpack.tfutils.varreplace module
- tensorpack.tfutils.export module
- Other functions in tensorpack.tfutils module
- tensorpack.utils package
- tensorpack.utils.argtools module
- tensorpack.utils.concurrency module
- tensorpack.utils.fs module
- tensorpack.utils.loadcaffe module
- tensorpack.utils.logger module
- tensorpack.utils.serialize module
- tensorpack.utils.compatible_serialize module
- tensorpack.utils.stats module
- tensorpack.utils.timer module
- tensorpack.utils.viz module
- tensorpack.utils.gpu module
- tensorpack.contrib package