新書推薦:
《
元朝理财记 从成吉思汗的崛起到元朝的衰亡
》
售價:NT$
449.0
《
欧洲史:一本书历览欧洲数千年兴衰起伏,理解欧洲文明何以铸就今日世界
》
售價:NT$
1520.0
《
趣学CCNA——路由与交换(第2版)
》
售價:NT$
458.0
《
世界航空地理(世界国别与区域地理研究丛书)
》
售價:NT$
1112.0
《
学术的中心:英法德美
》
售價:NT$
398.0
《
为什么要读人类学
》
售價:NT$
352.0
《
井邑无衣冠 : 地方视野下的唐代精英与社会
》
售價:NT$
434.0
《
星地融合移动通信系统与关键技术从5G NTN到6G的卫星互联网发展
》
售價:NT$
968.0
|
編輯推薦: |
本书包含PyTorch基础知识 实战案例两部分
提供notebook,方便读者交互性学习
梳理PyTorch基础知识及重点、难点
翔实的案例,案例包括Kaggle竞赛中经典项目、GAN生成动漫头像、AI滤镜、RNN写诗、图像描述任务
配套源代码文件供下载、读者交流QQ群
|
內容簡介: |
书从多维数组Tensor开始,循序渐进地带领读者了解PyTorch各方面的基础知识,并结合基础知识和前沿研究,带领读者从零开始完成几个经典有趣的深度学习小目,包括GAN 生成动漫头像、AI滤镜、AI 写诗等。本书没有简单机械地介绍各个函数接口的使用,而是尝试分门别类、循序渐进地向读者介绍PyTorch的知识,希望读者对PyTorch有一个完整的认识。本书内容由浅入深,无论是深度学习的初学者,还是*次接触PyTorch的研究人员,都能在学习本书的过程中快速掌握PyTorch。即使是有一定PyTorch使用经验的用户,也能够从本书中获得对PyTorch 不一样的理解。
|
關於作者: |
陈云Python程序员、Linux爱好者和PyTorch源码贡献者。主要研究方向包括计算机视觉和机器学习。2017知乎?看山杯机器学习挑战赛一等奖,2017天池医疗AI大赛第八名。 热衷于推广PyTorch,并有丰富的使用经验,活跃于PyTorch论坛和知乎相关板块。
|
目錄:
|
目录
1PyTorch简介
1.1 PyTorch的诞生
1.2 常见的深度学习框架简介
1.2.1 Theano
1.2.2 TensorFlow
1.2.3 Keras
1.2.4 CaffeCaffe2
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
2.2.2 Autograd:自动微分
2.2.3 神经网络
2.2.4 小试牛刀:CIFAR-10分类
3Tensor和autograd
3.1 Tensor
3.1.1 基础操作
3.1.2 Tensor和Numpy
3.1.3 内部结构
3.1.4 其他有关Tensor的话题
3.1.5 小试牛刀:线性回归
3.2 autograd
3.2.1 Variable
3.2.2 计算图
3.2.3 扩展autograd
3.2.4 小试牛刀:用Variable实现线性回归
4神经网络工具箱nn
4.1 nn.Module
4.2 常用的神经网络层
4.2.1 图像相关层
4.2.2 激活函数
4.2.3 循环神经网络层
4.2.4 损失函数
4.3 优化器
4.4 nn.functional
4.5 初始化策略
4.6 nn.Module深入分析
4.7 nn和autograd的关系
4.8 小试牛刀:用50行代码搭建ResNet
5PyTorch中常用的工具
5.1 数据处理
5.2 计算机视觉工具包:torchvision
5.3 可视化工具
5.3.1 Tensorboard
5.3.2 visdom
5.4 使用GPU加速:cuda
5.5 持久化
6PyTorch实战指南
6.1 编程实战:猫和狗二分类
6.1.1 比赛介绍
6.1.2 文件组织架构
6.1.3 关于__init__.py
6.1.4 数据加载
6.1.5 模型定义
6.1.6 工具函数
6.1.7 配置文件
6.1.8 main.py
6.1.9 使用
6.1.10 争议
6.2 PyTorch Debug 指南
6.2.1 ipdb 介绍
6.2.2 在PyTorch中Debug
7AI插画师:生成对抗网络
7.1 GAN的原理简介
7.2 用GAN生成动漫头像
7.3 实验结果分析
8AI艺术家:神经网络风格迁移
8.1 风格迁移原理介绍
8.2 用PyTorch实现风格迁移
8.3 实验结果分析
9AI诗人:用RNN写诗
9.1 自然语言处理的基础知识
9.1.1 词向量
9.1.2 RNN
9.2 CharRNN
9.3 用PyTorch实现CharRNN
9.4 实验结果分析
10Image Caption:让神经网络看图讲故事
10.1 图像描述介绍
10.2 数据
10.2.1 数据介绍
10.2.2 图像数据处理
10.2.3 数据加载
10.3 模型与训练
10.4 实验结果分析
11展望与未来
11.1 PyTorch的局限与发展
11.2 使用建议
|
內容試閱:
|
前言
为什么写这本书
2016年是属于TensorFlow的一年,凭借谷歌的大力推广,TensorFlow占据了各大媒体的头条。2017年年初,PyTorch的横空出世吸引了研究人员极大的关注,PyTorch简洁优雅的设计、统一易用的接口、追风逐电的速度和变化无方的灵活性给人留下深刻的印象。
作为一门2017年刚刚发布的深度学习框架,研究人员所能获取的学习资料有限,中文资料更是比较少。笔者长期关注PyTorch发展,经常在论坛上帮助PyTorch新手解决问题,在平时的科研中利用PyTorch进行各个方面的研究,有着丰富的使用经验。看到国内的用户对PyTorch十分感兴趣,迫切需要一本能够全面讲解PyTorch的书籍,于是本书就这么诞生了。
本书的结构
本书分为两部分:第2~5章主要介绍PyTorch的基础知识。
? 第2章介绍PyTorch的安装和配置学习环境。同时以最概要的方式介绍PyTorch的主要内容,让读者对PyTorch有一个大概的整体印象。
? 第3章介绍PyTorch中多维数组Tensor和动态图autogradVariable的使用,并配以例子,让读者分别使用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.comchenyuntcpytorch-book】上,其中:
? 第2~5章的代码以Jupyter Notebook形式提供,读者可以在自己的计算机上交互式地修改运行它。
? 第6~10章的代码以单独的程序给出,每个函数的作用与细节在代码中有大量的注释。
本书的代码,在最新版的PyTorch 0.2上运行,同时支持Python 2 和Python 3,其中:
? 前5章的代码同时在Python 2.7和Python 3.5上验证,并得到最终结果。
? 第6~10章的代码,主要在Python 2.7上运行并得到最终结果,同时在Python 3.5上测试未报错。
适读人群
学习本书需要读者具备以下基础知识:
? 了解Python的基础语法,掌握基础的Python使用方法。
? 有一定深度学习基础,了解反向传播、卷积神经网络等基础知识,但并不要求深入了解。
? 具备梯度、导数等高中数学基础知识。
以下知识不是必需的,但最好了解:
? numpy的使用。
? 深度学习的基本流程或者其他深度学习框架的使用。
本书不适合哪些读者:
? 没有任何深度学习基础的用户。
? 没有Python基础的用户。
? 只能使用Windows的用户。
本书约定
在本书中,笔者是本书编著者的自称,作者指的是软件、论文等的作者,读者指阅读本书的你。
本书前5章的代码由Jupyter Notebook转换而来,其中:
? In后面跟着的是输入的代码。
? Out是指程序的运行结果,运行结果取决于In的最后一行。
? Print后面跟着程序的打印输出内容,只有在In程序中调用了 print 函数语句才会有Print输出。
? Jupyter会自动输出Image对象和matplotlib可视化结果,所以书中以程序输出命名的图片都来自Jupyter的程序输出。这些图片的说明在代码注释中。
如何使用本书
本书第2章是PyTorch快速入门,第3~5章是对这些内容的详细深入介绍。第6章是一个简单而完整的深度学习案例。
如果你是经验丰富的研究人员,之前对PyTorch十分熟悉,对本书的某些例子比较感兴趣,那么你可以跳过前5章,直接阅读第6章,了解这些例子的程序设计与文件组织安排,然后阅读相应的例子。
如果你是初学者,想以最快的速度掌握PyTorch并将PyTorch应用到实际项目中,那么你可以花费2~3小时阅读2.2节的相关内容。如果你需要深入了解某部分的内容,那么可以阅读相应章节。
如果你是初学者,想完整全面地掌握PyTorch,那么建议你:
? 先阅读第1~5章,了解PyTorch的各个基础知识。
? 再阅读第6章,了解PyTorch实践中的技巧。
? 最后从第7~10章挑选出感兴趣的例子,动手实践。
最后,希望读者在阅读本书的时候,尽量结合本书的配套代码阅读、修改、运行之。
致谢
杜玉姣同学在我编写本书的时候,给了我许多建议,并协助审阅了部分章节,在此特向她表示谢意。在编写本书时,本书编辑郑柳洁女士给予了很大的帮助,在此特向她致谢。感谢我的家人一直以来对我的支持,感谢我的导师肖波副教授对我的指导。感谢我的同学、师弟师妹们,他们在使用PyTorch中遇到了很多问题,给了我许多反馈意见。
由于笔者水平所限,书中难免有错误和不当之处,欢迎读者批评指正。具体意见可以发表在GitHub上的issue(https:github.comchenyuntcpytorch-bookissues)中。
|
|