TensorFlow 真的要被 PyTorch 比下去了吗?

总有人在后台问我,如今 TensorFlow 和 PyTorch 两个深度学习框架,哪个更流行?

就这么说吧,今年面试的实习生,问到常用的深度学习框架时,他们清一色的选择了「PyTorch」。

这并不难理解,这两年,PyTorch 框架凭借着对初学者的友好性、灵活性,发展迅猛,几乎占据了深度学习领域的半壁江山。比起 TF 的框架环境配置不兼容,和 Keras 由于高度封装造成的不灵活,PyTorch 无论是在学术圈还是工业界,都相当占优势。不夸张地说,掌握了 PyTorch ,就相当于走上了深度学习、机器学习的快车道。

那么,PyTorch 为什么这么强?

首先,PyTorch 的命令式的编程风格,这对用户很友好。

PyTorch 设计得更科学,不必像 TF 那样,还要在各种 API 之间做切换,操作便捷。代码可读性也更强,能让人把注意力集中在问题本身而不是实现。一个 layer 也只对应一种函数,不用去纠结应该学习哪个。

其次,PyTorch 的易用性更好,而且生态起来了,大部分论文开源都是用 PyTorch。

PyTorch各种开发版本都能向下兼容,环境配置和网络搭建分分钟拿下。而且 PyTorch 跟 NumPy 风格比较像,轻易就能和Python 生态集成起来,开发者掌握了NumPy跟基本的深度学习概念就能上手。

还有,PyTorch 在 debug 代码的过程也十分方便,可以随时输出中间向量结果。

使用 PyTorch 就像在 Python 中使用 print 一样简单,只要把一个 pdb 断点扔进 PyTorch 模型里,直接就能用了。

而且 PyTorch 的应用范围越来越广,不仅能够帮你实现模型和算法,快速完成深度学习模型部署,提供高并发服务,还可以轻松去实现图像生成、文本分析、情感分析这样的有趣实验。

从下图可以看出,它的技术迭代速度,以及生态发展的速度都非常快。

[En]

As can be seen from the picture below, its technical iteration speed, as well as the speed of ecological development are very rapid.

TensorFlow 真的要被 PyTorch 比下去了吗?

趋势图

现在,越来越多的大公司都在使用 PyTorch,很多大厂招聘中,跟算法相关的岗位,也同样会要求你熟练使用 PyTorch 等工具。

PyTorch 这么多优点,要如何高效入门?

在我看来,好的学习材料至少要满足两点:一站式学习+样本化。

[En]

In my opinion, good learning materials should meet at least two points: one-stop learning + sample-oriented.

它不仅能给出知识体系和线索,还能把它拆开,讲清楚。在此基础上,还要根据实际情况,练习、犯错误,以了解诀窍,而不是死记硬背地输出一些概念。

[En]

It can not only give the knowledge system and clues, but also break it apart and explain it clearly. On this basis, but also according to the actual case, practice, make mistakes, in order to understand the tricks, rather than output some concepts by rote.

当然,要满足课程的这一条件,教师需要有很长的时间来打磨和深厚的技能。

[En]

Of course, to meet this condition of the curriculum, teachers need to have a long time to polish and profound skills.

完整跟下来,你能获得这样一个从「具体问题 → 找合适的算法与模型 → 自主解决问题」完整技术框架。而熟练使用 PyTorch 工具,解决自己的问题,实现一个小目标。

我很看重的是,栏目不会把很多公式、复杂的推理、大量的程序等一一列出来,而是详细讲解原理+动手实践,目标明确。在引导解决问题的过程中,帮助你理解知识点,从别人那里吸取例子。

[En]

What I value very much is that the column will not “list” a lot of formulas, complex reasoning, a large number of programs, etc., but explain the principles in detail + hands-on practice, with a clear target. In the process of leading the problem-solving process to help you understand the knowledge points, draw examples from others.

课程设计遵循从入门到熟练的顺序,分为三个递进部分。

[En]

The course design follows from introduction to proficiency, which is divided into three progressive parts.

  • 基础篇

简要介绍 PyTorch 的发展趋势与框架安装方法,以及 NumPy 的常用操作。我们约定使用 PyTorch 1.9.0 版本,还会给你详细讲解安装跟常用编程工具。

  • 模型训练篇

想要快速掌握一个框架,就要从核心模块入手。在这个部分,为你详解自动求导机制、训练过程可视化、分布式训练等模块,带你看看 PyTorch 能给我们提供怎样的帮助。通过这个部分的学习,你就能基于 PyTorch 搭建网络模型了。

  • 实战篇

整个专栏都是围绕 PyTorch 框架在具体项目实践中的应用来讲的,最后还会结合当下流行的图像与自然语言处理任务,串连前面两个模块的内容,为你深入讲解 PyTorch 如何解决实际问题。

了解更多 来极客时间极客时间-轻松学习,高效学习-极客邦

Original: https://blog.csdn.net/m0_68101999/article/details/123553628
Author: 小极客geekbang
Title: TensorFlow 真的要被 PyTorch 比下去了吗?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/509410/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球