Tensorpack is a training interface based on TensorFlow.
Features:
It's Yet Another TF wrapper, 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 various CNNs, it runs 1.5~1.7x faster than the equivalent Keras code.
-
Data-parallel multi-GPU training is off-the-shelf to use. It runs as fast as Google's official benchmark.
-
See tensorpack/benchmarks for the benchmark scripts.
-
-
Focus on large datasets.
- It's painful to read/preprocess data through TF. Tensorpack helps you load large datasets (e.g. ImageNet) in pure Python with autoparallelization.
-
It's not a model wrapper.
- There are too many symbolic function wrappers. Tensorpack includes only a few common models. You can use any symbolic function library inside tensorpack, including tflayers/Keras/slim/tflearn/tensorlayer/....
See tutorials to know more about these features.
Examples:
Instead of showing you 10 random networks with random accuracy, tensorpack examples faithfully replicate papers and care about performance. And everything runs on multiple GPUs. Some highlights:
Vision:
- Train ResNet on ImageNet
- Train Faster-RCNN / Mask-RCNN on COCO object detection
- Generative Adversarial Network(GAN) variants, including DCGAN, InfoGAN, Conditional GAN, WGAN, BEGAN, DiscoGAN, Image to Image, CycleGAN.
- DoReFa-Net: train binary / low-bitwidth CNN on ImageNet
- Fully-convolutional Network for Holistically-Nested Edge Detection(HED)
- Spatial Transformer Networks on MNIST addition
- Visualize CNN saliency maps
- Similarity learning on MNIST
Reinforcement Learning:
- Deep Q-Network(DQN) variants on Atari games, including DQN, DoubleDQN, DuelingDQN.
- Asynchronous Advantage Actor-Critic(A3C) with demos on OpenAI Gym
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}
}