服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

TensorFlow 难敌 PyTorch,终是败下阵?

日期: 来源:Python极客专栏收集编辑:
作者 | Ari Joury
译者 | 弯月      责编 | 屠敏
出品 | CSDN(ID:CSDNnews)

在科技行业,各个层面的争论无休无止,有些关乎不同的操作系统,而有些则是关于云提供商或深度学习框架的优缺点。在大大小小的聚会上,几杯酒水下肚,人们就会纷纷为各自的技术开战,拥戴心中的“圣杯”。

举个例子,关于 IDE 的争论从来没有停止过,有些人喜欢 Visual Studio,有些人选择使用 IntelliJ,而有些人则喜欢使用老式编辑器,如 Vim。

PyTorch 与 TensorFlow 之间也爆发了类似的战争。这两大阵营都有大批支持者,而且他们都有很好的论据来说明为什么自己选择的框架才是最好的。

话虽如此,统计数据表明,截至目前,TensorFlow 是使用最广泛的深度学习框架。每个月 StackOverflow 上有关 TensorFlow 的问题几乎是 PyTorch 的两倍。

另一方面,TensorFlow 自 2018 年左右以来就几乎陷入了停滞,而 PyTorch 一直在稳步上升。

下图除了比较 PyTorch 与 TensorFlow 之外,还加入了 Keras,因为它与 TensorFlow 几乎是同时发布的。但是,正如大家看到的那样,近年来 Keras 的发展陷入了困境。简单来说,Keras 对于大多数深度学习从业者的需求来说过于简化,而且速度太慢了。

图:PyTorch 仍在发展中,而 TensorFlow 则陷入了停滞。

短期内,StackOverflow 上 TensorFlow 的热度不会快速下降,但仍呈下降趋势。我们有理由相信,这种下降趋势在未来几年会变得更加明显,尤其是在 Python 的世界中。



1.PyTorch 更符合 Python 的风格

TensorFlow 由谷歌开发,于 2015 年底推出,它是第一批深度学习框架之一。然而,第一版的 TensorFlow 使用起来相当麻烦——当然绝大多数软件的第一个版本往往都是如此。

这也是 Meta 开发 PyTorch 的原因,目的是提供与 TensorFlow 相同的功能,但更易于使用。

TensorFlow 背后的开发者很快注意到了这一点,并在 TensorFlow 2.0 中引入了许多 PyTorch 最受欢迎的功能。

人们常说,任何PyTorch能完成的工作,TensorFlow也能完成,只不过你要花费双倍的精力编写代码。即使在今天,TensorFlow 的使用也依然有门槛,而且不符合 Python 的风格。

相反,如果你喜欢 Python,那么使用 PyTorch 会觉得非常自然。



2.PyTorch 有更多可用模型

许多公司和学术机构不具备构建大型模型所需的强大计算能力。然而,对于机器学习而言,规模为王。模型越大,性能就越出色。

HuggingFace 提供了大量可供工程师使用的经过训练和调整的大型模型,只需几行代码即可将它们整合到自己的流水线中。然而,这些模型中竟然有 85% 只能用于 PyTorch,只有大约 8% 的 HuggingFace 模型是 TensorFlow 独有的,其余模型则两个框架都可以使用。

这意味着,如果你打算使用大型模型,则最好远离 TensorFlow,不然就要投资大量计算资源来训练自己的模型。


3.PyTorch 更适合学生和研究

PyTorch 在学术界广受好评。这并非没有道理,四分之三的研究论文都使用了 PyTorch。即使刚开始的时候选择使用 TensorFlow 的研究人员,现在大多数也已经迁移到了 PyTorch。

尽管谷歌在 AI 研究领域占有相当大的市场份额,并且主要使用 TensorFlow,但上述趋势仍然很惊人,而且将持续存在。

更加需要注意的是,研究会影响教学,因此可以决定学生的学习内容。大多数使用 PyTorch 发表论文的教授将更倾向于使用它来教授课程。他们不仅更愿意教授和回答有关 PyTorch 的问题,而且对这个框架的成功更有信心。

因此,与 TensorFlow 相比,大学生对 PyTorch 的了解可能更多。再加上,如今的大学在校生就是明日的软件开发人员,因此这种趋势的走向也就一目了然了……


4.PyTorch 的生态系统增长更快

究其根本,只有当软件框架成为相应生态系统中不可忽视的一股力量时,才会引起人们的注意。PyTorch 和 TensorFlow 都有非常发达的生态系统,除了 HuggingFace 之外,还有其他的训练模型库、数据管理系统、故障预防机制等。

