These tools and metrics are designed to help AI actors develop and use trustworthy AI systems and applications that respect human rights and are fair, transparent, explainable, robust, secure and safe.
TensorLayer
TensorLayer is a novel TensorFlow-based deep learning and reinforcement learning library designed for researchers and engineers. It provides an extensive collection of customizable neural layers to build advanced AI models quickly, and based on this, the community open-sourced mass tutorials and applications. TensorLayer is awarded the 2017 Best Open Source Software by the ACM Multimedia Society. This project can also be found at OpenI and Gitee.
News
TensorLayerX is a Unified Deep Learning and Reinforcement Learning Framework for All Hardware, Backends, and OS. The current version supports TensorFlow, Pytorch, MindSpore, PaddlePaddle, OneFlow, and Jittor as the backends, allowing users to run the code on different hardware like Nvidia-GPU and Huawei-Ascend.
TensorLayer is now in OpenI
Reinforcement Learning Zoo: Low-level APIs for professional usage, High-level APIs for simple usage, and a corresponding Springer textbook
Sipeed Maxi-EMC: Run TensorLayer models on the low-cost AI chip (e.g., K210) (Alpha Version)
Design Features
TensorLayer is a new deep-learning library designed with simplicity, flexibility, and high-performance in mind.
- Simplicity: TensorLayer has a high-level layer/model abstraction which is effortless to learn. You can learn how deep learning can benefit your AI tasks in minutes through massive examples.
- Flexibility: TensorLayer APIs are transparent and flexible, inspired by the emerging PyTorch library. Compared to the Keras abstraction, TensorLayer makes it much easier to build and train complex AI models.
- Zero-cost Abstraction: Though simple to use, TensorLayer does not require you to make any compromise in the performance of TensorFlow (Check the following benchmark section for more details).
TensorLayer stands at a unique spot in the TensorFlow wrappers. Other wrappers like Keras and TFLearn hide many powerful features of TensorFlow and provide little support for writing custom AI models. Inspired by PyTorch, TensorLayer APIs are simple, flexible, and Pythonic, making it easy to learn while being flexible enough to cope with complex AI tasks. TensorLayer has a fast-growing community. It has been used by researchers and engineers all over the world, including those from Peking University, Imperial College London, UC Berkeley, Carnegie Mellon University, Stanford University, and companies like Google, Microsoft, Alibaba, Tencent, Xiaomi, and Bloomberg.
Multilingual Documents
TensorLayer has extensive documentation for both beginners and professionals. The documentation is available in both English and Chinese.
If you want to try the experimental features on the master branch, you can find the latest document here.
Extensive Examples
You can find a large collection of examples that use TensorLayer in here and the following space:
Getting Start
TensorLayer 2.0 relies on TensorFlow, NumPy, and others. To use GPUs, CUDA and cuDNN are required.
Install TensorFlow:
pip3 install tensorflow-gpu==2.0.0-rc1 # TensorFlow GPU (version 2.0 RC1)
pip3 install tensorflow # CPU version
Install the stable release of TensorLayer:
pip3 install tensorlayer
Install the unstable development version of TensorLayer:
pip3 install git+https://github.com/tensorlayer/tensorlayer.git
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
If you are a TensorFlow 1.X user, you can use TensorLayer 1.11.0:
# For last stable version of TensorLayer 1.X
pip3 install --upgrade tensorlayer==1.11.0
Performance Benchmark
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 |
Getting Involved
Please read the Contributor Guideline before submitting your PRs.
We suggest users report bugs using Github issues. Users can also discuss how to use TensorLayer in the following slack channel.
Citing TensorLayer
If you find TensorLayer useful for your project, please cite the following papers:
@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}
}
@inproceedings{tensorlayer2021,
title={Tensorlayer 3.0: A Deep Learning Library Compatible With Multiple Backends},
author={Lai, Cheng and Han, Jiarong and Dong, Hao},
booktitle={2021 IEEE International Conference on Multimedia \& Expo Workshops (ICMEW)},
pages={1--3},
year={2021},
organization={IEEE}
}
About the tool
You can click on the links to see the associated tools
Developing organisation(s):
Tool type(s):
Objective(s):
Type of approach:
Usage rights:
License:
Programming languages:
Github stars:
- 6942
Github forks:
- 1555
Use Cases
Would you like to submit a use case for this tool?
If you have used this tool, we would love to know more about your experience.
Add use case