深度学习框架PyTorch:入门与实践
基本信息
【插图】

编辑推荐
本书包含PyTorch基础知识+实战案例两部分
提供notebook,方便读者交互性学习
梳理PyTorch基础知识及重点、难点
翔实的案例,案例包括Kaggle竞赛中经典项目、GAN生成动漫头像、AI滤镜、RNN写诗、图像描述任务
配套源代码文件供下载、读者交流QQ群
内容简介
计算机书籍
《深度学习框架PyTorch:入门与实践》从多维数组Tensor开始,循序渐进地带领读者了解PyTorch各方面的基础知识。结合基础知识和前沿研究,带领读者从零开始完成几个经典有趣的深度学习小项目,包括GAN生成动漫头像、AI滤镜、AI写诗等。《深度学习框架PyTorch:入门与实践》没有简单机械地介绍各个函数接口的使用,而是尝试分门别类、循序渐进地向读者介绍PyTorch的知识,希望读者对PyTorch有一个完整的认识。
《深度学习框架PyTorch:入门与实践》内容由浅入深,无论是深度学习的初学者,还是第一次接触PyTorch的研究人员,都能在学习本书的过程中快速掌握PyTorch。即使是有一定PyTorch使用经验的用户,也能够从本书中获得对PyTorch不一样的理解。
作译者
Python程序员、Linux爱好者和PyTorch源码贡献者。主要研究方向包括计算机视觉和机器学习。"2017知乎看山杯机器学习挑战赛"一等奖,"2017天池医疗AI大赛"第八名。 热衷于推广PyTorch,并有丰富的使用经验,活跃于PyTorch论坛和知乎相关板块。
目录
1.1 PyTorch的诞生
1.2 常见的深度学习框架简介
1.2.1 Theano
1.2.2 TensorFlow
1.2.3 Keras
1.2.4 Caffe/Caffe2
1.2.5 MXNet
1.2.6 CNTK
1.2.7 其他框架
1.3 属于动态图的未来
1.4 为什么选择PyTorch
1.5 星火燎原
1.6 fast.ai 放弃Keras+TensorFlow选择PyTorch
2 快速入门
2.1 安装与配置
2.1.1 安装PyTorch
2.1.2 学习环境配置
2.2 PyTorch入门第一步
2.2.1 Tensor
前言
2016年是属于TensorFlow的一年,凭借谷歌的大力推广,TensorFlow占据了各大媒体的头条。2017年年初,PyTorch的横空出世吸引了研究人员极大的关注,PyTorch简洁优雅的设计、统一易用的接口、追风逐电的速度和变化无方的灵活性给人留下深刻的印象。
作为一门2017年刚刚发布的深度学习框架,研究人员所能获取的学习资料有限,中文资料更是比较少。笔者长期关注PyTorch发展,经常在论坛上帮助PyTorch新手解决问题,在平时的科研中利用PyTorch进行各个方面的研究,有着丰富的使用经验。看到国内的用户对PyTorch十分感兴趣,迫切需要一本能够全面讲解PyTorch的书籍,于是本书就这么诞生了。
本书的结构
本书分为两部分:第2~5章主要介绍PyTorch的基础知识。
√ 第2章介绍PyTorch的安装和配置学习环境。同时以最概要的方式介绍PyTorch的主要内容,让读者对PyTorch有一个大概的整体印象。
√ 第3章介绍PyTorch中多维数组Tensor和动态图autograd/Variable的使用,并配以例子,让读者分别使用Tensor和autograd实现线性回归,比较二者的不同点。本章还对Tensor的底层设计,以及autograd的原理进行了分析,给读者以更全面具体的讲解。
√ 第4章介绍PyTorch中神经网络模块nn的基础用法,同时讲解了神经网络中的"层"、"损失函数"、"优化器"等,最后带领读者用不到50行的代码搭建出曾夺得ImageNet冠军的ResNet。
√ 第5章介绍PyTorch中数据加载、GPU加速和可视化等相关工具。
第6~10章主要介绍实战案例。
√ 第6章是承上启下的一章,目标不是教会读者新函数、新知识,而是结合Kaggle中一个经典的比赛,实现一个深度学习中比较简单的图像二分类问题。在实现的过程中,带领读者复习前5章的知识,并提出代码规范以合理地组织程序和代码,使程序更可读、可维护。第6章还介绍在PyTorch中如何进行debug。
√ 第7章为读者讲解当前最火爆的生成对抗网络(GAN),带领读者从零开始实现一个动漫头像生成器,能够利用GAN生成风格多变的动漫头像。
√ 第8章为读者讲解风格迁移的相关知识,并带领读者实现风格迁移网络,将自己的照片变成"高大上"的名画。
√ 第9章为读者讲解一些自然语言处理的基础知识,并讲解CharRNN的原理。然后利用其收集几万首唐诗,训练出一个可以自动写诗歌的小程序。这个小程序可以控制生成诗歌的格式和意境,还能生成藏头诗。
√ 第10章为读者介绍图像描述任务,并以最新的AI Challenger比赛的数据为例,带领读者实现一个可以进行简单图像描述的小程序。
第1章和第11章是本书的首章和末章,第1章介绍PyTorch的优势,以及和市面上其他几款框架的对比。第11章是对本书的总结,以及对PyTorch不足之处的思考,同时对读者未来的学习提出建议。
关于代码
本书的所有代码都开源在GitHub【https://github.com/chenyuntc/pytorch-book】上,其中:
√ 第2~5章的代码以Jupyter Notebook形式提供,读者可以在自己的计算机上交互式地修改运行它。
√ 第6~10章的代码以单独的程序给出,每个函数的作用与细节在代码中有大量的注释。