几年前有这样一种声音:“学术界用 PyTorch,工业界用 TensorFlow”,意思是PyTorch 不过是个玩具,无法提供 TensorFlow 所具备的精细化操作。然而发展至今日,如果还有人只把 PyTorch 当成一个新秀,试图在 TensorFlow 主导的机器学习世界里划出一片自己的地盘。那么数据可以证明,这种想法已经过时。事实上,PyTorch 无论在学术界还是在工业界,都已经霸占了半壁江山。
从学术界来看,2019 年之前,TensorFlow 还是各大顶会论文选择的主流框架,而 2019 年之后,顶会几乎成了 PyTorch 的天下,此消彼长,PyTorch 只用了一年的时间。
要知道,深度学习是一个研究驱动的领域,工业界的发展不能忽视学术界的成果,不少团队在上马新项目时,已经决定选择 PyTorch 为开发框架了。不夸张地说,掌握了 PyTorch ,就相当于走上了深度学习、机器学习的快车道。
PyTorch 之所以能风靡全球,是因为它同时具备了高度封装、用户友好、API 兼容、调试方便等特点。相比于 TensorFlow 1.x 和 TensorFlow 2.x 的互不兼容,PyTroch 版本间兼容性很高,并且 API 接口天然适配 numpy,节省了开发者很大的学习成本,只要熟悉 numpy 矩阵操作,就可以很快上手 PyTorch。
其次,PyTorch 的开发生态也相当不错,由于现在越来越多的开发者都在使用 PyTroch,一旦我们的程序遇到了 error 或 bug,很容易就可以在开发论坛上寻找到解决方案。
另外,PyTorch 调试起来也很方便,可以随时输出中间向量结果。用 PyTorch 就像在 Python 中使用 print 一样简单,只要把一个 pdb 断点扔进 PyTorch 模型里,直接就能用。
那么怎样才能快速掌握 PyTorch 呢?我这里推荐方远开设的专栏《PyTorch深度学习实战》,除了交付系统的 PyTorch 技术学习框架,专栏还从实际需求出发,原理 + 实操,传递在深度学习这条路上的经验思考。更重要的是,这个专栏会给你分析问题的能力和和解决问题的方法,让你懂得怎样去优化你自己的算法与模型。
为什么推荐这门课程
我认为最好的学习方法首先要“Play the whole game”,应当首先帮学生快速建立起整个框架的认识,然后再逐步深入细节。如果一上来就钻到细节里,往往会让人迷失方向。学习 PyTorch 框架,首先就需要放在深度学习的大背景下,从实际应用出发,介绍整个框架的应用。
课程设计遵循从入门到精通,共 27 讲,分为 3 个递进的部分。
基础篇
- 简要介绍 PyTorch 的发展趋势与框架安装方法,以及 NumPy 的常用操作。我们约定使用 PyTorch 1.9.0 版本,还会给你详细讲解安装跟常用编程工具。
模型训练篇
- 想快速掌握一个框架,就要从核心模块入手。在这个部分,详解了自动求导机制、训练过程可视化、分布式训练等模块,带你看看 PyTorch 能给我们提供怎样的帮助。通过这部分的学习,你就能基于 PyTorch 搭建网络模型了。
实战篇
- 整个专栏都是围绕 PyTorch 框架在具体项目实践中的应用来讲的,最后还会结合当下流行的图像与自然语言处理任务,串连前面两个模块的内容,为你深入讲解 PyTorch 如何解决实际问题。
有多干货,来看看目录。
推荐给想要进入深度学习领域或想转用 PyTorch 的朋友,真的很值得一看