请点击 TensorLayerX 🔥🔥🔥
TensorLayer 是一个基于 TensorFlow 的创新深度学习和强化学习库,专为研究人员和工程师设计。它提供了丰富的可定制神经网络层集合,能够快速构建高级 AI 模型,基于此,社区开源了大量教程和应用。TensorLayer 被 ACM Multimedia Society 评为 2017 年最佳开源软件。 该项目也可以在 OpenI 和 Gitee 找到。
新闻
- 🔥 TensorLayerX 是一个统一的深度学习和强化学习框架,适用于所有硬件、后端和操作系统。当前版本支持 TensorFlow、Pytorch、MindSpore、PaddlePaddle、OneFlow 和 Jittor 作为后端,允许用户在 Nvidia-GPU 和华为 Ascend 等不同硬件上运行代码。
- TensorLayer 现在已在 OpenI 上。
- 强化学习动物园: 为专业用途提供的低级 API,为简单用途提供的高级 API,以及对应的Springer 教科书。
- Sipeed Maxi-EMC: 在低成本 AI 芯片(例如 K210) 上运行 TensorLayer 模型(Alpha 版本)。
设计特点
TensorLayer 是一个以简单性、灵活性和高性能为设计目标的新深度学习库。
- 简单性: TensorLayer 具有高级别的层/模型抽象,易于学习。通过大量示例,你可以在几分钟内学会深度学习如何有助于你的 AI 任务。
- 灵活性: TensorLayer 的 API 透明且灵活,灵感来源于新兴的 PyTorch 库。与 Keras 的抽象相比,TensorLayer 使构建和训练复杂的 AI 模型变得更加容易。
- 零成本抽象: 尽管使用简单,但 TensorLayer 不要求你在 TensorFlow 的性能上做出任何妥协(请参阅下面的基准部分以获取更多详细信息)。
TensorLayer 在 TensorFlow 的封装库中占据了一个独特的位置。其他封装库如 Keras 和 TFLearn 隐藏了 TensorFlow 的许多强大功能,并且对编写自定义 AI 模型的支持很少。受 PyTorch 启发,TensorLayer 的 API 简单、灵活且 Pythonic,易于学习,同时灵活性足以应对复杂的 AI 任务。 TensorLayer 拥有一个快速发展的社区。它已被全球的研究人员和工程师使用,包括来自北京大学、帝国理工学院、加州大学伯克利分校、卡内基梅隆大学、斯坦福大学的研究人员,以及 Google、微软、阿里巴巴、腾讯、小米和彭博等公司的工程师。
多语言文档
TensorLayer 拥有广泛的文档,适合初学者和专业人士使用。文档提供了英语和中文版本。
如果你想尝试主分支上的实验性功能,你可以在这里找到最新文档。
丰富的示例
你可以在这里和以下空间中找到大量使用TensorLayer的示例:
开始使用
TensorLayer 2.0依赖于TensorFlow、numpy等。要使用GPU,需要安装CUDA和cuDNN。
安装TensorFlow:
pip3 install tensorflow-gpu==2.0.0-rc1 # TensorFlow GPU(版本2.0 RC1)
pip3 install tensorflow # CPU版本
安装稳定版的TensorLayer:
pip3 install tensorlayer
安装不稳定的开发版本的TensorLayer:
pip3 install git+https://github.com/tensorlayer/tensorlayer.git
如果你想安装额外的依赖项,你也可以运行
pip3 install --upgrade tensorlayer[all] # 所有额外依赖项
pip3 install --upgrade tensorlayer[extra] # 仅`extra`依赖项
pip3 install --upgrade tensorlayer[contrib_loggers] # 仅`contrib_loggers`依赖项
如果你是TensorFlow 1.X的用户,你可以使用TensorLayer 1.11.0:
# 对于TensorLayer 1.X的最后稳定版本
pip3 install --upgrade tensorlayer==1.11.0
性能基准
下表展示了在TITAN Xp上使用TensorLayer和原生TensorFlow训练VGG16的速度。
模式 | 库 | 数据格式 | 最大GPU内存使用量(MB) | 最大CPU内存使用量(MB) | 平均CPU内存使用量(MB) | 运行时间(秒) |
---|---|---|---|---|---|---|
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 |
参与其中
在提交PR之前,请阅读贡献者指南。
我们建议用户使用Github问题报告错误。用户也可以在以下slack频道中讨论如何使用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}
}