总有人在后盾问我,现在 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 如何解决理论问题。