《深度学习之TensorFlow入门、原理与进阶实战》—1.4 其他深度学习框架特点及介绍

举报
华章计算机 发表于 2019/05/30 23:09:50 2019/05/30
【摘要】 本书摘自《深度学习之TensorFlow入门、原理与进阶实战》一书中的第1章,第1.4节,编著是李金洪.

1.4  其他深度学习框架特点及介绍

  下面再来了解一下深度学习领域中的其他常见框架。

* Theano:是一个十余年的Python深度学习和机器学习框架,用来定义、优化和模拟数学表达式计算,用于高效地解决多维数组的计算问题,有较好的扩展性。

* Torch:同样具有很好的扩展性,但某些接口不够全面,如WGAN-GP这样的网络需要手动来修改梯度就没有对应的接口。其最大的缺点是,需要LuaJIT的支持,用于Lua语言,在Python为王的今天,通用性方面显得较差。

* Keras:可以理解为一个Theano框架与TensorFlow前端的一个组合。其构建模型的API调用方式逐渐成为主流,包括TensorFlow、CNTK、MXNet等知名框架,都提供对Keras调用语法的支持。可以说,使用Keras编写的代码,会有更好的可移值性。

* DeepLearning4j:是基于Java和Scala语言开发的,应用在Hadoop和Spark系统之上的深度学习软件。

* Caffe:当年深度学习的老大。最初是一个强大的图像分类框架,是最容易测试评估性能的标准深度学习框架,并且提供很多预训练模型,尤其该模型的复用价值在其他框架的学习中都会出现,大大提升了现有模型的训练时间。但是现在的Caffe似乎停滞不前,没有更新。尽管Caffe又重新掘起,从架构上看更像是TensorFlow,而且与原来的Caffe也不在一个工程里,可以独立成一个框架来看待,与原Caffe关系不大。但仍不建议使用。

* MXNet:是一个可移植的、可伸缩的深度学习库,具有Torch、Theano、Chainer和Caffe的部分特性。不同程度的支持Python、R、Scala、Julia和C ++语言,也是目前比较热门的主流框架之一。

* CNTK:是一个微软开发的深度学习软件包,以速度快著称,有其独有的神经网络配置语言Brain Script,大大降低了学习门槛。有微软作为后盾,CNTK成为了最具有潜力与Tensor Flow争夺天下的框架。但目前其成熟度要比Tensor Flow差太多,即便是发行的版本也会有大大小小的bug。与其他框架一样,CNTK具有文档资料不足的特点。但其与Visual Studio的天生耦合,以及其特定的MS编程风格,使得熟悉Visual Studio工具的小伙伴们从代码角度极易上手。另外,CNTK目前还不支持Mac操作系统。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。