capybaralet / tensorpack

Neural Network Toolbox on TensorFlow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tensorpack

Neural Network Toolbox on TensorFlow.

Build Status badge

See some examples to learn about the framework:

Vision:

Reinforcement Learning:

Unsupervised 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 large datasets.

    • DataFlow allows you to process large datasets such as ImageNet in Python without blocking the training.
    • DataFlow has a unified interface, so you can compose and reuse them to perform complex preprocessing.
  3. Focus on training speed.

    • Tensorpack trainer is almost always faster than feed_dict based wrappers. Even on a small CNN example, the training runs 2x faster than the equivalent Keras code. More improvements to come later.

    • Data-Parallel Multi-GPU training is off-the-shelf to use. You can also define your own trainer for different style of training (e.g. GAN) without losing the efficiency.

  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

Install:

Dependencies:

  • Python 2 or 3
  • TensorFlow >= 1.0.0
  • Python bindings for OpenCV
pip install -U git+https://github.com/ppwwyyxx/tensorpack.git
# or add `--user` to avoid system-wide installation.

About

Neural Network Toolbox on TensorFlow

License:Apache License 2.0


Languages

Language:Python 98.5%Language:C++ 0.8%Language:Shell 0.4%Language:Makefile 0.3%