在经历开源这一行为之后,谷歌马上就收获了数量众多的关注, 它具备支持范围广阔的功能, 像是图像、手写、语音识别、预测, 还有自然语言处理这些方面, 它是在2015年11月9日依据2.0许可实现开源的。

2017年2月15日对外发布了1.0版本, 该版本乃是八个先前版本的积累成果, 它将诸多不完整的核心功能以及性能方面的问题予以解决, 下面是成功的性能方面的介绍。

提供以下工具:

编程接口涵盖了C ++, 随着版本1.0的发布, 会对Java、GO、R以及API的alpha版本接口予以支持, 另外, 在特定环境中和Cloud里能得到支持。

跟着, r0.12版予以发布, 此开源软件库当下已然支持、10以及2016。这个开源软件库能够于ARM架构上展开编译以及优化, 鉴于其运用C ++ Eigen库。这表明你能够在各类服务器或者移动设备上布置经过培训的模型, 而用不着去实现单独的模型解码器或者加载解释器。

精细的网格层是被支持的, 用户能够构建新的复杂层类型, 且不是通过低级语言来实现的。子图执行可在图的任意边缘引入并检索自由数据的结果, 这对调试复杂计算图极为有益。

引入之分布式乃版本0.8, 其被允许进行模型并行, 此所意味者, 乃不同部分之模型于不同设备之上能够并行开展训练也。

优达学城()上, 该框架正当在提出有关课程, 于斯坦福大学、加州大学伯克利分校、多伦多大学。

Caffe

Caffe是贾扬清的心血结晶, 贾扬清在领导AI平台工程, Caffe可能是首个主流的行业级深度学习工具包, 此项工具包开创于2013年底, 因其有着优良的卷积模型, 所以它是计算机视觉界颇受欢迎的工具包之一, 并且Caffe在2014年于挑战赛中获取了胜利, Caffe是在BSD 2-开源许可之后发布的。

速度使Caffe变成研究实验以及商业部署的绝佳选择, Caffe能够借助单个K40 GPU每日处理超6000万张图片, 在推理方面, 其速度是1毫秒每张图, 在学习进程中, 速度是4毫秒每张图, 且最新版本的库速度更快。

Caffe是以C++为基础的, 它能够在各类设备上进行编译, 它具备跨平台特性, 涵盖了一个端口, Caffe支持于C ++以及某一编程接口, Caffe存在着一个庞大的用户群体, 他们为自身的深层网络存储库也就是所谓的“Model Zoo”贡献自身力量, 某两种呈现出流行态势且在社区可获取的用户网络是某和某。

流行的用于视觉识别的深度学习网络是Caffe, 只是其不支持像CNTK那样的细粒度网络层, 构造复合层类型得用低级语言来完成, 因其架构传统, 所以它对常规网络以及语言建模的支持, 整体上是很差的。

Caffe 2

TensorFlow开源版本特性_Caffe2与Caffe比较分析_python使用 caffe

其中贾扬清以及他所带领的团队, 正在针对Caffe 2展开研究工作。时值2017年4月18日, 依据BSD许可协议, Caffe 2被进行了开源处理。那么Caffe 2跟Caffe究竟存在怎样的不同之处呢? Caffe 2在侧重点方面, 更倾向于模块化以及具备卓越表现的移动和大规模部署。与之类似, Caffe 2会运用C ++ Eigen库以对ARM架构予以支持。

Caffe模型能够十分轻易地被转换为带有实用程序脚本的Caffe 2模型, Caffe的设计抉择致使其成为应对视觉类型问题的理想挑选之所, Caffe 2持续大力支持视觉类型问题, 不过增添了自然语言处理、手写识别, 以及时间序列预测的循环神经网络(RNN)和长短期记忆网络(LSTM)。

期望Caffe 2, 在不久后边的时间段里, 能够实现对Caffe的超越, 原因在于它是深度学习社区里大众热烈追捧的对象。

CNTK

python使用 caffe_TensorFlow开源版本特性_Caffe2与Caffe比较分析

(那被称作CNTK的事物)属于一种深度神经网络, 它最开始是为了让语音识别得以提升而打造出来的, CNTK能对RNN以及CNN类型的神经模型予以支持, 这使得它成为去应对图像、手写还有语音识别问题的极为合适的候选对象, CNTK支持运用或者C++编程接口的64位Linux以及操作系统, 并且是依据MIT许可来进行发布的。

CNTK跟和的构成相像, 它的网络被规定为向量运算的符号图, 像是矩阵的加法或者乘法, 又或者是卷积。另外, 如同和那般, CNTK准许构建网络层的细粒度程度。构建块也就是操作的细粒度程度让用户能够创造新的复合层类型, 而不是借助低级语言来实现, 例如Caffe。

如同Caffe那般, CNTK同样是基于C++的, 有着跨越平台的CPU/GPU支持, CNTK在Azure GPU Lab提供了最为高效的分布式计算性能, 当前, CNTK对于ARM架构的欠缺支持, 制约了其于移动设备上的功能。

MXNet

TensorFlow开源版本特性_python使用 caffe_Caffe2与Caffe比较分析

