THF1提供一定的指导意义。
书名镜像:https://thenextweb.com/news/why-tensorflow-for-python-is-dying-a-slow-death
新闻稿:责任编辑为 CSDN 译者,需经容许,明令禁止转发。
译者 | Ari Joury译者者 | 弯月 白眉林 | 屠敏公司出品 | CSDN(ID:CSDNnews)在信息技术行业,各微观的争辩无休止,很多事关不同的作业系统,而有些则是有关云服务商或广度自学架构的优劣。在大小不一的家庭聚会上,席间水满嘴,人们就会争相为各别的技术开打,拥护心中的“死神”。
举个范例,有关 IDE 的争辩唯独没有暂停过,很多人讨厌 Visual Studio,很多人优先选择采用 IntelliJ,而很多人会讨厌采用旧式GUI,如 Vim。
PyTorch 与 TensorFlow 之间也暴发了类似于的内战。这两方都有数以万计反对者,所以他们都有较好的论据而言明为什么他们优先选择的架构才是最合适的。
科折粉,统计数字表明,截止目前,TensorFlow 是采用最广为的广度自学架构。每一月 StackOverflow 上有关 TensorFlow 的问题基本上是 PyTorch 的三倍。
再者,TensorFlow 自 2018 年左右以来就基本上陷于了停滞不前,而 PyTorch 一直在逐步上升。
右图除了比较 PyTorch 与 TensorFlow 以外,还重新加入了 Keras,因为它与 TensorFlow 基本上是同时发布的。但是,正像大家看到的那样,近几年 Keras 的产业发展陷于了困局。单纯而言,Keras 对于绝大多数广度自学专业人士的需求而言过分精简,所以速率很慢了。
图:PyTorch 仍在产业发展中,而 TensorFlow 则陷于了停滞不前。
短期内,StackOverflow 上 TensorFlow 的热度不会快速下降,但仍呈下降趋势。我们有理由相信,这种下降趋势在未来几年会变得更加明显,尤其是在 Python 的世界中。
PyTorch 更符合 Python 的风格TensorFlow 由谷歌开发,于 2015 年底推出,它是第一批广度自学架构之一。然而,第一版的 TensorFlow 采用起来相当麻烦——当然绝绝大多数软件的第一个版本往往都是如此。
这也是 Meta 开发 PyTorch 的原因,目的是提供与 TensorFlow 相同的功能,但更易于采用。
TensorFlow 背后的开发者很快注意到了这一点,并在 TensorFlow 2.0 中引入了许多 PyTorch 最受欢迎的功能。
人们常说,任何PyTorch能完成的工作,TensorFlow也能完成,只不过你要花费双倍的精力编写代码。即使在今天,TensorFlow 的采用也依然有门槛,所以不符合 Python 的风格。
相反,如果你讨厌 Python,那么采用 PyTorch 会觉得非常自然。
PyTorch 有更多可用模型许多公司和学术机构不具备构建大型模型所需的强大计算能力。然而,对于机器自学而言,规模为王。模型越大,性能就越出色。
HuggingFace 提供了大量可供工程师采用的经过训练和调整的大型模型,只需几行代码即可将它们整合到他们的流水线中。然而,这些模型中竟然有 85% 只能用于 PyTorch,只有大约 8% 的 HuggingFace 模型是 TensorFlow 独有的,其余模型则两个架构都可以采用。
这意味着,如果你打算采用大型模型,则最合适远离 TensorFlow,不然就要投资大量计算资源来训练他们的模型。
PyTorch 更适合学生和研究PyTorch 在学术界广受好评。这并非没有道理,四分之三的研究论文都采用了 PyTorch。即使刚开始的时候优先选择采用 TensorFlow 的研究人员,现在绝大多数也已经迁移到了 PyTorch。
尽管谷歌在 AI 研究领域占有相当大的市场份额,并且主要采用 TensorFlow,但上述趋势仍然很惊人,所以将持续存在。
更加需要注意的是,研究会影响教学,因此可以决定学生的自学内容。绝大多数采用 PyTorch 发表论文的教授将更倾向于采用它来教授课程。他们不仅更愿意教授和回答有关 PyTorch 的问题,所以对这个架构的成功更有信心。
因此,与 TensorFlow 相比,大学生对 PyTorch 的了解可能更多。再加上,如今的大学在校生就是明日的软件开发人员,因此这种趋势的走向也就一目了然了……
PyTorch 的生态系统增长更快究其根本,只有当软件架构成为相应生态系统中不可忽视的一股力量时,才会引起人们的注意。PyTorch 和 TensorFlow 都有非常发达的生态系统,除了 HuggingFace 以外,还有其他的训练模型库、数据管理系统、故障预防机制等。
值得一提的是,截止目前,TensorFlow 的生态系统比 PyTorch 更加完善。但请记住,PyTorch 的诞生较晚,并且在过去几年中用户增长非常迅速。因此,预计未来 PyTorch 的生态系统可能会超越 TensorFlow。
TensorFlow 拥有更好的部署基础设施尽管采用 TensorFlow 编写代码非常蹩脚,但一旦编写完成,部署起来难度却远小于 PyTorch。我们可以借助 TensorFlow Serving 和 TensorFlow Lite 等工具,将代码快速部署到云、服务器、移动设备和物联网设备。
再者,PyTorch 的发布部署工具速率非常慢。科折粉,它与 TensorFlow 的差距最近正在迅速缩小。
虽然目前难有定论,但我们相信在未来几年内 PyTorch 的部署基础设施有可能迎面赶上甚至超越 TensorFlow。
短期内,TensorFlow 的热度仍然不会消失,因为部署后切换架构的成本很高。然而,可以想象,今后越来越多的广度自学应用程序将采用 PyTorch 编写和部署。
TensorFlow 支持的编程语言不仅限于 PythonTensorFlow 并没有死,只不过不像以前那么受欢迎了。
其核心原因是许多采用 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 的喜爱程度。
《2022-2023 中国开发者大调查》重磅