TensorFlow到PyTorch:九大深度学习框架

 

框架有PaddlePaddle、Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。

PaddlePaddle

GitHub项目地址:https://github.com/PaddlePaddle/Paddle

官网:https://www.paddlepaddle.org.cn/

飞桨          (PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,是中国首个自主研发、功能完备、开源开放的产业级深度学习平台,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体。截至2022年12月,飞桨已汇聚535万开发者,服务20万家企事业单位,基于飞桨开源深度学习平台构建了67万个模型。开源开放的飞桨已经成为中国深度学习市场应用规模第一的深度学习框架和赋能平台。飞桨助力开发者快速实现AI想法,快速上线AI业务。帮助越来越多的行业完成AI赋能,实现产业智能化升级。

  • 飞桨在业内率先实现了动静统一的框架设计,兼顾灵活性与高性能,并提供一体化设计的高层API和基础API,确保用户可以同时享受开发的便捷性和灵活性。

  • 在大规模分布式训练技术上,飞桨率先支持了千亿稀疏特征、万亿参数、数百节点并行训练的能力,并推出业内首个通用异构参数服务器架构,达到国际领先水平。

  • 飞桨拥有强大的多端部署能力,支持云端服务器、移动端以及边缘端等不同平台设备的高速推理;飞桨推理引擎支持广泛的AI芯片,已经适配和正在适配的芯片或IP达到29款,处于业界领先地位。

  • 飞桨围绕企业实际研发流程量身定制打造了大规模的官方模型库,算法总数达到270多个,服务企业遍布能源、金融、工业、农业等多个领域。

Tensorflow

GitHub地址:https://github.com/tensorflow/tensorflow

官网:https://tensorflow.google.cn/?hl=zh-cn

           

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

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

Caffe

GitHub地址:https://github.com/BVLC/caffe

官网地址:https://github.com/BVLC/caffe

        和Tensorflow名气一样大的是深度学习框架Caffe​​​​​​https://github.com/BVLC/caffe,由加州大学伯克利的Phd贾扬清开发,全称是Convolutional Architecture for Fast Feature Embedding,是一个清晰而高效的开源深度学习框架,由伯克利视觉中心(Berkeley Vision and Learning Center,BVLC)进行维护。

从它的名字就可以看出其对于卷积网络的支持特别好,同时也是用C++写的,提供的C++接口,也提供了matlab接口和python接口。

Caffe之所以流行,是因为之前很多ImageNet比赛里面使用的网络都是用Caffe写的,所以如果你想使用这些比赛的网络模型就只能使用Caffe,这也就导致了很多人直接转到Caffe这个框架下面。

Caffe的缺点是不够灵活,同时内存占用高,Caffe的升级版本Caffe2已经开源了,修复了一些问题,同时工程水平得到了进一步提高。

Caffe2已被弃用:Caffe2现在是PyTorch的一部分。虽然 API 将继续工作,但我们鼓励您使用 PyTorch API。

Theano

GitHub地址:https://github.com/Theano/Theano

官网地址:

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

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

MXNet

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

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

Torch

GitHub地址:https://github.com/torch

官网地址:http://torch.ch/

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

PyTorch

GitHub地址:https://github.com/pytorch/pytorch

pytorch官网:https://pytorch.org/

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值