联系我们
- 地 址:北京市海淀区北四环西路9号 ,主 营:人脸识别,活体检测,身份证识别,银行卡识别,名片识别,车牌识别,OCR识别等及智能识别技术。
- 电 话:13146317170 廖经理
- 传 真:
- 邮 箱:398017534@qq.com
深度学习框架之争
深度学习框架之争
在过去的两年多时间里,各大公司或研讨机构推出本人的深度学习框架,比方Caffe、TensorFlow等,并且关于深度学习相关的框架也在随着时间不时地发作变化。Theano是第一个被普遍运用的深度学习框架,该框架是由深度学习范畴中的大牛Yoshua Bengio牵头、MILA创立。但是,在今年的九月份,MILA宣布在2018年更新完最后一版Theano后,将不再继续开发该框架。这一音讯来得并不是很出人不测。在过去的几年里,一些不同的开源Python深度学习框架被引入,这些深度学习框架通常是由一家大的科技公司或者来自于多家公司结合开发。
640?wx_fmt=png&wxfrom=5&wx_lazy=1
与此同时,谷歌公司开发的TensorFlow似乎成为了最为常用的深度学习框架,一些专家估计,谷歌的TensorFlow将会主导深度学习框架市场很多年。但是,一些其它类型的深度学习框架也逐步吸收了越来越多的用户,最值得留意的是PyTorch深度学习框架。PyTorch是由Facebook公司于2017年1月份开发的深度学习框架,该框架是用C言语完成、Lua言语停止封装,并用Python言语完成GPU加速。除了GPU加速以及高效的内存运用外,PyTorch遭到欢送的其它缘由是其动态计算图的运用,这类动态计算图曾经被其它不主流的深度学习框架运用,比方Chainer。运用这些动态计算图的优点是图是经过运转起来才定义的,而不像传统的“定义并运转”形式,特别是输入可变的状况下具有很大的优势,比方像文本一样的非构造化数据等。
0?wx_fmt=gif
其它的科技巨头也没有坐以待毙,微软公司开发了一款内部深度学习框架CNTK,并与2017年正式推出其第2.0版本并重命名为Microsoft Cognitive Toolkit。同年,Facebook也推出了Caffe2,该框架是众所知周的Caffe框架的继承人。原始的Caffe框架是由伯克利大学视觉和学习中心开发,仍然被普遍应用于计算机视觉范畴,并且还有一些成熟的模型参数可以在Model Zoo中找到,这些模型参数可以用来迁移学习、初始化局部网络参数。目前所知,Caffe2还没有跟上Caffe的脚步。
另外一个盛行的深度学习框架是MXNet,该框架由微软和亚马逊两大巨头赞助。MXNet曾经推出有一段时间了,但当提到深度学习框架MXNet时,经常有人会误以为该框架只是针关于R言语的。其实MXNet支持多种言语,不只包含R言语,还包含其它的言语,比方C++、Python、JavaScript及Go等。MXNet的优势在于其可扩展性及其高性能。
以上这些只是选择了一些应用较为普遍的深度学习框架来引见,还有一些其它的开源深度学习框架比方Deeplearning4j和Dlib(基于C++言语)。此外,谷歌的DeepMind于2017年发布的Sonnet(基于TensorFlow运转的一个高层次面向对象的库)。值得一提的其它深度学习框架还有H2o.ai和Spark。
0?wx_fmt=png
在一切的深度学习框架外,还有些框架接口需求细致引见。最为人知以及应用最为普遍的应用界面毫无疑问是Keras,Keras是用Python写的一个高层次的深度学习应用程序接口(API),由谷歌公司的研讨员 François Chollet 创立。此外,谷歌公司于2017年宣布Keras曾经被选定为TensorFlow的高级API,这也意味着Keras将被包含于下一次发布的TensorFlow版本中。除了TensorFlow外,Keras也能被用在Theano或CNTK中。
Keras 的强大在于它只需简单地叠加多个层就可以创立一个深度学习模型,当运用Keras时,用户不用在层后面做数学运算。这看起来像是一个理想的快速原型制造机,并且Keras也成为了Kaggle竞赛中的抢手工具。
因而,目前在一方面有高层次的Keras API,可以让你随便地构建先进的深度学习模型;在另外一方面,有低层次的TensorFlow框架,可以让建模时变得愈加灵敏,这两个项目都由谷歌公司支持。正如预期的那样,其它公司也不甘人后,微软和亚马逊共同宣布其Gluon API,Gluon是一个高层次的Python深度学习界面,目前支持MXNet框架,不久将支持微软的CNTK框架。Gluon是Keras的直接竞争对手,固然AWS(亚马逊公司旗下云计算效劳平台)宣称它们强力支持一切的深度学习框架,但是AWS当然会支持Gluon在AI范畴的竞争中获胜。
0?wx_fmt=png
出其不意的是,TensorFlow框架的最大竞争对手居然似乎是PyTorch,社区中不时增长对PyTorch框架的研讨兴味,比方在最近的Kaggle竞赛中,用户经常选择运用PyTorch框架作为其局部处理计划,同时也在最新的研讨论文中被运用。在谷歌公司2017年10月发布的最新TensorFlow版本中,引入了一个“运转后定义”的界面。谷歌公司希望这次版本的发布可以赢回那些喜欢PyTorch及其动态图的用户。
关于最盛行的深度学习课程fast.ai的开发者而言,这次变化来得太晚了,fast.ai于9月份宣布将从Keras和TensorFlow转向PyTorch。fast.ai的开创者及Kaggle的首席科学家Jeremy Howard以为,PyTorch将可以继续坚持抢先的势头,时间会证明这个观念能否正确。
目前存在这么多深度学习框架,一些新手在选择一个深度学习框架时会具有面临一些应战。坦率地说,即便是经历丰厚的研讨人员和开发人员都难以跟上最新停顿的脚步。为了应对这个问题,微软和Facebook发布开源项目ONNX(开放神经网络交流),该项目旨在为触及不同编程框架的神经网络创立一种共享的模型表示机制。比方,它允许你树立一个PyTorch模型并运用MXNet框架运转模型。
0?wx_fmt=png
OXXN项目从一开端就支持Caffe2、Microsoft Cognitive Toolkit、MXNet以及PyTorch,但关于其它的开源项目也已增加了一个转化器,比方TensorFlow等。
2017年有许多令人兴奋的开展,这相似于深度学习和人工智能范畴的高速开展。很难去预测明年会发作一些什么事情,但是我们可能会看到一些框架的兼并。固然,一些大型科技公司肯定希望运用并推行本人开发的技术栈,但很快乐看到由不同科技巨头支持的不同深度学习框架互相推进,加快创新。后续将从速度、内存运用、可移植性和可扩展性等方面细致地比拟不同的深度学习框架,敬请等待。
640?wx_fmt=png&wxfrom=5&wx_lazy=1
与此同时,谷歌公司开发的TensorFlow似乎成为了最为常用的深度学习框架,一些专家估计,谷歌的TensorFlow将会主导深度学习框架市场很多年。但是,一些其它类型的深度学习框架也逐步吸收了越来越多的用户,最值得留意的是PyTorch深度学习框架。PyTorch是由Facebook公司于2017年1月份开发的深度学习框架,该框架是用C言语完成、Lua言语停止封装,并用Python言语完成GPU加速。除了GPU加速以及高效的内存运用外,PyTorch遭到欢送的其它缘由是其动态计算图的运用,这类动态计算图曾经被其它不主流的深度学习框架运用,比方Chainer。运用这些动态计算图的优点是图是经过运转起来才定义的,而不像传统的“定义并运转”形式,特别是输入可变的状况下具有很大的优势,比方像文本一样的非构造化数据等。
0?wx_fmt=gif
其它的科技巨头也没有坐以待毙,微软公司开发了一款内部深度学习框架CNTK,并与2017年正式推出其第2.0版本并重命名为Microsoft Cognitive Toolkit。同年,Facebook也推出了Caffe2,该框架是众所知周的Caffe框架的继承人。原始的Caffe框架是由伯克利大学视觉和学习中心开发,仍然被普遍应用于计算机视觉范畴,并且还有一些成熟的模型参数可以在Model Zoo中找到,这些模型参数可以用来迁移学习、初始化局部网络参数。目前所知,Caffe2还没有跟上Caffe的脚步。
另外一个盛行的深度学习框架是MXNet,该框架由微软和亚马逊两大巨头赞助。MXNet曾经推出有一段时间了,但当提到深度学习框架MXNet时,经常有人会误以为该框架只是针关于R言语的。其实MXNet支持多种言语,不只包含R言语,还包含其它的言语,比方C++、Python、JavaScript及Go等。MXNet的优势在于其可扩展性及其高性能。
以上这些只是选择了一些应用较为普遍的深度学习框架来引见,还有一些其它的开源深度学习框架比方Deeplearning4j和Dlib(基于C++言语)。此外,谷歌的DeepMind于2017年发布的Sonnet(基于TensorFlow运转的一个高层次面向对象的库)。值得一提的其它深度学习框架还有H2o.ai和Spark。
0?wx_fmt=png
在一切的深度学习框架外,还有些框架接口需求细致引见。最为人知以及应用最为普遍的应用界面毫无疑问是Keras,Keras是用Python写的一个高层次的深度学习应用程序接口(API),由谷歌公司的研讨员 François Chollet 创立。此外,谷歌公司于2017年宣布Keras曾经被选定为TensorFlow的高级API,这也意味着Keras将被包含于下一次发布的TensorFlow版本中。除了TensorFlow外,Keras也能被用在Theano或CNTK中。
Keras 的强大在于它只需简单地叠加多个层就可以创立一个深度学习模型,当运用Keras时,用户不用在层后面做数学运算。这看起来像是一个理想的快速原型制造机,并且Keras也成为了Kaggle竞赛中的抢手工具。
因而,目前在一方面有高层次的Keras API,可以让你随便地构建先进的深度学习模型;在另外一方面,有低层次的TensorFlow框架,可以让建模时变得愈加灵敏,这两个项目都由谷歌公司支持。正如预期的那样,其它公司也不甘人后,微软和亚马逊共同宣布其Gluon API,Gluon是一个高层次的Python深度学习界面,目前支持MXNet框架,不久将支持微软的CNTK框架。Gluon是Keras的直接竞争对手,固然AWS(亚马逊公司旗下云计算效劳平台)宣称它们强力支持一切的深度学习框架,但是AWS当然会支持Gluon在AI范畴的竞争中获胜。
0?wx_fmt=png
出其不意的是,TensorFlow框架的最大竞争对手居然似乎是PyTorch,社区中不时增长对PyTorch框架的研讨兴味,比方在最近的Kaggle竞赛中,用户经常选择运用PyTorch框架作为其局部处理计划,同时也在最新的研讨论文中被运用。在谷歌公司2017年10月发布的最新TensorFlow版本中,引入了一个“运转后定义”的界面。谷歌公司希望这次版本的发布可以赢回那些喜欢PyTorch及其动态图的用户。
关于最盛行的深度学习课程fast.ai的开发者而言,这次变化来得太晚了,fast.ai于9月份宣布将从Keras和TensorFlow转向PyTorch。fast.ai的开创者及Kaggle的首席科学家Jeremy Howard以为,PyTorch将可以继续坚持抢先的势头,时间会证明这个观念能否正确。
目前存在这么多深度学习框架,一些新手在选择一个深度学习框架时会具有面临一些应战。坦率地说,即便是经历丰厚的研讨人员和开发人员都难以跟上最新停顿的脚步。为了应对这个问题,微软和Facebook发布开源项目ONNX(开放神经网络交流),该项目旨在为触及不同编程框架的神经网络创立一种共享的模型表示机制。比方,它允许你树立一个PyTorch模型并运用MXNet框架运转模型。
0?wx_fmt=png
OXXN项目从一开端就支持Caffe2、Microsoft Cognitive Toolkit、MXNet以及PyTorch,但关于其它的开源项目也已增加了一个转化器,比方TensorFlow等。
2017年有许多令人兴奋的开展,这相似于深度学习和人工智能范畴的高速开展。很难去预测明年会发作一些什么事情,但是我们可能会看到一些框架的兼并。固然,一些大型科技公司肯定希望运用并推行本人开发的技术栈,但很快乐看到由不同科技巨头支持的不同深度学习框架互相推进,加快创新。后续将从速度、内存运用、可移植性和可扩展性等方面细致地比拟不同的深度学习框架,敬请等待。
上一条:深度学习神经网络:多层网络和C++实现
下一条:安卓ios营业执照OCR识别技术