从tensorflow到pytorch:九大深度学习框架哪款最适合你?

author author     2022-09-08     781

关键词:

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

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

下图总结了在 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 就是社群用户构建的两个流行网络

如何高效入门pytorch?深度学习框架是pytorch还是tensorflow?(代码片段)

...来谈谈,如何选个合适的教程,避开它们。一、Tensorflow VS  PyTorch    在这之前,有一个问题肯定困惑大家很久了,2021年了,TensorFlow和PyTorch两个深度学习框架学哪个好呢   ​没有水晶球,我也不知道... 查看详情

对比学习:《深度学习之pytorch》《pytorch深度学习实战》+代码

PyTorch是一个基于Python的深度学习平台,该平台简单易用上手快,从计算机视觉、自然语言处理再到强化学习,PyTorch的功能强大,支持PyTorch的工具包有用于自然语言处理的AllenNLP,用于概率图模型的Pyro,扩展了PyTorch的功能。通... 查看详情

初识pytorch:从安装到入门,从入门到放弃(代码片段)

...ok团队于2017年1月发布的一个深度学习框架,虽然晚于TensorFlow,也没有TensorFlow火,但目前已经与TensorFlow奇虎相当。而且PyTorch采用了Python语言的接口,可以说它才是Python程序员最容易上手的深度学习框架。它就像GP... 查看详情

深度学习之tensorflow

一、TensorFlow简介1.TensorFlow定义:  tensor :张量,N维数组  Flow  : 流,基于数据流图的计算  TensorFlow:张量从图像的一端流动到另一端的计算过程,是将复杂的数据结   构传输至人工... 查看详情

一线开发者在reddit上讨论深度学习框架:pytorch和tensorflow到底哪个更好?

本文标签:  机器学习TensorFlowGoogle深度学习框架分布式机器学习PyTorch 近日,Reddit用户cjmcmurtrie发了一个主题为「PyTorchvs.TensorFlow」的讨论帖,想要了解这两大流行的框架之间各自有什么优势。原帖地址:https://redd.it/5w... 查看详情

手动从 Tensorflow 导入 LSTM 到 PyTorch

】手动从Tensorflow导入LSTM到PyTorch【英文标题】:ImportLSTMfromTensorflowtoPyTorchbyhand【发布时间】:2019-08-0907:25:51【问题描述】:我正在尝试将预训练模型从tensorflow导入PyTorch。它接受单个输入并将其映射到单个输出。当我尝试导入LSTM... 查看详情

pytorch是本科学的吗

...地实现自己的想法。PyTorch也支持多种深度学习框架,如TensorFlow、Keras、Caffe2等,可以让开发者更轻松地构建和训练深度学习模型。PyTorch不是本科学习的一部分,但是它可以帮助本科学生更轻松地构建和训练深度学习模型,从 查看详情

初识pytorch:从安装到入门,从入门到放弃(代码片段)

...ok团队于2017年1月发布的一个深度学习框架,虽然晚于TensorFlow,也没有TensorFlow火,但目前已经与TensorFlow奇虎相当。而且PyTorch采用了Python语言的接口,可以说它才是Python程序员最容易上手的深度学习框架。它就像GP... 查看详情

pytorch与tensorflow怎么选

PyTorch和TensorFlow是目前最主流的两个深度学习框架,绝大多数研究者会选择PyTorch或者TensorFlow进行深度学习的入门学习。图1展示了近两年来几个主流深度学习框架的Google指数,其中PyTorch和TensorFlow的热度不相上下,均... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day1tensorflow和pytorch(代码片段)

深度学习与图神经网络-Tensorflow和Pytorch1.TensorFlow和Pytorch2.TensorFlow简介3.TensorFlow的API4.Pytorch简介5.Python安装6.TensorFlow安装7.Pytorch安装1.TensorFlow和Pytorch2.TensorFlow简介TensorFlow最初是由GoogleBrain团队(隶属于Goo 查看详情

深度学习---从入门到放弃pytorch基础(代码片段)

深度学习—从入门到放弃(一)pytorchTensor类似于numpy的array,pandas的dataframe;在pytorch里的数据结构是tensor,即张量tensor简单操作1.Flattenandreshape###Originalz:tensor([[0,1],[2,3],[4,5],[6,7],[8,9],[10,11]])Flatte 查看详情

嵌入式学深度学习:1pytorch框架搭建(代码片段)

...各个模块来组合成各种网络结构即可。目前常见的框架有TensorFlow和Pytorch,二者综合对比如下:因此,这里选用PyTorch进行学习。深度学习离不开数据&#x 查看详情

1.pytorch是什么?(代码片段)

...U为什么PyTorch在研究人员中如此受欢迎PyTorch是否优于Keras/TensorFlow是否应该在项目中使用PyTorch或Keras/TensorFlow1.PyTorch是什么PyTorch是一个开源机器学习库,专门从事张量计算、自动微分和GPU加速(tensorcomputations,automaticdifferent... 查看详情

pytorch版《动手学深度学习》开源了,最美dl书遇上最赞dl框架

...度学习,想要玩最常见的深度学习框架?那就用PyTorch版的《动手学深度学习》吧,零基础也能入门DL。李沐等人的开源中文书《动手学深度学习》现在有PyTorch版实现了。不论是原书中的示例代码,还是实战项目&#x... 查看详情

直接从 TensorFlow 访问 PyTorch GPU 矩阵

】直接从TensorFlow访问PyTorchGPU矩阵【英文标题】:AccessingPyTorchGPUmatrixfromTensorFlowdirectly【发布时间】:2019-06-2322:38:27【问题描述】:我有一个用PyTorch编写的神经网络,它在GPU上输出一些张量a。我想继续使用高效的TensorFlow层处理a... 查看详情

想学深度学习开发,需要提前掌握哪些python知识?

...在推荐用pytorch,今年的顶会pytorch占了半壁江山,这个比tensorflow,keras简单易懂,而且功能强大,pytorch的库叫做torch,和torchvision同时服用效果更加(还可以加torchnet等一些其他模块)然后在可视化方面:PIL,cv2,visdom或tensorborad... 查看详情

分享《深度学习之pytorch(廖星宇著)》+《pytorch深度学习实战(侯宜军著)》+源代码

...资料分享:https://www.cnblogs.com/javapythonstudy/《深度学习之Pytorch(廖星宇著)》PDF,232页,带书签,文字可以复制粘贴。《PyTorch深度学习实战(侯宜军著)》PDF,121页,带书签,文字可以复制粘贴。配套源代码。如图: 查看详情

分享《深度学习之pytorch(廖星宇著)》+《pytorch深度学习实战(侯宜军著)》+源代码

...VbDVIoA更多资料分享:http://blog.51cto.com/3215120《深度学习之Pytorch(廖星宇著)》PDF,232页,带书签,文字可以复制粘贴。《PyTorch深度学习实战(侯宜军著)》PDF,121页,带书签,文字可以复制粘贴。配套源代码。如图: 查看详情