Deep Learning and Reinforcement Learning Library for Developers and Scientists
pyup-bot and DEKHTIARJonathan PyUP - Dependency Update Scheduled daily dependency update on monday (#…
…886)

* Pin pytest to latest version 3.10.0

* Update requirements_test.txt

* Update requirements_tf_cpu.txt

* Update CHANGELOG.md

* Update requirements_tf_gpu.txt

* Update .travis.yml (#879)

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml
Latest commit 300be9f Nov 6, 2018
Permalink
Failed to load latest commit information.
.circleci Docker Issue #733 Fixed + Dockerfiles refactored and merged (#747) Jul 14, 2018
.github PyUP - Dependency Update Scheduled daily dependency update on wednesd… May 23, 2018
docker Transparent distributed model training through TensorLayer GPU Trainer ( Jul 24, 2018
docs guide for pose estimation - flipping (#884) Nov 2, 2018
examples Affine transformation APIs for high-performance image augmentation (#857 Oct 14, 2018
img [WIP] Update README.md (#838) Sep 18, 2018
requirements PyUP - Dependency Update Scheduled daily dependency update on monday (#… Nov 6, 2018
scripts Transparent distributed model training through TensorLayer GPU Trainer ( Jul 24, 2018
tensorlayer cv2 transform support 2 modes; (#885) Nov 3, 2018
tests Add `GroupNormLayer` (#850) Sep 26, 2018
.codacy.yaml Transparent distributed model training through TensorLayer GPU Trainer ( Jul 24, 2018
.dockerignore fix Dokerfile: use tensorflow cpu base image by default Dec 16, 2017
.gitignore Release TL 1.10.1 (#825) Sep 7, 2018
.pyup.yml Contrib Loggers Module Added - Hyperdash (#739) Jul 22, 2018
.readthedocs.yml Documentation/mock imports (#785) Aug 14, 2018
.travis.yml PyUP - Dependency Update Scheduled daily dependency update on monday (#… Nov 6, 2018
CHANGELOG.md PyUP - Dependency Update Scheduled daily dependency update on monday (#… Nov 6, 2018
CONTRIBUTING.md Database and Graph (#751) Aug 6, 2018
LICENSE.rst update year to 2018 (#430) Mar 19, 2018
Makefile Transparent distributed model training through TensorLayer GPU Trainer ( Jul 24, 2018
README.md Release1.11 (#867) Oct 15, 2018
README.rst update install instruction (dup of #858) (#859) Oct 13, 2018
setup.cfg Tl logging layer name fix (#683) Jun 6, 2018
setup.py remove graph api (#818) Sep 4, 2018
setup.travis.cfg Tl logging layer name fix (#683) Jun 6, 2018
setup.travis_doc.cfg Tl logging layer name fix (#683) Jun 6, 2018
tl Introduce an experimental CLI to help train TL programs using multipl… Feb 10, 2018

README.md

PyPI Stable Version PyPI RC Version Github commits (since latest release) PyPI - Python Version Supported TF Version Downloads

Build Status CircleCI Documentation Status Documentation Status PyUP Updates Docker Pulls Codacy Badge



TensorLayer is a novel TensorFlow-based deep learning and reinforcement learning library designed for researchers and engineers. It provides a large collection of customizable neural layers / functions that are key to build real-world AI applications. TensorLayer is awarded the 2017 Best Open Source Software by the ACM Multimedia Society.

Features

As deep learning practitioners, we have been looking for a library that can address various development purposes. This library is easy to adopt by providing diverse examples, tutorials and pre-trained models. Also, it allow users to easily fine-tune TensorFlow; while being suitable for production deployment. TensorLayer aims to satisfy all these purposes. It has three key features:

  • Simplicity : TensorLayer lifts the low-level dataflow interface of TensorFlow to high-level layers / models. It is very easy to learn through the rich example codes contributed by a wide community.

  • Flexibility : TensorLayer APIs are transparent: it does not mask TensorFlow from users; but leaving massive hooks that help low-level tuning and deep customization.

  • Zero-cost Abstraction : TensorLayer can achieve the full power of TensorFlow. The following table shows the training speeds of classic models using TensorLayer and native TensorFlow on a Titan X Pascal GPU.

    CIFAR-10 PTB LSTM Word2Vec
    TensorLayer 2528 images/s 18063 words/s 58167 words/s
    TensorFlow 2530 images/s 18075 words/s 58181 words/s

TensorLayer stands at a unique spot in the library landscape. Other wrapper libraries like Keras and TFLearn also provide high-level abstractions. They, however, often hide the underlying engine from users, which make them hard to customize and fine-tune. On the contrary, TensorLayer APIs are generally flexible and transparent. Users often find it easy to start with the examples and tutorials, and then dive into TensorFlow seamlessly. In addition, TensorLayer does not create library lock-in through native supports for importing components from Keras, TFSlim and TFLearn.

TensorLayer has a fast growing usage among top researchers and engineers, from universities like Imperial College London, UC Berkeley, Carnegie Mellon University, Stanford University, and University of Technology of Compiegne (UTC), and companies like Google, Microsoft, Alibaba, Tencent, Xiaomi, and Bloomberg.

Tutorials and Real-World Applications

You can find a large collection of tutorials, examples and real-world applications using TensorLayer through the following space:

Documentation

TensorLayer has extensive documentation for both beginners and professionals. The documentation is available in both English and Chinese. Please click the following icons to find the documents you need:

English Documentation Chinese Documentation Chinese Book

If you want to try the experimental features on the the master branch, you can find the latest document here.

Install

TensorLayer has pre-requisites including TensorFlow, numpy, and others. For GPU support, CUDA and cuDNN are required. The simplest way to install TensorLayer is to use the Python Package Index (PyPI):

# for last stable version
pip install --upgrade tensorlayer

# for latest release candidate
pip install --upgrade --pre tensorlayer

# if you want to install the additional dependencies, you can also run
pip install --upgrade tensorlayer[all]              # all additional dependencies
pip install --upgrade tensorlayer[extra]            # only the `extra` dependencies
pip install --upgrade tensorlayer[contrib_loggers]  # only the `contrib_loggers` dependencies

Alternatively, you can install the latest or development version by directly pulling from github:

pip install https://github.com/tensorlayer/tensorlayer/archive/master.zip
# or
# pip install https://github.com/tensorlayer/tensorlayer/archive/<branch-name>.zip

Using Docker

The TensorLayer containers are built on top of the official TensorFlow containers:

Containers with CPU support

# for CPU version and Python 2
docker pull tensorlayer/tensorlayer:latest
docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest

# for CPU version and Python 3
docker pull tensorlayer/tensorlayer:latest-py3
docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-py3

Containers with GPU support

NVIDIA-Docker is required for these containers to work: Project Link

# for GPU version and Python 2
docker pull tensorlayer/tensorlayer:latest-gpu
nvidia-docker run -it --rm -p 8888:88888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-gpu

# for GPU version and Python 3
docker pull tensorlayer/tensorlayer:latest-gpu-py3
nvidia-docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-gpu-py3

Contribute

Please read the Contributor Guideline before submitting your PRs.

Cite

If you find this project useful, we would be grateful if you cite the TensorLayer paper:

@article{tensorlayer2017,
    author  = {Dong, Hao and Supratak, Akara and Mai, Luo and Liu, Fangde and Oehmichen, Axel and Yu, Simiao and Guo, Yike},
    journal = {ACM Multimedia},
    title   = {{TensorLayer: A Versatile Library for Efficient Deep Learning Development}},
    url     = {http://tensorlayer.org},
    year    = {2017}
}

License

TensorLayer is released under the Apache 2.0 license.