若干个深度学习框架的比较

图片[1] | 若干个深度学习框架的比较 | 星尘资源网

原创: 曾剑平 互联网大数据处理技术与应用()

、、等各大公司都推出了深度学习开源框架,包括、Caffe、Keras、CNTK、、等等。下面的表比较直观地列出了各个开源框架、机构及支持的语言。

图片[2] | 若干个深度学习框架的比较 | 星尘资源网

可以看出各大框架基本都支持,大概也是由于在科学计算和数据挖掘领域广泛的各种库,涵盖了Web开发、数据可视化、数据预处理、数据库连接,甚至爬虫等典型应用,的生态环境不错。

在上关注度高的前三名是、Keras和Caffe。从国内关注看,下图是来自百度指数的周数值,就是每周的搜索量,显示出了的关注度远高于其他。至于为什么图中会有三个突变的低谷,留给大家自己思考。

图片[3] | 若干个深度学习框架的比较 | 星尘资源网

可在桌面和移动设备上使用,同一份代码几乎不经过修改就轻松地部署到有任意数量CPU或GPU的PC、服务器或者移动设备上。

只要可以将计算表示成计算图的形式,就可以使用。和Spark的核心都是一个数据计算的流式图,Spark面向的是大规模的数据,支持SQL等操作,而主要面向内存足以装载模型参数的环境,这样可以最大化计算效率。也可以将计算图中的各个节点分配到不同的设备执行,充分利用硬件资源。

用于网络建模和性能的有效数据可视化,对于观察复杂的网络结构和监控长时间、大规模的训练很有帮助。

Keras

虽然强大,但是初学者并不容易上手。如果你想快速构建实验原型,验证某些算法或模型,这种情况Keras是不错的选择。

Keras 强调简单性,你只需几行代码就能构建一个神经网络。Keras由纯编写而成并以、以及CNTK为后端,可以运行在和上。

作为一名Java的老粉,我必须介绍一下(简称DL4J),从上面表中可以看出它是唯一一个全面支持基于Java的开源的分布式深度学习库。

由于目前基于Java的分布式计算、云计算、大数据的生态非常庞大,因此,可以与及Spark自动整合,同时可以方便地在现有集群(包括但不限于AWS,Azure等)上进行扩展,根据集群的节点和连接自动优化,不像其他深度学习库那样可能需要用户手动调整。

作者编著的《互联网大数据处理技术与应用》专著(清华大学出版社,2017)、同名公众号,专注于大数据技术的相关科学和工程知识传播,同时也为读者提供一些拓展阅读材料。关注后可阅读以前推送的原创文章。欢迎选用本书做大数据相关的教材,有相关教学资源共享。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    请登录后查看评论内容