深度学习学习框架

在深度学习初始阶段,每个深度学习研究者都需要写大量的重复代码。为了提高工作效率,这些研究者就将这些代码写成了一个框架放到网上让所有研究者一起使用。接着,网上就出现了不同的框架。随着时间的推移,最为好用的几个框架被大量的人使用从而流行了起来。 [1] 全世界最为流行的深度学习框架有Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。

TensorFlow

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。

TensorFlow可被用于语音识别或图像识别等多项机器学习和深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。TensorFlow将完全开源,任何人都可以用。

Google 开源的Tensorflow是一款使用C++语言开发的开源数学计算软件,使用数据流图(Data Flow Graph)的形式进行计算。图中的节点代表数学运算,而图中的线条表示多维数据数组(tensor)之间的交互。Tensorflow灵活的架构可以部署在一个或多个CPU、GPU的台式及服务器中,或者使用单一的API应用在移动设备中。Tensorflow最初是由研究人员和Google Brain 团队针对机器学习和深度神经网络进行研究而开发,开源之后几乎可以在各个领域适用。

Tensorflow是全世界使用人数最多、社区最为庞大的一个框架,因为Google公司出品,所以维护与更新比较频繁,并且有着Python和C++的接口,教程也非常完善,同时很多论文复现的第一个版本都是基于Tensorflow写的,所以是深度学习界框架默认的老大。

Caffe

卷积神经网络框架

Caffe,全称Convolutional Architecture for Fast Feature Embedding。是一种常用的深度学习框架,主要应用在视频、图像处理方面的应用上。

caffe是一个清晰,可读性高,快速的深度学习框架。作者是贾扬清,加州大学伯克利的ph.D,现就职于Facebook。caffe的官网是http://caffe.berkeleyvision.org/。

Theano

Theano于2008年诞生于蒙特利尔理工学院,其派生出了大量的深度学习Python软件包,最著名的包括Blocks和Keras。Theano的核心是一个数学表达式的编译器,它知道如何获取你的结构,并使之成为一个使用numpy、高效本地库的高效代码,如BLAS和本地代码(C++)在CPU或GPU上尽可能快地运行。它是为深度学习中处理大型神经网络算法所需的计算而专门设计,是这类库的首创之一(发展始于2007年),被认为是深度学习研究和开发的行业标准。

但是开发Theano的研究人员大多去了Google参与Tensorflow的开发,所以,某种程度来讲Tensorflow就像Theano的孩子。[1]

MXNet

MXNet的主要作者是李沐,最早就是几个人抱着纯粹对技术和开发的热情做起来的,如今成了亚马逊的官方框架,有着非常好的分布式支持,而且性能特别好,占用显存低,同时其开发的语言接口不仅仅有Python和C++,还有R,Matlab,Scala,JavaScript,等等,可以说能够满足使用任何语言的人。

但是MXNet的缺点也很明显,教程不够完善,使用的人不多导致社区不大,同时每年很少有比赛和论文是基于MXNet实现的,这就使得MXNet的推广力度和知名度不高。 [1]

Torch

Torch是一个有大量机器学习算法支持的科学计算框架,其诞生已有十年之久,但是真正起势得益于Facebook开源了大量Torch的深度学习模块和扩展。Torch的特点在于特别灵活,但是另一个特殊之处是采用了编程语言Lua,在深度学习大部分以Python为编程语言的大环境之下,一个以Lua为编程语言的框架有着更多的劣势,这一项小众的语言增加了学习使用Torch这个框架的成本。

PyTorch

PyTorch的前身便是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这是很多主流深度学习框架比如Tensorflow等都不支持的。

PyTorch既可以看作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。除了Facebook外,它已经被Twitter、CMU和Salesforce等机构采用。 [1]

你可能感兴趣的:(深度学习学习框架)