热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2020,PyTorch真的赶上TensorFlow了吗?

点击我爱计算机视觉标星,更快获取CVML新技术


机器之心报道

参与:张倩、杜伟

几天前,OpenAI 通过官方博客宣布了「全面转向 PyTorch」的消息,计划将自家平台的所有框架统一为 PyPyTorch。这一消息再次引发了社区关于两个框架优劣的讨论。作为后起之秀,PyTorch 真的已经全面赶超 TensorFlow 了吗?为了研究这个问题,数据科学家 Jeff Hale 从在线职位数量、顶会论文中的出现次数、在线搜索结果、开发者使用情况四个方面对两个框架的现状进行了调研。

2020,PyTorch真的赶上TensorFlow了吗?

通过这四个方面的对比,作者最后得出结论,TensorFlow 在大多数领域仍然处于领先地位,但 PyTorch 正在取得进展并逐渐缩小差距。

其实,这已经不是这位作者第一次调研深度学习框架了。从 2018 年到 2020 年,他先后进行过三次调查研究并发布了相关报告。从这些报告中,我们可以看出深度学习框架在多个维度的热度演变史。

2018:TensorFlow 碾压 PyTorch

Jeff Hale 的第一份调研结果发布于 2018 年 9 月。他在那次调研中发现,TensorFlow 是当时的绝对冠军。在 GitHub 活跃度、谷歌搜索量、Medium 文章数、亚马逊书籍和 arXiv 论文等维度上所占的比重都是最大的。此外,TensorFlow 还拥有最多的开发者用户,相关的网上职位描述也是最多的。

2020,PyTorch真的赶上TensorFlow了吗?

2018 年调研得出的深度学习框架实力得分排名。

相比之下,当时的 PyTorch 只能排到第三,得分比当时的第二名 Keras 还要矮上一截。

2020,PyTorch真的赶上TensorFlow了吗?

各个框架在 2018 年调研结果中的加权得分。从中可以看出,TensorFlow 在绝大多数指标中都是绝对冠军,而 PyTorch 大多居于第三名。

2019:PyTorch 火力全开,TensorFlow 增长乏力

2019 年 4 月,Jeff Hale 发布了第二份调查结果。这次,他调研了几个框架在过去 6 个月(此次调研与上次调研之间的时间间隔)里的增长情况。结果发现,TensorFlow 仍然是当时需求量最大、增长最快的框架,但 PyTorch 也不容小觑,在过去的六个月增速超过了原来的第二名 Keras。

2020,PyTorch真的赶上TensorFlow了吗?

2019 年调研得出的深度学习框架增长排名。

值得注意的是,当时的 PyTorch 在职位数量增长方面尤其亮眼,与 TensorFlow 之间的差距非常小。而且,除了领英之外,PyTorch 在所有求职网站上的职位增加量都超过了 TensorFlow。

2020,PyTorch真的赶上TensorFlow了吗?

而在谷歌搜索相对数量方面,TensorFlow 当时已经出现了负增长。这表示,在过去六个月,TensorFlow 的相对搜索数量减少,而 PyTorch 的相对搜索数量增加。

2020,PyTorch真的赶上TensorFlow了吗?

2020:PyTorch 顶会独领风骚,职场优势追赶 TensorFlow

转眼到了 2020 年,框架之争只剩下 PyTorch 和 TensorFlow 两个实力玩家。所以这次,作者把调研的全部精力都放在了这两个框架上。

在这次调研进行时,两个框架已经越来越像了,即出现了「融合」趋势。二者现在都可以在动态 eager execution 模式或静态图模式下运行。

截至目前,PyTorch 已经更新到了 1.4,增加了不少新特性来迎合业界,在谷歌云 TPU 上运行起来也更加容易。此外,PyTorch 的社区也在不断扩大,除了最近的 OpenAI,深度学习开源框架 Chainer 的维护者 Preferred Networks(PFN)也于去年底宣布,该团队今后将不再进行 Chainer 的重大升级,今后的研究方向将转向 PyTorch。

TensorFlow 2.0 也引入了不少新的改进,使得 API 更加精简,对大脑更加友好。此外,TensorFlow 紧密集成了 Keras 作为其前端和高级 API。

与 PyTorch 相比,TensorFlow 在产品和边缘设备深度学习中仍然拥有更加丰富的功能,但是 PyTorch 的功能也在逐渐完善。

在此背景下,此次调研从以下四个评估指标着手,即在线职位数量、顶会论文中出现次数、在线搜索结果和开发者使用情况。

在线职位数量

2020 年 1 月 26 日,作者搜索了 Indeed、Monster、SimplyHired 和 LinkedIn 四个(美国)求职网站中关于 TensorFlow 和 PyTorch 的关键词。

搜索结果如下图所示,TensorFlow 在每个求职网站出现的次数大约是 PyTorch 的两倍。

2020,PyTorch真的赶上TensorFlow了吗?

以百分比计数展示结果如下:

2020,PyTorch真的赶上TensorFlow了吗?

