TensorLayer 基于TensorFlow的新型深度学习和强化学习库开源项目

我要开发同款
匿名用户2019年07月31日
197阅读

技术信息

开源地址
https://gitee.com/TensorLayer/tensorlayer
授权协议
Apache

作品详情

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

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

简单性:TesorLayer将TesorFlow的低级数据流接口提升到高级层/模型。通过广泛社区提供的丰富示例代码,您可以轻松学习。灵活性:TesorLayerAPI是透明的:它不会屏蔽用户的TesorFlow;但留下大量的钩子,有助于低级调整和深度定制。零成本抽象:TesorLayer可以实现TesorFlow的全部功能。下表显示了使用TesorLayer和TITANXp上的原生TesorFlow的VGG16的训练速度。ModeLibDataFormatMaxGPUMemoryUsage(MB)MaxCPUMemoryUsage(MB)AvgCPUMemoryUsage(MB)Rutime(sec)AutoGraphTesorFlow2.0chaellast118332161213674 Tesorlayer2.0chaellast118332187216976GraphKeraschaellast867725802576101EagerTesorFlow2.0chaellast87232052202497 TesorLayer2.0chaellast87232010200795

TesorLayer是作为一个开发库来使用的。 其他包装库如Keras和TFLear也提供高级抽象。然而,它们经常隐藏用户的底层引擎,这使得它们难以定制和微调。相反,TesorLayerAPI通常是轻量级,灵活且透明的。用户经常会发现从示例和教程开始很容易,然后无缝地深入了解TesorFlow。此外,TesorLayer不会通过本机支持创建库锁定,以便从Keras导入组件。

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

模型定义:

静态模型:

importtesorflowastffromtesorlayer.layersimportIput,Dropout,Desefromtesorlayer.modelsimportModeldefget_model(iputs_shape):i=Iput(iputs_shape)=Dropout(keep=0.8)(i)=Dese(_uits=800,act=tf..relu,ame="dese1")()=Dropout(keep=0.8)()=Dese(_uits=800,act=tf..relu)()=Dropout(keep=0.8)()=Dese(_uits=10,act=tf..relu)()M=Model(iputs=i,outputs=,ame="mlp")returMMLP=get_model([Noe,784])MLP.eval()outputs=MLP(data)

动态模型:

classCustomModel(Model):def__iit__(self):super(CustomModel,self).__iit__()self.dropout1=Dropout(keep=0.8)self.dese1=Dese(_uits=800,act=tf..relu,i_chaels=784)self.dropout2=Dropout(keep=0.8)#(self.dese1)self.dese2=Dese(_uits=800,act=tf..relu,i_chaels=800)self.dropout3=Dropout(keep=0.8)#(self.dese2)self.dese3=Dese(_uits=10,act=tf..relu,i_chaels=800)defforward(self,x,foo=False):z=self.dropout1(x)z=self.dese1(z)z=self.dropout2(z)z=self.dese2(z)z=self.dropout3(z)out=self.dese3(z)iffoo:out=tf..relu(out)returoutMLP=CustomModel()MLP.eval()outputs=MLP(data,foo=True)#cotrolstheforwardhereoutputs=MLP(data,foo=False)

 

功能介绍

TensorLayer是一个基于TensorFlow的新型深度学习和强化学习库,专为研究人员和工程师而设计。 它提供了大量可自定义的神经层/功能,这些是构建真实AI应用程序的关键。 Tensor...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论