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 的应用范围越来越广,不仅能够帮你实现模型和算法,快速完成深度学习模型部署,提供高并发服务,还可以轻松去实现图像生成、文本分析、情感分析这样的有趣实验。
 
从下面这张图就可以看出,它的技术迭代速度,还有生态发展速度都是非常迅猛的。
 

趋势图
 
现在,越来越多的大公司都在使用 PyTorch,很多大厂招聘中,跟算法相关的岗位,也同样会要求你熟练使用 PyTorch 等工具。
PyTorch 这么多优点,要如何高效入门?
在我看来,好的学习资料至少要满足 2 点:一站式学习 + 样例导向。
 
不仅能给出知识体系、线索,掰开揉碎了讲清楚。在此基础上,还要根据实际的案例,上手实操,练过、犯过错,才能懂其中的诀窍,而不是输出一些死记硬背的概念。
 
当然,想满足这个条件的课程,需要老师有长时间的打磨和深厚的功底。
 
完整跟下来,你能获得这样一个从「具体问题 → 找合适的算法与模型 → 自主解决问题」完整技术框架。而熟练使用 PyTorch 工具,解决自己的问题,实现一个小目标。
 
我很看重的一点,专栏不会“罗列”特别多的公式、复杂的推理、大量的程序等,而是把原理详解 + 动手实操,有的放矢。在带领解决问题的过程中帮助你吃透知识点,举一反三。
 
课程设计遵循从入门到精通,分为 3 个递进的部分。
 
● 基础篇
简要介绍 PyTorch 的发展趋势与框架安装方法,以及 NumPy 的常用操作。我们约定使用 PyTorch 1.9.0 版本,还会给你详细讲解安装跟常用编程工具。
 
● 模型训练篇
想要快速掌握一个框架,就要从核心模块入手。在这个部分,为你详解自动求导机制、训练过程可视化、分布式训练等模块,带你看看 PyTorch 能给我们提供怎样的帮助。通过这个部分的学习,你就能基于 PyTorch 搭建网络模型了。
 
● 实战篇
整个专栏都是围绕 PyTorch 框架在具体项目实践中的应用来讲的,最后还会结合当下流行的图像与自然语言处理任务,串连前面两个模块的内容,为你深入讲解 PyTorch 如何解决实际问题。

你可能感兴趣的:(程序员)