PyTorch 深度学习实战
方远
LINE China 数据科学家
10381 人已学习
新⼈⾸单¥59
登录后,你可以任选3讲全文学习
课程目录
已完结/共 32 讲
开篇词 (1讲)
PyTorch 深度学习实战
15
15
1.0x
00:00/10:48
登录|注册

开篇词 | 如何高效入门PyTorch?

讲述:方远大小:9.86M时长:10:48
你好,我是方远,欢迎你跟我一起学习 PyTorch。
先做个自我介绍吧!我曾先后供职于百度和腾讯两家公司,任职高级算法研究员,目前在一家国际知名互联网公司 Line China 担任数据科学家,从事计算机视觉与自然语言处理相关的研发工作,每天为千万级别的流量提供深度学习服务。
想一想,我进入机器学习与深度学习的研究和应用领域已经有 10 年的时间了,这是个很有意思的过程。在人工智能快速发展的背景下,各种各样的深度学习框架层出不穷,有当下的主流,也有如今的新秀。
为什么我会这么说呢?这其实可以追溯到我的研究生时期。最早,我只是把 PyTorch,打上了一个新秀的标签,记得那时候,深度学习的浪潮才刚刚兴起,传统的机器学习开始转到深度学习,但是我们能选的框架却十分有限。
当时在学术界流行的一个深度学习框架是 Theano,可能有的同学都没有听说过它。这个框架就像是祖师爷般的存在,从 2008 年诞生之后的很长一段时间中,它都是深度学习开发和研究的行业标准。
为了复现论文中的算法,我开始学习 Theano。接触之后,我发现它的声明式编程,无论是风格还是逻辑都十分奇特。而且那时候的学习资料很匮乏,只能啃官方的说明文档。如此一来,我觉得 Theano 十分晦涩难学,入门门槛非常高。
后来,我去到了互联网大厂的核心部门工作。那时学术界已经涌现出了很多深度学习方面的研究,而工业界才刚刚开始将深度学习技术落地。Google 的 TensorFlow 框架于 2015 年正式开源,而我们的团队也开始着手把深度学习技术应用于文本处理等方向。
2017 年,Google 发布了 TensorFlow 1.0 版本,到了 2019 年,又发布了 2.0 新版本。TensorFlow 1.x 版本时期,TensorFlow 框架拥有大量的用户。不过,问题也非常明显,主要的弊端就是框架环境配置不兼容,新老版本函数差异也很大,且编程困难
但凡涉及版本更新,总会出现 API 变化,前后版本不兼容的问题。并且当我阅读别人代码的时候,TensorFlow 1.x 的可读性也不是很高。这些问题都增加了我的学习成本。直到 TensorFlow 2.x 版本,TensorFlow 逐渐借鉴了 PyTorch 的优点,进行了自我完善。
而与 TensorFlow 同一时期横空出世,也拥有众多用户的一个深度学习框架还有 Keras。Keras 的 API 对用户十分友好,使用起来很容易上手。如果有什么想法需要快速实验,看一看效果,那 Keras 绝对是不二的选择。
但是,高度模块化的封装也同样会带来弊端,看起来学习 Keras 似乎十分容易,但我很快就遇到了瓶颈。高度封装就意味着不够灵活,比如说如果需要修改一些网络底层的结构,Keras 所提供的接口就没有支持。在使用 Keras 的大多数时间里,我们主要都停留在调用接口这个阶段,很难真正学习到深度学习的内容。
直到 PyTorch 出现,随着使用它的人越来越多,其技术迭代速度跟生态发展速度都很迅猛。如果你在 GitHub 找到了一个 PyTorch 项目相关的开源代码,我们可以很容易移植到自己的项目中来,直接站在巨人的肩膀上看世界。
而且相比前面那些主流框架,PyTorch 有着对用户友好的命令式编程风格。PyTorch 设计得更科学,无需像 TensorFlow 那样,要在各种 API 之间切换,操作更加便捷。
PyTorch 的环境配置也很方便,各种开发版本都能向下兼容,不存在老版本的代码在新版本上无法使用的困扰,而且 PyTorch 跟 NumPy 的风格比较像,能轻易和 Python 生态集成起来,我们只需掌握 NumPy 和基本的深度学习概念即可上手,在网络搭建方面也是快捷又灵活。
另外,PyTorch 在 debug 代码的过程也十分方便,可以随时输出中间向量结果。用 PyTorch 就像在 Python 中使用 print 一样简单,只要把一个 pdb 断点扔进 PyTorch 模型里,直接就能用。
因为它的优雅灵活和高效可用,吸引了越来越多的人学习。如果还有人只把 PyTorch 当成一个新秀,觉得 PyTroch 不过是个“挑战者”,试图在 TensorFlow 主导的世界里划出一片自己的地盘。那么数据可以证明,这种想法已经时过境迁。事实上,PyTorch 无论在学术界还是在工业界,都已经霸占了半壁江山。
从学术界来看,2019 年之前,TensorFlow 还是各大顶会论文选择的主流框架,而 2019 年之后,顶会几乎成了 PyTorch 的天下,此消彼长,PyTorch 只用了一年的时间。
要知道,机器学习这个领域始终是依靠研究驱动的,工业界自然也不能忽视科学研究的成果。就拿我所在的团队来说,现在也已经逐步向 PyTorch 框架迁移,新开展的项目都会首选用 PyTorch 框架进行实现。
不得不说,PyTorch 的应用范围已经逐渐扩大,同时也促进了其生态建设的发展。由于现在越来越多的开发者都在使用 PyTroch,一旦我们的程序遇到了 error 或 bug,很容易就可以在开发论坛上寻找到解决方案。
总之,一旦你掌握了 PyTorch,就相当于走上了深度学习、机器学习的快车道。以后学习其他深度学习框架也可以快速入门,融会贯通。
如果你即将或者已经进入了深度学习和机器学习相关领域,PyTorch 能够帮你快速实现模型与算法的验证,快速完成深度学习模型部署,提供高并发服务,还可以轻松实现图像生成、文本分析、情感分析等有趣的实验。另外有很多算法相关的岗位,也同样会要求你熟练使用 PyTorch 等工具。
可以探索的方向还有很多,这里就不一一列举了。那么问题来了,既然 PyTorch 有这么多优点,我们要怎样快速上手呢?
只看原理好比空中楼阁,而直接实战对初学者来说又相对困难。因此我推荐的方法是,先理一个整体框架,有了整体认知之后,再通过实战练习巩固认知。
具体来说,我们要先把框架的基本语法大致了解一下,然后尽快融入到一个实际项目当中,看一看在实际任务中,我们是怎么基于框架去解决一个问题的。这个专栏,也正是沿着这样一个思路设计的。我在专栏里给你提供了丰富的代码和实战案例,可以帮助你快速上手 PyTorch。
专栏知识地图
通过这个专栏,你将会熟练使用 PyTorch 工具,解决自己的问题,这是这个专栏要实现的最基础的目标。
除了掌握工具用法之上,我希望交付的终点是让你获得分析问题的能力和解决问题的方法,让你懂得如何优化你自己的算法与模型。在学习经验方面,我希望这个专栏为你打开一扇窗,让你知道走深度学习这条路,需要有怎样的知识储备。
为了让你由入门到精通,我把专栏分成了三个递进的部分。
基础篇
简要介绍 PyTorch 的发展趋势与框架安装方法,以及 PyTorch 的前菜——NumPy 的常用操作。我们约定使用 PyTorch 1.9.0 版本,以及默认你已经掌握了 Python 编程与简单的机器学习基础,不过你也不用太过担心,遇到新知识的我基本都会从 0 开始讲起的。
模型训练篇
想要快速掌握一个框架,就要从核心模块入手。在这个部分,会结合深度学习模型训练的一系列流程,为你详解自动求导机制、搭建网络、更新模型参数、保存与加载模型、训练过程可视化、分布式训练等等模块,带你具体看看 PyTorch 能给我们提供怎样的帮助。通过这个部分的学习,你就能基于 PyTorch 搭建网络模型了。
实战篇
我们整个专栏都是围绕 PyTorch 框架在具体项目实践中的应用来讲的,所以最后我还会结合当下流行的图像与自然语言处理任务,串联前面两个模块的内容,为你深入讲解 PyTorch 如何解决实际问题。
总之,除了交付给你一个系统的 PyTorch 技术学习框架,我还希望给你传递我在深度学习这条路上的经验思考
最后,给你一点建议,对于学习 PyTorch 来说,边学边查、边练边查是个很好的方法。因为在我们实际做项目的时候,肯定会遇到一些之前没有使用过的函数,自己去查的话可以很好地加强记忆。
当然,我也会尽心做好一个引路人,带你一步步实现课程目标,也期待你能以更加积极的状态投入到本次的学习之旅。现在就让我们一起探索 PyTorch,打开深度学习的大门吧!
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

