文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
1 前言
可以看出本教程可以分为两部分:
基础部分(前五章)讲解 PyTorch 内容,这部份介绍了 PyTorch 中主要的的模块,和深度学习中常用的一些工具。对于这部分内容,这里利用 Jupyter Notebook 作为教学工具,读者可以结合 notebook 修改运行,反复实验。
- 第二章介绍如何安装 PyTorch 和配置学习环境。同时提供了一个快速入门教程,基于官方的教程简化并更新内容,读者可以花费大约 1 到 2 小时的时间快速完成入门任务,而后根据需求再选择深入阅读后续相关章节的内容。
- 第三章介绍了 PyTorch 中多维数组 Tensor 和动态图 autograd/Variable 的使用,并配以例子,让读者分别使用 Tensor 和 autograd 实现线性回归,比较二者的不同点。除了介绍这二者的基础使用之外,本章还对 Tensor 的底层设计,以及 autograd 的计算图原理进行比较深入分析,希望能使得读者能对这些底层知识有更全面的掌握。
- 第四章介绍了 PyTorch 中神经网络模块 nn 的基础用法,同时讲解了神经网络中“层”,“损失函数”,“优化器”等,最后带领读者用不到 50 行的代码搭建出曾夺得 ImageNet 冠军的 ResNet。
- 第五章介绍了 PyTorch 中数据加载,GPU 加速,持久化和可视化等相关工具。
实战部分(第六到十章)利用 PyTorch 实现了几个酷炫有趣的应用,对于这部分的内容,本仓库给出完整的实现代码,并提供预训练好的模型作为 demo,供读者测试。
- 第六章是承上启下的一章,这一章的目标不是教会读者新函数,新知识,而是结合 Kaggle 中一个经典的比赛,实现一个深度学习中比较简单的图像二分类问题。在实现过程中,带领读者复习前五章的知识,并提出代码规范以合理的组织程序,代码,使得程序更加可读,可维护。第六章还介绍了在 PyTorch 中如何进行 debug。
- 第七章为读者讲解了当前最火爆的生成对抗网络(GAN),带领读者从头实现一个动漫头像生成器,能够利用 GAN 生成风格多变的动漫头像。
- 第八章为读者讲解了风格迁移的相关知识,并带领读者实现风格迁移网络,将自己的照片变成高大上的名画。
- 第九章为读者讲解了一些自然语言处理的基础知识,并讲解了 CharRNN 的原理。而后利用收集了几万首唐诗,训练出了一个可以自动写诗歌的小程序。这个小程序可以控制生成诗歌的格式,意境,还能生成藏头诗。
- 第十章为读者介绍了图像描述任务,并以最新的 AI Challenger 比赛的数据为例,带领读者实现了一个可以进行简单图像描述的的小程序。
- 第十一章(新增,实验性) 由 Diamondfan 编写的语音识别。完善了本项目(本项目已囊括图像,文本,语音三大领域的例子)。
代码说明
- 教程代码同时在 Python2 和 Python3 下测试通过
- 实战部分代码还同时在 GPU 和 CPU 环境下测试通过
- ~~所有的代码都是基于最新版的 PyTorch 0.2.0~~,本人承诺会至少维护代码更新兼容到 PyTorch
0.4
目前前五章的代码已经更新到 PyTorch 0.3.0 , 如果你想在 PyTorch 0.2.0 下运行,请
git checkout v0.2
如果有任何不当,或者有待改进的地方,欢迎读者开 issue 讨论,或者提交 pull request。
环境配置
- 安装 PyTorch ,请从官网选择指定的版本安装即可,一键安装(即使你使用 anaconda,也建议使用 pip)。更多的安装方式请参阅书中说明。
- 克隆仓库
git clone https://github.com/chenyuntc/PyTorch-book.git
- 安装第三方依赖包
cd pytorch-book && pip install -r requirements.txt
Visdom 打不开及其解决方案
新版的 visdom 已经解决了这个问题,只需要升级即可
pip install --upgrade visdom
之前的 解决方案 不再需要,已删除。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论