You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 12 kB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. <a href="https://tensorlayer3.readthedocs.io/">
  2. <div align="center">
  3. <img src="img/tl_transparent_logo.png" width="50%" height="30%"/>
  4. </div>
  5. </a>
  6. <!--- [![PyPI Version](https://badge.fury.io/py/tensorlayer.svg)](https://badge.fury.io/py/tensorlayer) --->
  7. <!--- ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/tensorlayer.svg)) --->
  8. [![GitHub last commit (branch)](https://img.shields.io/github/last-commit/tensorlayer/tensorlayer/master.svg)](https://git.openi.org.cn/TensorLayer/tensorlayer3.0)
  9. [![Supported TF Version](https://img.shields.io/badge/TensorFlow-2.0.0%2B-brightgreen.svg)](https://github.com/tensorflow/tensorflow/releases)
  10. [![Documentation Status](https://readthedocs.org/projects/tensorlayer/badge/)](https://tensorlayer3.readthedocs.io)
  11. ![Build Status](https://travis-ci.org/tensorlayer/tensorlayer.svg?branch=master)
  12. ![Downloads](http://pepy.tech/badge/tensorlayer)
  13. ![Downloads](https://pepy.tech/badge/tensorlayer/week)
  14. ![Docker Pulls](https://img.shields.io/docker/pulls/tensorlayer/tensorlayer.svg)
  15. ![Codacy Badge](https://api.codacy.com/project/badge/Grade/d6b118784e25435498e7310745adb848)
  16. [中文简介](https://git.openi.org.cn/TensorLayer/tensorlayer3.0/src/branch/master/tensorlayer_cn.md)
  17. <!--- [![CircleCI](https://circleci.com/gh/tensorlayer/tensorlayer/tree/master.svg?style=svg)](https://circleci.com/gh/tensorlayer/tensorlayer/tree/master) --->
  18. <!--- [![Documentation Status](https://readthedocs.org/projects/tensorlayercn/badge/)](https://tensorlayercn.readthedocs.io/)
  19. <!--- [![PyUP Updates](https://pyup.io/repos/github/tensorlayer/tensorlayer/shield.svg)](https://pyup.io/repos/github/tensorlayer/tensorlayer/) --->
  20. [TensorLayer](https://tensorlayer3.readthedocs.io) is a novel supports multiple backends 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, based on this, the community open-sourced mass [tutorials](https://git.openi.org.cn/TensorLayer/tensorlayer3.0/src/branch/master/examples/basic_tutorials) and [applications](https://git.openi.org.cn/TensorLayer/tensorlayer3.0/src/branch/master/examples/model_zoo). TensorLayer is awarded the 2017 Best Open Source Software by the [ACM Multimedia Society](https://twitter.com/ImperialDSI/status/923928895325442049).
  21. This project can also be found at [iHub](https://code.ihub.org.cn/projects/328) and [Gitee](https://gitee.com/organizations/TensorLayer).
  22. # News
  23. 🔥 **3.0.0 has been pre-released, it supports TensorFlow and MindSpore backends, and supports some PaddlePaddle operator backends, allowing users to run the code on different hardware like Nvidia-GPU and Huawei-Ascend. It will support TensorFlow, MindSpore, PaddlePaddle, and PyTorch backends in the future. Feel free to use it and make suggestions. We need more people to join the dev team, if you are interested, please email hao.dong@pku.edu.cn**
  24. 🔥 Reinforcement Learning Zoo: [Low-level APIs](https://github.com/tensorlayer/tensorlayer/tree/master/examples/reinforcement_learning) for professional usage, [High-level APIs](https://github.com/tensorlayer/RLzoo) for simple usage, and a corresponding [Springer textbook](http://springer.com/gp/book/9789811540943)
  25. 🔥 [Sipeed Maxi-EMC](https://github.com/sipeed/Maix-EMC): Run TensorLayer models on the **low-cost AI chip** (e.g., K210) (Alpha Version)
  26. <!-- 🔥 [NNoM](https://github.com/majianjia/nnom): Run TensorLayer quantized models on the **MCU** (e.g., STM32) (Coming Soon) -->
  27. # Design Features
  28. TensorLayer is a new deep learning library designed with simplicity, flexibility and high-performance in mind.
  29. - ***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 the massive [examples](https://git.openi.org.cn/TensorLayer/tensorlayer3.0/src/branch/master/examples).
  30. - ***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.
  31. - ***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).
  32. TensorLayer stands at a unique spot in the TensorFlow wrappers. Other wrappers like Keras and TFLearn
  33. 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,
  34. making it easy to learn while being flexible enough to cope with complex AI tasks.
  35. TensorLayer has a fast-growing community. It has been used by researchers and engineers all over the world, including those from Peking University,
  36. Imperial College London, UC Berkeley, Carnegie Mellon University, Stanford University, and companies like Google, Microsoft, Alibaba, Tencent, Xiaomi, and Bloomberg.
  37. # Multilingual Documents
  38. TensorLayer has extensive documentation for both beginners and professionals. The documentation is available in
  39. both English and Chinese.
  40. [![English Documentation](https://img.shields.io/badge/documentation-english-blue.svg)](https://tensorlayer3.readthedocs.io/)
  41. [![Chinese Documentation](https://img.shields.io/badge/documentation-%E4%B8%AD%E6%96%87-blue.svg)](https://tensorlayercn.readthedocs.io/)
  42. [![Chinese Book](https://img.shields.io/badge/book-%E4%B8%AD%E6%96%87-blue.svg)](http://www.broadview.com.cn/book/5059/)
  43. If you want to try the experimental features on the the master branch, you can find the latest document
  44. [here](https://tensorlayer3.readthedocs.io/en/latest/).
  45. # Extensive Examples
  46. You can find a large collection of examples that use TensorLayer in [here](examples/) and the following space:
  47. <a href="https://github.com/tensorlayer/awesome-tensorlayer/blob/master/readme.md" target="\_blank">
  48. <div align="center">
  49. <img src="img/awesome-mentioned.png" width="40%"/>
  50. </div>
  51. </a>
  52. # Getting Start
  53. Comparison of TensorLayer version
  54. <a href="https://tensorlayer3.readthedocs.io/">
  55. <div align="center">
  56. <img src="img/tensorlayer_v.png" width="100%" height="30%"/>
  57. </div>
  58. </a>
  59. TensorLayer 3.0 relies on TensorFlow, numpy, and others. To use GPUs, CUDA and cuDNN are required.
  60. Install TensorFlow:
  61. ```bash
  62. pip3 install tensorflow-gpu==2.0.0-rc1 # TensorFlow GPU (version 2.0 RC1)
  63. pip3 install tensorflow # CPU version
  64. ```
  65. Install the stable release of TensorLayer3:
  66. ```bash
  67. pip3 install tensorlayer3
  68. ```
  69. Install the stable release of TensorLayer2.x:
  70. ```bast
  71. pip3 install tensorlayer
  72. ```
  73. Install the unstable development version of TensorLayer3:
  74. ```bash
  75. pip3 install git+https://git.openi.org.cn/TensorLayer/tensorlayer3.0.git
  76. ```
  77. If you want to install the additional dependencies, you can also run
  78. ```bash
  79. pip3 install --upgrade tensorlayer[all] # all additional dependencies
  80. pip3 install --upgrade tensorlayer[extra] # only the `extra` dependencies
  81. pip3 install --upgrade tensorlayer[contrib_loggers] # only the `contrib_loggers` dependencies
  82. ```
  83. If you want to use mindspore backend, you should install mindspore>=1.2.1
  84. ```bash
  85. pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.2.1/MindSpore/gpu/ubuntu_x86/cuda-10.1/mindspore_gpu-1.2.1-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
  86. ```
  87. If you want to use paddlepaddle backend, you should install paddlepaddle>=2.1.1
  88. ```bash
  89. python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
  90. ```
  91. If you are TensorFlow 1.X users, you can use TensorLayer 1.11.0:
  92. ```bash
  93. # For last stable version of TensorLayer 1.X
  94. pip3 install --upgrade tensorlayer==1.11.0
  95. ```
  96. <!---
  97. ## Using Docker
  98. The [TensorLayer containers](https://hub.docker.com/r/tensorlayer/tensorlayer/) are built on top of the official [TensorFlow containers](https://hub.docker.com/r/tensorflow/tensorflow/):
  99. ### Containers with CPU support
  100. ```bash
  101. # for CPU version and Python 2
  102. docker pull tensorlayer/tensorlayer:latest
  103. docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest
  104. # for CPU version and Python 3
  105. docker pull tensorlayer/tensorlayer:latest-py3
  106. docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-py3
  107. ```
  108. ### Containers with GPU support
  109. NVIDIA-Docker is required for these containers to work: [Project Link](https://github.com/NVIDIA/nvidia-docker)
  110. ```bash
  111. # for GPU version and Python 2
  112. docker pull tensorlayer/tensorlayer:latest-gpu
  113. nvidia-docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-gpu
  114. # for GPU version and Python 3
  115. docker pull tensorlayer/tensorlayer:latest-gpu-py3
  116. nvidia-docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-gpu-py3
  117. ```
  118. --->
  119. # Performance Benchmark
  120. The following table shows the training speeds of [VGG16](http://www.robots.ox.ac.uk/~vgg/research/very_deep/) using TensorLayer and native TensorFlow on a TITAN Xp.
  121. | Mode | Lib | Data Format | Max GPU Memory Usage(MB) |Max CPU Memory Usage(MB) | Avg CPU Memory Usage(MB) | Runtime (sec) |
  122. | :-------: | :-------------: | :-----------: | :-----------------: | :-----------------: | :-----------------: | :-----------: |
  123. | AutoGraph | TensorFlow 2.0 | channel last | 11833 | 2161 | 2136 | 74 |
  124. | | TensorLayer 2.0 | channel last | 11833 | 2187 | 2169 | 76 |
  125. | Graph | Keras | channel last | 8677 | 2580 | 2576 | 101 |
  126. | Eager | TensorFlow 2.0 | channel last | 8723 | 2052 | 2024 | 97 |
  127. | | TensorLayer 2.0 | channel last | 8723 | 2010 | 2007 | 95 |
  128. | | TensorLayer 3.0 | channel last | | | | |
  129. # Getting Involved
  130. Please read the [Contributor Guideline](CONTRIBUTING.md) before submitting your PRs.
  131. We suggest users to report bugs using Github issues. Users can also discuss how to use TensorLayer in the following slack channel.
  132. <br/>
  133. <a href="https://join.slack.com/t/tensorlayer/shared_invite/enQtODk1NTQ5NTY1OTM5LTQyMGZhN2UzZDBhM2I3YjYzZDBkNGExYzcyZDNmOGQzNmYzNjc3ZjE3MzhiMjlkMmNiMmM3Nzc4ZDY2YmNkMTY" target="\_blank">
  134. <div align="center">
  135. <img src="img/join_slack.png" width="40%"/>
  136. </div>
  137. </a>
  138. <br/>
  139. # Citing TensorLayer
  140. If you find TensorLayer useful for your project, please cite the following papers:
  141. ```
  142. @article{tensorlayer2017,
  143. author = {Dong, Hao and Supratak, Akara and Mai, Luo and Liu, Fangde and Oehmichen, Axel and Yu, Simiao and Guo, Yike},
  144. journal = {ACM Multimedia},
  145. title = {{TensorLayer: A Versatile Library for Efficient Deep Learning Development}},
  146. url = {http://tensorlayer.org},
  147. year = {2017}
  148. }
  149. @inproceedings{tensorlayer2021,
  150. title={Tensorlayer 3.0: A Deep Learning Library Compatible With Multiple Backends},
  151. author={Lai, Cheng and Han, Jiarong and Dong, Hao},
  152. booktitle={2021 IEEE International Conference on Multimedia \& Expo Workshops (ICMEW)},
  153. pages={1--3},
  154. year={2021},
  155. organization={IEEE}
  156. }
  157. ```

TensorLayer3.0 是一款兼容多种深度学习框架为计算后端的深度学习库。计划兼容TensorFlow, Pytorch, MindSpore, Paddle.