值得一提的是,截至目前,TensorFlow 的生态系统比 PyTorch 更加完善。但请记住,PyTorch 的诞生较晚,并且在过去几年中用户增长非常迅速。因此,预计未来 PyTorch 的生态系统可能会超越 TensorFlow。


5.TensorFlow 拥有更好的部署基础设施

尽管使用 TensorFlow 编写代码非常蹩脚,但一旦编写完成,部署起来难度却远小于 PyTorch。我们可以借助 TensorFlow Serving 和 TensorFlow Lite 等工具,将代码快速部署到云、服务器、移动设备和物联网设备。

另一方面,PyTorch 的发布部署工具速度非常慢。话虽如此,它与 TensorFlow 的差距最近正在迅速缩小。

虽然目前难有定论,但我们相信在未来几年内 PyTorch 的部署基础设施有可能迎面赶上甚至超越 TensorFlow。

短期内,TensorFlow 的热度仍然不会消失,因为部署后切换框架的成本很高。然而,可以想象,今后越来越多的深度学习应用程序将采用 PyTorch 编写和部署。


6. TensorFlow 支持的编程语言不仅限于 Python

TensorFlow 并没有死,只不过不像以前那么受欢迎了。

其核心原因是许多使用 Python 开发机器学习项目的人正在转战 PyTorch。

但是 Python 并不是唯一的机器学习语言。只不过许多开发机器学习项目都使用了 Python,这也是 TensorFlow 的开发人员努力支持 Python 的唯一原因。

如今,人们可以结合使用 TensorFlow 与 JavaScript、Java 和 C++ 等。社区也开始开发 Julia、Rust、Scala 和 Haskell 等其他语言的支持。

另一方面,PyTorch 的一切都以 Python 为中心,这也是为什么这个框架非常符合 Python 风格的原因。虽然 PyTorch 有一个 C++ API,但对其他语言的支持还不到 TensorFlow 的一半。

单论 Python,PyTorch 肯定更占优势,但另一方面,TensorFlow 拥有强大的生态系统和部署功能,而且支持很多其他语言,所以仍将是深度学习领域不可忽视的力量。

总的来说,您的下一个项目是选择 TensorFlow 还是 PyTorch,主要取决于您对 Python 的喜爱程度。


最后,给大家推荐一本高分PyTorch的书籍《PyTorch自然语言处理入门与实战》

点击下方小程序即可购买


相关阅读

  • NIST将对网络安全框架进行重大更新

  • 聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士美国国家标准与技术研究院 (NIST) 正在计划对网络安全框架 (CSF) 进行重大更新。这是五年来首次对该框架进行更新。CSF 在20
  • 学习ChatGPT,AI绘画引入人类反馈会怎样?

  • 机器之心报道编辑:杜伟、陈萍NLP 领域使用的技术不断地向其他领域扩展,如 CV 和多模态,鸿沟正在被打破。本文中谷歌研究院和加州伯克利的研究人员在文本到图像模型中引入人类反
  • ChatGPT 在中国的风口:差距多大?

  • 我在几天前的文章里说过,面对 ChatGPT 这样的风口,每家大公司都不想错过。有朋友问我,是不是没发声的大公司对这件事不重视?怎么可能?如果把 ChatGPT 看作技术的话,国内巨头公司这

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • TensorFlow 难敌 PyTorch,终是败下阵?

  • 作者 | Ari Joury译者 | 弯月 责编 | 屠敏出品 | CSDN(ID:CSDNnews)在科技行业,各个层面的争论无休无止,有些关乎不同的操作系统,而有些则是关于云提供商或深度学习框架的优
  • 如何写好 Python 的 Lambda 函数?

  • 当你需要完成一件小工作时,在本地环境中使用这个函数,可以让工作如此得心应手,它就是Lambda 函数。Lambda 函数是 Python 中的匿名函数。有些人将它们简称为lambdas,它们的语法
  • 955.WLB 不加班公司名单,新增5家公司

  • 本次新增的五家公司是:Canva、EPAM Systems、LEGO Group、Optiver 和 Two Sigma 。Canva 是全球领先的在线设计平台,创建于2013年,总部位于澳大利亚悉尼,使命是“赋予世界设计的
  • 18 万美元 offer!ChatGPT 通过谷歌 L3 入职测试

  • 来源:新智元【导读】ChatGPT已经通过谷歌面试,拿下offer了。看来,替代全部码农它还做不到,但替代一部分,已经是绰绰有余了。打不过就加入?最近,ChatGPT成功通过了谷歌的面试,拿到了