MXNet, 其发音为“mix-net”, 它起源于卡内基梅隆大学, 以及华盛顿大学。MXNet是一个功能完备, 具备可编程特性, 且可扩展的深度学习框架, 它能支持最先进的深度学习模式。MXNet提供了混合编程模型, 也就是命令式和声明式的那种, 并且有着能提供大量编程语言代码的能力, 这些编程语言包括C++、R、Scala、Julia等。在2017年1月30日, MXNet进入基金会, 成为其孵化器项目。

MXNet支持深度学习架构, 像卷积神经网络(CNN), 还有循环神经网络(RNN), 这其中包含长短期记忆网络(LTSM)。该框架为成像提供了出色功能, 为手写提供了出色功能, 为语音识别提供了出色功能, 为预测提供了出色功能, 为自然语言处理提供了出色功能。有人声称MXNet是世界上最好的图像分类器。

MXNet具备强大技术, 有着扩展能力, 像GPU并行性以及内存镜像, 还有编程器开发速度与可移植性。另外, MXNet 和一种通用的、分布式的应用程序管理框架YARN集成, 致使MXNet成为竞争对手。

MXNet存在区别, 它是支持生成对抗网络, 也就是GAN模型的, 唯一的深层网络框架。

另一个区别在于, 亚马逊的首席技术官, 做出当众支持MXNet的行为, 其称:“今日, 我们宣告MXNet会成为我们的深度学习框架。”Vogel陆续说道: “我们对其在现有以及即将推出的新服务里加以运用有着相应计划“。苹果公司于2016年收购 / Dato / Turi后, 也存在使用它的相关传闻。

Torch

TensorFlow开源版本特性_python使用 caffe_Caffe2与Caffe比较分析

你提供的内容存在较多表述混乱和语病问题, 我尽力理解后进行改写: Torch是由Ronan和(现在所在的)以及Deep Mind共同开发的, Torch的主要贡献者是某某与某某, Torch获得了BSD 3开源许可, 然而随着最新宣布其改变方向, 使得Caffe 2成为主要的深度学习框架以用于在移动设备上部署深度学习。

Torch是用Lua编程语言来实现的, Lua并非主流语言, 只有当你公司的员工熟练掌握它之后, 才不会对会影响开发人员的整体的整体效率产生影响。

分布式应用程序管理框架在Torch中缺乏, 或者在MXNet中支持YARN缺乏。大量的API编程语言缺乏, 这也对开发人员造成限制。

DL4J

TensorFlow开源版本特性_Caffe2与Caffe比较分析_python使用 caffe

(DL4J)是分布式神经网络库, 是开放源码, 有2.0授权, 由Java和Scala编写。DL4J源自Adam的创意, 是商业级深度学习网络, 且是唯一与Spark集成的, 它能协调多个主机线程。DL4J是独特的深度学习框架, 因其靠Map来训练网络, 还依靠其他库执行大型矩阵操作。

这是DL4J框架, 其内置GPU支持, 此为训练过程里重要功能, 且支持YARN、分布式应用程序管理框架, 它支持丰富深层网络架构, 像RBM、DBN、卷积神经网络(CNN)、循环神经网络(RNN)、RNTN, 以及长短期记忆网络(LTSM), DL4J还包含名为矢量库的支持。

DL4J于Java里开源, 从本质上来说是要比快的那种表现。它跟Caffe有着一样的速度, 被运用于那种使用多个GPU的并非平凡普通意义上的图像识别任务。这个框架针对图像识别、欺诈检测以及自然语言处理给出了相当出色亮眼的功能。

TensorFlow开源版本特性_Caffe2与Caffe比较分析_python使用 caffe

由蒙特利尔大学学习算法学院(MILA)积极地进行维护, 以其创始人为领导, 该实验室有着大约30 - 40名教师以及学生, 是深度学习研究方面的重要贡献者, 支持迅速地开发高效的机器学习算法 , 并凭借BSD许可予以发布。

架构十分简约, 全部源代码库以及接口皆是如此, 当中C/CUDA代码被整理成字符串形式。对于一名开发者而言, 这极为不易掌控、调试以及重构。

使用符号图来对于编程网络开创了一种趋势, 该种趋势下的符号API对循环控制予以支持, 而这种循环控制也就是所谓的扫描, 扫描使得实现RNN此事变得更加容易, 同时也更加高效。

存在着缺乏分布式应用程序管理框架的情况, 且仅仅支持一种编程开发语言, 它是学术研究的一个相当不错的工具, 在一个CPU上能比对更有效地运行, 然而, 在针对大型分布式应用程序展开开发以及提供支持的时候, 有可能会遭遇挑战。

开源或专有

随着学习的不断深入且逐渐成熟起来, 你就将会发觉, Caffe 2与MXNet之间存在着竞争, 这是在预料范围之中的。随着软件供应商去开发拥有最先进水平的智能产品, 进而在由你所提供的数据里获取最大的收益。风险在于你会去购买一种产品, 它究竟是以专有作为基础的, 还是以开源当作基础的? 要是有了开放源码 , 你就会在选择哪一个深入学习框架最为适宜这件事上感到极为困难。在专有的方法里面, 你的退出策略又是什么? 我们不应该从短期的角度去看待, 因为人工智能所带来的回报是取决于其学习能力的成熟程度的。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