开源的深度学习神经网络正步入成熟,而现在有许多框架具备为个性化方案提供先进的机器学习和人工智能的能力。那么如何决定哪个开源框架最适合你呢?本文试图通过对比深度学习各大框架的优缺点,从而为各位读者提供一个参考。你最看好哪个深度学习框架呢?

现在的许多机器学习框架都可以在图像识别、手写识别、视频识别、语音识别、目标识别和自然语言处理等许多领域大展身手,但却并没有一个完美的深度神经网络能解决你的所有业务问题。所以,本文希望下面的图表和讲解能够提供直观方法,帮助读者解决业务问题。

下图总结了在 GitHub 中最受欢迎的开源深度学习框架排名,该排名是基于各大框架在 GitHub 里的收藏数,这个数据由 Mitch De Felice 在 2017 年 5 月初完成。

TensorFlow

地址: https://www.tensorflow.org/

TensorFlow 最开始是由谷歌一个称之为 DistBelief V2 的库发展而来,它是一个公司内部的深度神经网络库,隶属于谷歌大脑项目。有一些人认为 TensorFlow 是由 Theano 彻底重构而来。

谷歌开源 TensorFlow 后,立即吸引了一大批开发爱好者。TensorFlow 可以提供一系列的能力,例如图像识别、手写识别、语音识别、预测以及自然语言处理等。2015 年 11 月 9 号,TensorFlow 在 Apache 2.0 协议下开源发布。

TensorFlow 1.0 版本已于 2017 年 2 月 15 日发布,这个版本是之前 8 个版本的优化改进版,其致力于解决 Tensorflow 之前遇到的一系列问题以及完善一些核心能力。TensorFlow 获得成功的因素有:

TensorFlow 提供了如下工具http://aomenyonli.cn/:

TensorBoard:对于网络模型和效果来说是一个设计优良的可视化工具。

TensorFlow Serving:可以保持相同的服务器架构和 API,使得部署新算法和实验变得简单。TensorFlow Serving 提供了与 TensorFlow 模型开箱即用的整合,但同时还能很容易扩展到其它类型的模型和数据。

TensorFlow 编程接口支持 Python 和 C++。随着 1.0 版本的公布,Java、Go、R 和 Haskell API 的 alpha 版本也将被支持。此外,TensorFlow 还可在谷歌云和亚马孙云中运行。

随着 0.12 版本的发行,TensorFlow 将支持 Windows 7、 Windows 10 和 Server 2016。由于 TensorFlow 使用 C++ Eigen 库,所以库可在 ARM 架构上编译和优化。这也就意味着你可以在各种服务器和移动设备上部署你的训练模型,而无需执行单独的模型解码器或者加载 Python 解释器。

TensorFlow 支持细粒度的网格层,而且允许用户在无需用低级语言实现的情况下构建新的复杂的层类型。子图执行操作允许你在图的任意边缘引入和检索任意数据的结果。这对调试复杂的计算图模型很有帮助。

