Code Monkey home page Code Monkey logo

tensorlayer's Introduction

GitHub last commit (branch) Supported TF Version Documentation Status Build Status Downloads 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.

πŸ”₯πŸ“°πŸ”₯ Reinforcement Learning Model Zoos: Low-level APIs for Research and High-level APIs for Production

πŸ”₯πŸ“°πŸ”₯ Sipeed Maxi-EMC: Run TensorLayer models on the low-cost AI chip (e.g., K210) (Alpha Version)

πŸ”₯πŸ“°πŸ”₯ NNoM: Run TensorLayer quantized models on the MCU (e.g., STM32) (Coming Soon)

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 VGG16 using TensorLayer and native TensorFlow on a TITAN Xp.

    Mode Lib Data Format Max GPU Memory Usage(MB) Max CPU Memory Usage(MB) Avg CPU Memory Usage(MB) Runtime (sec)
    AutoGraph TensorFlow 2.0 channel last 11833 2161 2136 74
    Tensorlayer 2.0 channel last 11833 2187 2169 76
    Graph Keras channel last 8677 2580 2576 101
    Eager TensorFlow 2.0 channel last 8723 2052 2024 97
    TensorLayer 2.0 channel last 8723 2010 2007 95

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 lightweight, 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.

TensorLayer has a fast growing usage among top researchers and engineers, from universities like Peking University, 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 within examples or 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

For latest code for TensorLayer 2.0, please build from the source. TensorLayer 2.0 has pre-requisites including TensorFlow 2, numpy, and others. For GPU support, CUDA and cuDNN are required.

Install TensorFlow:

pip3 install tensorflow-gpu==2.0.0-beta1 # specific version  (YOU SHOULD INSTALL THIS ONE NOW)
pip3 install tensorflow-gpu # GPU version
pip3 install tensorflow # CPU version

Install the stable version of TensorLayer:

pip3 install tensorlayer

Install the latest version of TensorLayer:

pip3 install git+https://github.com/tensorlayer/tensorlayer.git
or
pip3 install https://github.com/tensorlayer/tensorlayer/archive/master.zip

For developers, you should clone the folder to your local machine and put it along with your project scripts.

git clone https://github.com/tensorlayer/tensorlayer.git

If you want install TensorLayer 1.X, the simplest way to install TensorLayer 1.X is to use the Python Package Index (PyPI):

# for last stable version of TensorLayer 1.X
pip3 install --upgrade tensorlayer==1.X

# for latest release candidate of TensorLayer 1.X
pip3 install --upgrade --pre tensorlayer

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

Contribute

Please read the Contributor Guideline before submitting your PRs.

Cite

If you use TensorLayer for any projects, please cite this 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.

tensorlayer's People

Contributors

zsdonghao avatar jingqingz avatar luomai avatar chriswu1997 avatar warshallrho avatar lgarithm avatar wagamamaz avatar dekhtiarjonathan avatar pyup-bot avatar quantumiracle avatar 1fengl avatar jorgemf avatar shorxp avatar officium avatar tomtung avatar 2wins avatar fangde avatar tokarev-tt-33 avatar windaway avatar vyokky avatar angerhang avatar geometrikal avatar joelkronander avatar shielian avatar boscotsang avatar dbusbridge avatar owenliuzz avatar akaraspt avatar nebulav avatar initial-h avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.