PyTorch入门指南:深度学习框架的选择与应用 本文作者分享了自己在深度学习框架选择和应用方面的经验和见解。文章首先介绍了作者的背景和对不同深度学习框架的认识,重点评价了PyTorch的优点,包括其友好的命令式编程风格、方便的环境配置、灵活性和高效性。作者还指出PyTorch在学术界和工业界的应用逐渐扩大,成为了主流框架之一。最后,作者提出了学习PyTorch的建议,包括先理解整体框架,再通过实战练习巩固认知。整体而言,本文是一篇关于PyTorch的入门指南,适合对深度学习和机器学习感兴趣的读者阅读学习。文章内容涵盖了PyTorch框架的特点、应用和学习建议,为读者提供了全面的了解和学习指导。

2021-10-1185人觉得很赞给文章提建议

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《PyTorch 深度学习实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(19)

  • 最新
  • 精选
  • Geek_608066
    置顶
    之前看到过方远老师的深度学习深度剖析课程,写的很好,就连我这个小白都能看懂。这次又有了实战课程,666啊~希望我能跟进一步

    作者回复: 你好,感谢你的留言。希望能与你一起学习、进步,加油~

    2021-10-20
    3
    4
  • 李凯
    看到pytorch深度学习实战直接就购买了,希望能在老师带领下,学有所成

    作者回复: 你好,李凯。感谢留言,希望能和你共同进步,一起加油:)

    2021-10-12
    5
  • 奋斗
    方远老师你好,小白初学者,之前做过简单的机器学习算法。方远老师,本专拦对于深度学习小白,首先搭建深度学习实验环境,Mac电脑可以吗?比如专栏后面的实战项目mac能运行吗?还是必须要用gpu服务器那。能给个基础的运行环境硬件的参考吗?谢谢方远老师。

    作者回复: 你好,奋斗。感谢你的留言。对于学习来说Mac是可以的,后面的实战内容有的也是可以用Mac训练的。 不过对于真实的项目来说,都会上GPU的。

    2021-10-11
    5
  • 细雨平湖
    老师,这门课处理的是英文文本还是汉语文本?英文文本在国内用处不大啊。。。

    作者回复: 你好,细雨平湖。谢谢留言。届时我们将采用Bert,多语言使得语言种类并没有那么重要。中英文都可以处理^^。

    2021-10-20
    2
    4
  • Oditto
    老师好,对于完全是小白的新人入门,除了专栏中讲的内容之外,有什么自主学习的建议或者经验分享吗

    作者回复: 你好,Oditto,首先谢谢你的留言。 如果是完全完全小白的话,可以先去看一些机器学习的基本概念。 例如,什么是训练集、验证集,以及机器学习算法的分类(例如,什么是有监督学习,什么是无监督学习)这样的。 如果你已经都知道的话,我觉得可以先学习专栏里的内容。 因为专栏里不光光介绍了PyTorch的使用方法,还会介绍一些背后的理论知识。 例如,什么是损失函数、什么是优化方法等,并且专栏中还有目前主流应用的实战环节。 我相信,你完成了这些的学习之后,你会找到自己感兴趣的方向(自然语言处理、CV或者其他),并且有能力再进一步的自我学习。:)

    2021-10-14
    2
  • ileruza
    老师好,我是做后端的,因为项目需要用到yolov5做图像识别,所以用到了pytorch。 以前完全没搞过AI,虽然跟着pytorch的tutorials都能顺利跑下来,但是换成自己的模型best.pt就各种受阻碍了,我觉得我应该是没正确理解pytorch的使用方式,迫于无奈只能重新仔细学习pytorch。 我的目标是拿到一个别人训练好的pt就能建模就能用,所以我暂时并不想了解太多关于底层AI算法的原理。 这门课应该能达到我的目标吧

    作者回复: 你好,感谢留言。 单纯调用的话我觉得不是一个问题,只要这个模型的提供者有一个模型调用的demo,都可以解决的你的问题吧。

    2022-10-18归属地:北京
    2
    1
  • Chloe
    老师是自行车爱好者呀,发现每课都是自行车的照片

    编辑回复: 是呀,老师业余喜欢骑自行车~

    2022-01-26
    1
  • Sendlc
    赞啊,一直想学PyTorch,最后的实战篇好吸引人,期待。

    作者回复: 你好,Sendlc。感谢你的留言。后面很精彩~

    2021-10-20
    1
  • rong
    终于有pytorch的课程了,看了老师后面的课程,老师讲的内容非常通俗易懂。对于小白我的来说也可以很好的理解。

    作者回复: 你好,rong。感谢你的留言与认可。一起加油。

    2021-10-16
    1
  • 李沉舟
    课程短而精干,简约而不简单,正如pytorch。

    作者回复: 你好,李沉舟,感谢你的留言。希望与你一起学习,一起进步:)

    2021-10-13
    1
收起评论
显示
设置
留言
19
收藏
67
沉浸
阅读
分享
手机端
快捷键
回顶部