在 10 个月前的调研结果(即 2019 年调研结果)中,TensorFlow 出现在职位列表中的次数是 PyTorch 的三倍,如今差距进一步缩短,降到了两倍。

顶会论文中的出现次数

当前,PyTorch 在顶会论文中出现的次数最多。如下图所示,前 PyTorch 实习生 Horace He 做了一个图表,展示了各大顶会(2017 年-2019 年)论文中,PyTorch 出现次数在 TensorFlow/PyTorch 总出现次数中的占比情况:占比超过 50% 意味着在该顶会论文中 PyTorch 出现的次数多于 TensorFlow。从图中可以看出,PyTorch 在各大顶会中的出现次数几乎都超过了 TensorFlow。

2020,PyTorch真的赶上TensorFlow了吗?

图源:https://chillee.github.io/pytorch-vs-tensorflow/

下图展示了 PyTorch 和 TensorFlow 在 NeurIPS 会议论文中(2016 年-2019 年)的直观对比和趋势发展,实线代表 PyTorch,虚线代表 TensorFlow:其中,在 2019 NeurIPS 会议论文中,PyTorch 出现 166 次,TensorFlow 出现 74 次,是后者的两倍之多;而在 2018 年 NeurIPS 会议论文中,PyTorch 的出现次数还是少于 TensorFlow 的。这些可以看出两种框架近年来的发展趋势。

2020,PyTorch真的赶上TensorFlow了吗?

图源:https://chillee.github.io/pytorch-vs-tensorflow/

在线搜索结果

作者通过 Google Trends 找出了 2017 年 1 月 26 日至 2020 年 1 月 26 日期间,PyTorch(软件)和 TensorFlow(计算机应用)的相对搜索量。

下图是谷歌搜索结果(Google Search Results)线性趋势线,蓝色代表 TensorFlow,红色代表 PyTorch。从图中可以看出,TensorFlow 的性对搜索量呈下降趋势,而 PyTorch 呈增长趋势,二者差距越来越小。

2020,PyTorch真的赶上TensorFlow了吗?

 图源:https://public.tableau.com/profile/jeff.hale6436#!/vizhome/shared/SCFBWY2SP

开发者使用情况

在 2019 年初的 Stack Overflow 开发者调研中,10% 的受访者使用 TensorFlow,3.3% 的受访者使用 Torch/PyTorch。专业开发人员的使用占比情况同样如此(9.4%vs 2.9%)。但鉴于数据取自 2019 年初,现在的真实情况可能有所变化。

总之,在线职位数量中,TensorFlow 的出现次数依然多于 PyTorch,但差距正在缩小;PyTorch 在顶会论文中出现的次数一直处于领先地位,并在谷歌搜索结果中进一步缩小了与 TensorFlow 的差距;在最近一次的 Stack Overflow 开发者调研中,TensorFlow 的使用占比依然是 PyTorch 的三倍。

最后,作者表示,他关于 TensorFlow 和 PyTorch 两种深度学习框架的调研还会继续下去,但目前仍不确定未来两年选择哪种框架最合适。但他认为,TensorFlow 是更加安全的选择。

最后,作者为想要学习深度学习的读者提供了一些有用的资源:如 course.fast.ai 网站:https://course.fast.ai/index.html。

参考链接:

https://towardsdatascience.com/is-pytorch-catching-tensorflow-ca88f9128304


TF & PyTorch学习群

学习交流TensorFlow、PyTorch深度学习框架的使用,欢迎加入52CV-TF & PyTorch群,扫码添加CV君拉你入群,如已为CV君其他账号好友请直接私信,

请务必注明:框架):

2020,PyTorch真的赶上TensorFlow了吗?

喜欢在QQ交流的童鞋可以加52CV官方QQ群:805388940

(不会时时在线,如果没能及时通过还请见谅)


2020,PyTorch真的赶上TensorFlow了吗?

长按关注我爱计算机视觉


推荐阅读
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • Java源代码安全审计(二):使用Fortify-sca工具进行maven项目安全审计
    本文介绍了使用Fortify-sca工具对maven项目进行安全审计的过程。作者通过对Fortify的研究和实践,记录了解决问题的学习过程。文章详细介绍了maven项目的处理流程,包括clean、build、Analyze和Report。在安装mvn后,作者遇到了一些错误,并通过Google和Stack Overflow等资源找到了解决方法。作者分享了将一段代码添加到pom.xml中的经验,并成功进行了mvn install。 ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
  • location,locationManager
    https:stackoverflow.comsearch?tabvotes&q[android]locationisnullhttps:developer.android.go ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • AndroidStudio 2.3迁移3.0踩坑之——Could not resolve project
    参见StackOverflow如果你的项目引用了自己的库,在迁移到3.0后,编译就会报错。Error:Failedtoresolve:Couldnotresolveproject: ... [详细]
  • jvm内存区域与溢出为什么学习jvm木板原理,最短的一块板决定一个水的深度,当一个系统垃圾收集成为瓶颈的时候,那么就需要你对jvm的了解掌握。当一个系统出现内存溢出,内存泄露的时候 ... [详细]
author-avatar
不必要有人假装很懂我_987
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有