TensorLayer是一个为研究人员和工程师设计的基于TensorFlow的深度学习和强化学习库。它提供了大量的可定制的神经层来快速构建高级的AI模型,在此基础上,社区开源的MASStutorials和applicationsTensorLayer荣获2017年度最佳开源软件奖ACM Multimedia Society该项目也可以在iHub和Gitee
新闻
🔥3.0.0将支持多个后端,如TensorFlow、MindSporte、PaddlePaddle等,允许用户在NVIDIA-GPU和华为-Ascend等不同硬件上运行代码。我们需要更多的人加入开发团队,如果你感兴趣,请发电子邮件hao.dong@pku.edu.cn
🔥强化学习动物园:Low-level APIs对于专业用途,High-level APIs对于简单的用法,以及相应的Springer textbook
🔥Sipeed Maxi-EMC:在上运行TensorLayer模型一种低成本的AI芯片(例如K210)(Alpha版本)
设计特点
TensorLayer是一个全新的深度学习库,其设计考虑到了简单性、灵活性和高性能
- 简单性:TensorLayer具有易于学习的高级层/模型抽象。您可以在几分钟内了解深度学习如何为您的人工智能任务带来好处,通过海量的examples
- 灵活性:TensorLayer API是透明和灵活的,灵感来自新兴的PyTorch库。与KERAS抽象相比,TensorLayer使构建和训练复杂的AI模型变得容易得多
- 零成本抽象:虽然使用起来很简单,但TensorLayer并不要求您在TensorFlow的性能上做出任何妥协(有关更多详细信息,请查看以下基准测试部分)
TensorLayer位于TensorFlow包装器中的一个独特位置。其他包装器,如Kera和TFLearn,隐藏了TensorFlow的许多强大功能,并且对编写自定义AI模型几乎没有提供支持。受到PyTorch的启发,TensorLayer API简单、灵活、Pythonic,让学习变得轻松,同时足够灵活地应对复杂的AI任务。TensorLayer拥有一个快速增长的社区。它已经被世界各地的研究人员和工程师使用,包括来自北京大学、伦敦帝国理工学院、加州大学伯克利分校、卡内基梅隆大学、斯坦福大学的研究人员和工程师,以及谷歌、微软、阿里巴巴、腾讯、小米和彭博社等公司的研究人员和工程师
多语种文档
TensorLayer为初学者和专业人士提供了大量文档。该文档有英文和中文两种版本。
如果您想在主分支上尝试实验功能,可以找到最新的文档here
大量的例子
中可以找到大量使用TensorLayer的示例here以及以下空格:
快速入门
TensorLayer2.0依赖于TensorFlow、Numpy等。要使用GPU,需要CUDA和cuDNN
安装TensorFlow:
pip3 install tensorflow-gpu==2.0.0-rc1 # TensorFlow GPU (version 2.0 RC1)
pip3 install tensorflow # CPU version
安装稳定版本的TensorLayer:
pip3 install tensorlayer
安装TensorLayer的不稳定开发版本:
pip3 install git+https://github.com/tensorlayer/tensorlayer.git
如果要安装其他依赖项,还可以运行
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
如果您是TensorFlow 1.X用户,则可以使用TensorLayer 1.11.0:
# For last stable version of TensorLayer 1.X
pip3 install --upgrade tensorlayer==1.11.0
性能基准
下表显示了以下各项的训练速度VGG16在Titan XP上使用TensorLayer和原生TensorFlow
模式 | Lib | 数据格式 | 最大GPU内存使用量(MB) | 最大CPU内存使用量(MB) | 平均CPU内存使用率(MB) | 运行时间(秒) |
---|---|---|---|---|---|---|
亲笔签名 | TensorFlow 2.0 | 最后一个频道 | 11833 | 2161 | 2136 | 74 |
TensorLayer 2.0 | 最后一个频道 | 11833 | 2187 | 2169 | 76 | |
图表 | 凯拉斯 | 最后一个频道 | 8677 | 2580 | 2576 | 101 |
渴望 | TensorFlow 2.0 | 最后一个频道 | 8723 | 2052年 | 2024年 | 97 |
TensorLayer 2.0 | 最后一个频道 | 8723 | 2010年 | 2007年 | 95 |
参与其中
请阅读Contributor Guideline在提交您的请购单之前
我们建议用户使用Github问题报告错误。用户还可以讨论如何在以下空闲通道中使用TensorLayer
引用TensorLayer
如果您觉得TensorLayer对您的项目有用,请引用以下论文:
@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}
}