TensorLayer 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
TensorLayer 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
TensorLayer 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
TensorLayer 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
TensorLayer 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

TensorLayer是一个基于TensorFlow的新型深度学习和强化学习库,专为研究人员和工程师而设计。 它提供了大量可自定义的神经层/功能,这些是构建真实AI应用程序的关键。 TensorLayer被ACM多媒体协会授予2017年最佳开源软件。

作为深度学习从业者,我们一直在寻找可以满足各种开发目的的库。 通过提供各种示例,教程和预先训练的模型,可以轻松采用该库。 此外,它允许用户轻松微调TensorFlow; 同时适合生产部署。 TensorLayer旨在满足所有这些目的。 它有三个主要特点:

  • 简单性:TensorLayer将TensorFlow的低级数据流接口提升到高级层/模型。 通过广泛社区提供的丰富示例代码,您可以轻松学习。
  • 灵活性:TensorLayer API是透明的:它不会屏蔽用户的TensorFlow; 但留下大量的钩子,有助于低级调整和深度定制。
  • 零成本抽象:TensorLayer可以实现TensorFlow的全部功能。 下表显示了使用TensorLayer和TITAN Xp上的原生TensorFlow的VGG16的训练速度。
    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 是作为一个开发库来使用的。 其他包装库如Keras和TFLearn也提供高级抽象。 然而,它们经常隐藏用户的底层引擎,这使得它们难以定制和微调。 相反,TensorLayer API通常是轻量级,灵活且透明的。 用户经常会发现从示例和教程开始很容易,然后无缝地深入了解TensorFlow。 此外,TensorLayer不会通过本机支持创建库锁定,以便从Keras导入组件。

TensorLayer在北京大学,伦敦帝国理工学院,加州大学伯克利分校,卡内基梅隆大学,斯坦福大学,康涅狄格大学(UTC)以及谷歌,微软,阿里巴巴等公司等顶尖研究人员和工程师中的使用增长迅速。

模型定义:

静态模型:

import tensorflow as tf
from tensorlayer.layers import Input, Dropout, Dense
from tensorlayer.models import Model

def get_model(inputs_shape):
    ni = Input(inputs_shape)
    nn = Dropout(keep=0.8)(ni)
    nn = Dense(n_units=800, act=tf.nn.relu, name="dense1")(nn)
    nn = Dropout(keep=0.8)(nn)
    nn = Dense(n_units=800, act=tf.nn.relu)(nn)
    nn = Dropout(keep=0.8)(nn)
    nn = Dense(n_units=10, act=tf.nn.relu)(nn)
    M = Model(inputs=ni, outputs=nn, name="mlp")
    return M

MLP = get_model([None, 784])
MLP.eval()
outputs = MLP(data)

动态模型:

class CustomModel(Model):

    def __init__(self):
        super(CustomModel, self).__init__()

        self.dropout1 = Dropout(keep=0.8)
        self.dense1 = Dense(n_units=800, act=tf.nn.relu, in_channels=784)
        self.dropout2 = Dropout(keep=0.8)#(self.dense1)
        self.dense2 = Dense(n_units=800, act=tf.nn.relu, in_channels=800)
        self.dropout3 = Dropout(keep=0.8)#(self.dense2)
        self.dense3 = Dense(n_units=10, act=tf.nn.relu, in_channels=800)

    def forward(self, x, foo=False):
        z = self.dropout1(x)
        z = self.dense1(z)
        z = self.dropout2(z)
        z = self.dense2(z)
        z = self.dropout3(z)
        out = self.dense3(z)
        if foo:
            out = tf.nn.relu(out)
        return out

MLP = CustomModel()
MLP.eval()
outputs = MLP(data, foo=True) # controls the forward here
outputs = MLP(data, foo=False)

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
tensorlayer竟然11票,托很多呀
2019/11/18 10:21
回复
举报
更多评论
暂无内容
发表于AI & 大数据专区
2020/07/13 10:23

TensorLayer学习之简介与安装

Tensorlayer简介 深度学习框架使用的问题 对于深度学习开发者来说,深度学习系统变得越来越复杂。以至于我们需要使用轻量级的工具从头到尾来管理流程,为了将更多的连续学习内置到神经网络中,这就要求我们建立可以迭代增强的更有弹性的数据集以及更多的动态模型。 深度学习开发人员必须花费大量的时间来整合神经网络的组件,管理模型生命周期,组织数据和调整系统并行度等等。随着使用新的培训样本后,人类对于神经网络模型的见...

0
0
发表了博客
2018/04/29 13:14

用tensorlayer导入Slim模型迁移学习

  上一篇博客【用tensorflow迁移学习猫狗分类】笔者讲到用tensorlayer的【VGG16模型】迁移学习图像分类,那麽问题来了,tensorlayer没提供的模型怎么办呢?别担心,tensorlayer提供了tensorflow中的【slim模型】导入功能,代码例子在tutorial_inceptionV3_tfslim。   那么什么是slim?slim到底有什么用? slim是一个使构建,训练,评估神经网络变得简单的库。它可以消除原生tensorflow里面很多重复的模板性的代码,让代码更...