分布式 TensorFlow(Distributed TensorFlowhttp://dajinnylee.cn/)被加进了 0.8 版本,它允许模型并行,这意味着模型的不同部分可在不同的并行设备上被训练。

自 2016 年 3 月,斯坦福大学、伯克利大学、多伦多大学和 Udacity 都将这个框架作为一个免费的大规模在线开放课程进行教授。

TensorFlow 的缺点如下:

TensorFlow 的每个计算流都必须构造为一个静态图,且缺乏符号性循环(symbolic loops),这会带来一些计算困难。

没有对视频识别很有用的三维卷积(3-D convolution)。

尽管 TensorFlow 现在比起始版本(v0.5)快了 58 倍,,但在执行性能方面依然落后于竞争对手。

Caffe

地址:

Caffe 是贾扬清的杰作,目前他在 Facebook AI 平台担任首席工程师。Caffe 可能是自 2013 年底以来第一款主流的工业级深度学习工具包。正因为 Caffe 优秀的卷积模型,它已经成为计算机视觉界最流行的工具包之一,并在 2014 年的 ImageNet 挑战赛中一举夺魁。Caffe 遵循 BSD 2-Clause 协议。

Caffe 的快速使其完美应用于实验研究和商业部署。Caffe 可在英伟达单个 K40 GPU 上每天处理 6000 万张图像。这大概是 1 毫秒预测一张图片,4 毫秒学习一张图片的速度,而且最新的版本处理速度会更快。

Caffe 基于 C++,因此可在多种设备上编译。它跨平台运行,并包含 Windows 端口。Caffe 支持 C++、Matlab 和 Python 编程接口。Caffe 拥有一个庞大的用户社区,人们在其中为被称为「Model Zoo(https://github.com/BVLC/caffe/wiki/Model-Zoo)」的深度网络库做贡献。AlexNet 和 GoogleNet 就是社群用户构建的两个流行网络

从TensorFlow到PyTorch:九大深度学习框架哪款最适合你?的更多相关文章

  1. 从TensorFlow 到 Caffe2:盘点深度学习框架

    机器之心报道 本文首先介绍GitHub中最受欢迎的开源深度学习框架排名,然后再对其进行系统地对比 下图总结了在GitHub中最受欢迎的开源深度学习框架排名,该排名是基于各大框架在GitHub里的收藏数 ...

  2. 深度学习框架Keras与Pytorch对比

    对于许多科学家.工程师和开发人员来说,TensorFlow是他们的第一个深度学习框架.TensorFlow 1.0于2017年2月发布,可以说,它对用户不太友好. 在过去的几年里,两个主要的深度学习库 ...

  3. TensorFlow与主流深度学习框架对比

    引言:AlphaGo在2017年年初化身Master,在弈城和野狐等平台上横扫中日韩围棋高手,取得60连胜,未尝败绩.AlphaGo背后神秘的推动力就是TensorFlow--Google于2015年 ...

  4. tensorflow(深度学习框架)详细讲解及实战

    还未完全写完,本人会一直持续更新!~ 各大深度学习框架总结和比较 各个开源框架在GitHub上的数据统计,如下表: 主流深度学习框架在各个维度的评分,如下表: Caffe可能是第一个主流的工业级深度学 ...

  5. 转:TensorFlow和Caffe、MXNet、Keras等其他深度学习框架的对比

    http://geek.csdn.net/news/detail/138968 Google近日发布了TensorFlow 1.0候选版,这第一个稳定版将是深度学习框架发展中的里程碑的一步.自Tens ...

  6. ArXiv最受欢迎开源深度学习框架榜单:TensorFlow第一,PyTorch第四

    [导读]Kears作者François Chollet刚刚在Twitter贴出最近三个月在arXiv提到的深度学习框架,TensorFlow不出意外排名第一,Keras排名第二.随后是Caffe.Py ...

  7. 金玉良缘易配而木石前盟难得|M1 Mac os(Apple Silicon)天生一对Python3开发环境搭建(集成深度学习框架Tensorflow/Pytorch)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_189 笔者投入M1的怀抱已经有一段时间了,俗话说得好,但闻新人笑,不见旧人哭,Intel mac早已被束之高阁,而M1 mac已经 ...

  8. 转:【AI每日播报】从TensorFlow到Theano:横向对比七大深度学习框架

    http://geek.csdn.net/news/detail/139235 说到近期的深度学习框架,TensorFlow火的不得了,虽说有专家在朋友圈大声呼吁,不能让TensorFlow形成垄断地 ...

  9. 7大python 深度学习框架的描述及优缺点绍

    Theano https://github.com/Theano/Theano 描述: Theano 是一个python库, 允许你定义, 优化并且有效地评估涉及到多维数组的数学表达式. 它与GPUs ...

随机推荐

  1. CF1039D You Are Given a Tree 根号分治、二分、贪心

    传送门 似乎直接做不太好做-- 当你不会做的时候就可以考虑根号算法了(或许是这样的 考虑如果只有一个询问如何计算答案. 显然是可以贪心的,思路与NOIP2018D1T3是相同的.每一个点向上传一条链, ...

  2. el取bean 对象属性规则

    1,去map  根据map key 2,取bean中属性 根据get方法,getaaa() getAaa() ${xxx.aaa}可以取到此方法. ${xxx.Aaa}报错

  3. php WNMP(Windows+Nginx+Mysql+php)配置笔记

    下载安装 php 修改nginx 文件 参考云盘实例 eclipse php配置服务ip 127.0.0.1:999 以及项目路径(php解析路径)

  4. Ionic2 App Import BrowserAnimationsModule or NoopAnimationsModule问题

    在开发app的过程中遇见了动画相关方面的问题,具体如下: 解决方法是:在app.module.ts模块中引入BrowserAnimationsModule import { BrowserAnimat ...

  5. Luogu P1546 最短网络 Agri-Net

    其实这道题根本没必要写,但为了测试vector+堆优化的Prim试一发. 再次觉得Prim和Dijkstra很像,堆优化版本也差不多. 和Dijkstra一样,Prim也是在之前的dis点中选取一个最 ...

  6. Python从菜鸟到高手(5):数字

    1 基础知识   Python语言与其他编程语言一样,也支持四则运算(加.减.乘.除),以及圆括号运算符.在Python语言中,数字分为整数和浮点数.整数就是无小数部分的数,浮点数就是有小数部分的数. ...

  7. [UWP 自定义控件]了解模板化控件(4):TemplatePart

    1. TemplatePart TemplatePart(部件)是指ControlTemplate中的命名元素.控件逻辑预期这些部分存在于ControlTemplate中,并且使用protected ...

  8. 解决 webpack-dev-server 不能自动刷新的问题

    原文发表于我的技术博客 此文主要帮助大家解决 webpack-dev-server 启动后修改源文件浏览器不能自动刷新的问题. 原文发表于我的技术博客 1. webpack 不能热加载的问题 主要的问 ...

  9. OneZero第一次随感

    >本人基础薄弱,有幸加入这个团队,甚感欣慰.这是本人第一次尝试写博客,说实话,胆怯.因为能力有限,怕技能匮乏,说不好.但是我知道既然加入这个团队,就要为团队负责.万事开头难,过程也挺难(就我个人 ...

  10. 对于League of Legends的分析

    League of Legends是一款在国内甚至国际上都很受欢迎的一款网络竞技行的游戏.它是由美国Riot Games开发,腾讯游戏运营的英雄对战网游.<英雄联盟>除了即时战略.团队作战 ...