0
0
发表了博客
2018/06/23 09:44

(转)如何用TensorLayer做目标检测的数据增强

数据增强在机器学习中的作用不言而喻。和图片分类的数据增强不同,训练目标检测模型的数据增强在对图像做处理时,还需要对图片中每个目标的坐标做相应的处理。此外,位移、裁剪等操作还有可能使得一些目标在处理后只有一小部分区域保留在原图中,这需要额外的机制来判断是否需要去掉该目标来训练模型。为此TensorLayer 1.7.0(tf>=1.4 && tl>=1.7)发布中,提供了大量关于目标检测任务的数据集下载、目标坐标处理、数据增强的A...

0
0
发表了博客
2019/04/06 00:41

深度原理与框架-图像超分辨重构-tensorlayer

图像超分辨重构的原理,输入一张像素点少,像素较低的图像, 输出一张像素点多,像素较高的图像 而在作者的文章中,作者使用downsample_up, 使用imresize(img, []) 将图像的像素从原理的384,384降低到96, 96, 从而构造出高水平的图像和低水平的图像 作者使用了三个部分构成网络, 第一部分是生成网络,用于进行图片的生成,使用了16层的残差网络,最后的输出结果为tf.nn.tanh(),即为-1, 1, 因为图像进行了-1,1的预处理 第二部...

0
0
发表于AI & 大数据专区
2018/06/04 15:09

超全总结:神经网络加速之量化模型 | 附带代码

量化模型(Quantized Model)是一种模型加速(Model Acceleration)方法的总称,包括二值化网络(Binary Network)、三值化网络(Ternary Network),深度压缩(Deep Compression)等。鉴于网上关于量化模型的不多,而且比较零散,本文将结合 TensorLayer 来讲解各类量化模型,并讨论一下我们过去遇到的各种坑。文章最后会介绍一些关于人工智能芯片的技术。 TensorLayer 是一个基于 TensorFlow 的高级开发工具,提供大量数据处理...

0
0
2020/07/06 21:43

姿态估计 | OpenPose Plus值得期待

点击我爱计算机视觉标星,更快获取CVML新技术 卡内基梅隆大学开源的OpenPose姿态估计库,出自论文“Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”,提供了实时的2D姿态估计算法实现。其极大的促进了姿态估计领域的发展,成为该领域的经典标杆。 但是,原始OpenPose的训练代码基于Caffe和C++,难以再次定制开发。 而在实际项目中,开发人员往往需要根据自身的需求定制自己的训练集、数据增强方法等。 ...

0
0
发表了博客
2019/01/18 14:34

TensorFlow的封装

TensorFlow是比较底层的深度学习API,TF-Slim、TFLearn、Keras和TensorLayer均尝试简化TensorFlow/Theano,它们对TensorFlow/Theano的进行高层封装,API实现更加的工程化。从1.0开始,TensorFlow官方支持Keras,所以Keras会成为主流。 TF-Slim: A high level library to define complex models in TensorFlow. 链接:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/slim TFLearn: A deep learning l...

0
0
2018/09/10 09:05

想转行人工智能?哈佛博士后有话说!

从17年开始,各大高校的数据科学与大数据技术专业持续火爆,2018年,北京大学、西安交通大学等高校更在本科阶段设立人工智能一级学科,中国顶尖人才的流向在悄然改变…… 据目前最新的数据显示,AI行业开发人员的月薪基本上维持在10K~50K之间,人工智能岗位的薪酬水平明显高于其他职能岗位。 当看到这些消息,你是否有些心生落寞。 这个时代似乎正在以我们越来越看不懂的方式在发展。 于你而言,人工智能,是一个闪耀而遥远的字...

0
0
2018/09/29 08:35

想转行人工智能?机会来了!!!

“我想转行拿高薪!” ——人工智能已从“概念炒作”真正进入“实际应用”阶段 2017年7月20日,国务院发布《新一代人工智能发展规划》,正式开启国内人工智能的新篇章。 人才缺口高达80万 随着人工智能技术的发展及国家政策的支持,人工智能人才需求到达井喷期,真正供不应求。 从业者年薪30万起 人工智能从业者薪资水平居IT行业首位。0年经验AI工程师年薪30万起,算法工程师等年薪40万+。 进入国企/BAT机会 国家项目、互联网、...

0
0
2018/08/23 09:03

为什么有那么多人选择人工智能,真的有那么好吗?

人工智能专业是中国高校人计划设立的专业,旨在培养中国人工智能产业的应用型人才,推动人工智能一级学科建设。 2018年4月,教育部在研究制定《高等学校引领人工智能创新行动计划》,并研究设立人工智能专业,进一步完善中国高校人工智能学科体系。 —百度百科 人工智能的研究是从以“推理”为重点到以“知识”为重点,再到以“学习”为重点,一条自然、清晰的脉络,其中机器学习便是非常重要的人工智能解决手段。 机器学习是从...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
1 评论
66 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部