PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著

PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2023-01
版次: 1
ISBN: 9787301334461
定价: 89.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 292页
12人买过
  • PyTorch 是基于 Torch 库的开源机器学习库,它主要由 Meta(原 Facebook)的人工智能研究实验室开发,在自然语言处理和计算机视觉领域都具有广泛的应用。《PyTorch教程:21个项目玩转PyTorch实战》介绍了简单且经典的入门项目,方便快速上手,如 MNIST数字识别,读者在完成项目的过程中可以了解数据集、模型和训练等基础概念。《PyTorch教程:21个项目玩转PyTorch实战》还介绍了一些实用且经典的模型,如 R-CNN 模型,通过这个模型的学习,读者可以对目标检测任务有一个基本的认识,对于基本的网络结构原理有一定的了解。另外,《PyTorch教程:21个项目玩转PyTorch实战》对于当前比较热门的生成对抗网络和强化学习也有一定的介绍,方便读者拓宽视野,掌握前沿方向。
       《PyTorch教程:21个项目玩转PyTorch实战》适合人工智能、机器学习、深度学习方面的人员阅读,也适合其他 IT 方面从业者,另外,还可以作为相关专业的教材。 王飞,2019年翻译了PyTorch官方文档,读研期间研究方向为自然语言处理,主要是中文分词、文本分类和数据挖掘。目前在教育行业工作,探索人工智能技术在教育中的应用。

    何健伟,曾任香港大学研究员,研究方向为自然语言处理,目前从事大规模推荐算法架构研究工作。

    林宏彬,硕士期间研究方向为自然语言处理,现任阿里巴巴算法工程师,目前从事广告推荐领域的算法研究工作。

    史周安,软件工程硕士,人工智能技术爱好者、实践者与探索者。目前从事弱监督学习、迁移学习与医学图像相关工作。 第1章 ?数字识别

    1.1 MNIST数据集2

    1.1.1 MNIST 数据集简介2

    1.1.2 导入数据集3

    1.2 构建模型4

    1.2.1 定义神经网络4

    1.2.2 前向传播6

    1.2.3 计算损失7

    1.2.4 反向传播与更新参数8

    1.3 开始训练8

    1.4 观察模型预测结果9

    1.5 总结11

    第2章 ?ImageNet图像识别模型与CIFAR-10

    2.1 图像分类器13

    2.1.1 CIFAR-10数据集简介13

    2.1.2 加载数据集14

    2.1.3 定义卷积神经网络15

    2.1.4 定义损失函数和优化器16

    2.1.5 训练网络16

    2.1.6 使用测试集评估17

    2.1.7 使用GPU加速19

    2.2 ImageNet和图像识别模型20

    2.2.1 ImageNet20

    2.2.2 基于 ImageNet 的图像识别模型20

    2.3 总结22

    第3章 ?从零构建图像分类模型

    3.1 预训练模型原理24

    3.1.1 状态字典24

    3.1.2 通过设备保存25

    3.2 加载ImageNet预训练模型25

    3.3 准备数据27

    3.3.1 加载数据集28

    3.3.2 使用matplotlib可视化数据29

    3.4 开始训练29

    3.5 使用torchvision微调模型31

    3.6 观察模型预测结果31

    3.7 固定模型的参数33

    3.8 使用tensorbord可视化训练情况34

    3.9 总结35

    第4章 ?文本生成

    4.1 RNN原理及其结构37

    4.1.1 经典RNN结构37

    4.1.2 N VS 1 式RNN结构38

    4.1.3 1 VS N RNN结构39

    4.1.4 N VS M RNN结构39

    4.2 明确任务39

    4.3 准备数据40

    4.4 构建模型44

    4.5 开始训练45

    4.6 观察交互结果47

    4.7 总结49

    第5章 ?目标检测和实例分割

    5.1 快速了解目标检测51

    5.1.1 评估方法51

    5.1.2 直观方法 51

    5.2 R-CNN系列模型的原理53

    5.2.1 R-CNN原理53

    5.2.2 Fast R-CNN原理54

    5.2.3 Faster R-CNN原理56

    5.2.4 Mask R-CNN原理58

    5.3 使用torchvison微调模型58

    5.3.1 使用Penn-Fudan数据集58

    5.3.2 搭建目标检测模型61

    5.3.3 下载必要的工具文件62

    5.3.4 改造模型以适应新的数据集62

    5.3.5 调用工具文件训练模型64

    5.3.6 评估和测试模型66

    5.4 总结68

    第6章 ?人脸检测与识别

    6.1 模型介绍70

    6.2 facenet-pytorch库70

    6.3 预训练模型71

    6.4 总结74

    第7章 ?利用DCGAN生成假脸

    7.1 GAN及其原理76

    7.2 DCGAN简介77

    7.3 实现一个假脸生成模型78

    7.3.1 模型设定78

    7.3.2 人脸数据集79

    7.3.3 实现生成器81

    7.3.4 实现判别器83

    7.3.5 损失函数和优化器85

    7.4 训练假脸生成模型85

    7.4.1 训练的整体流程86

    7.4.2 更新判别器87

    7.4.3 更新生成器88

    7.5 可视化结果89

    7.6 总结91

    第8章 ?pix2pix为黑白图片上色

    8.1 带约束的生成对抗网络93

    8.2 pix2pix的原理94

    8.3 实现图到图翻译模型95

    8.3.1 Facade数据集97

    8.3.2 U-Net作为生成器100

    8.3.3 PatchGAN作为判别器103

    8.4 训练判别器和生成器105

    8.4.1 更新判别器107

    8.4.2 更新生成器108

    8.5 根据立面结构生成房屋图片109

    8.6 黑白图片自动上色110

    8.7 总结111

    第9章 ?Neural-Style与图像风格迁移

    9.1 理解图像风格迁移算法113

    9.1.1 传统风格迁移113

    9.1.2 Neural-Style算法原理114

    9.2 加载图像116

    9.3 定义损失模块118

    9.3.1 内容损失模块118

    9.3.2 风格损失模块119

    9.4 导入预训练模型120

    9.5 使用L-BFGS进行梯度下降123

    9.6 训练自己的风格124

    9.7 总结126

    第10章 ?对抗机器学习和欺骗模型

    10.1 模型的潜在威胁128

    10.2 快速梯度符号法128

    10.3 攻击一个图像识别模型129

    10.3.1 被攻击的模型129

    10.3.2 FGSM算法131

    10.4 开始攻击131

    10.4.1 攻击流程132

    10.4.2 攻击结果133

    10.5 总结136

    第11章 ?word2vec与词向量

    11.1 词嵌入作用138

    11.2 词嵌入原理139

    11.2.1 CBOW实现139

    11.2.2 Skip-Gram实现140

    11.3 在PyTorch中实现词嵌入141

    11.3.1 数据准备141

    11.3.2 构造模型143

    11.3.3 训练模型143

    11.3.4 可视化144

    11.4 工具包word2vec结合中文词嵌入146

    11.4.1 word2vec使用146

    11.4.2 中文词嵌入147

    11.5 总结147

    第12章 ?命名实体识别

    12.1 NER背景介绍149

    12.2 LSTM149

    12.2.1 LSTM原理150

    12.2.2 在PyTorch中使用LSTM152

    12.3 CRF155

    12.3.1 发射分数和转移分数156

    12.3.2 损失函数157

    12.3.3 预测158

    12.4 构建模型158

    12.4.1 模型结构158

    12.4.2 模型代码159

    12.5 开始训练162

    12.6 总结164

    第13章 ?基于AG_NEWS的文本分类

    13.1 数据预处理166

    13.1.1 原始数据迭代器166

    13.1.2 数据处理166

    13.2 准备模型168

    13.2.1 初始化一个实例169

    13.2.2 定义函数训练和评估模型169

    13.3 训练模型170

    13.4 评估和测试模型173

    13.4.1 评估模型173

    13.4.2 随机新闻测试173

    13.5 总结174

    第14章 ?基于 BERT 的文本分类

    14.1 transformers数据处理 176

    14.1.1 加载预训练的序列化工具176

    14.1.2 基本用法177

    14.2 微调预训练模型178

    14.2.1 数据集介绍和处理178

    14.2.2 导入模型179

    14.2.3 定义训练器180

    14.3 总结181

    第15章 ?文本翻译

    15.1 Seq2Seq网络183

    15.2 注意力机制Attention184

    15.3 准备数据185

    15.4 构建模型189

    15.4.1 编码器190

    15.4.2 解码器191

    15.4.3 注意力机制解码器192

    15.5 开始训练193

    15.5.1 准备训练数据194

    15.5.2 训练技巧Teacher Forcing194

    15.5.3 训练模型194

    15.6 观察模型效果198

    15.6.1 评估模型198

    15.6.2 可视化注意力201

    15.7 总结203

    第16章 ?文本阅读理解

    16.1 阅读理解任务介绍205

    16.2 模型实现205

    16.3 总结208

    第17章 ?为图像添加文本描述

    17.1 编码器-解码器架构210

    17.2 Image Caption模型210

    17.2.1 神经图像字幕生成器210

    17.2.2 加入注意力机制211

    17.3 中文图像字幕数据集212

    17.3.1 数据结构212

    17.3.2 构建词典213

    17.3.3 构建数据集215

    17.4 构建Image Caption模型218

    17.4.1 编码器218

    17.4.2 解码器219

    17.4.3 注意力层222

    17.5 模型训练和评估223

    17.5.1 训练编码器和解码器223

    17.5.2 计算BLEU指标225

    17.5.3 可视化结果225

    17.6 总结226

    第18章 ?聊天机器人

    18.1 准备数据228

    18.1.1 数据预处理228

    18.1.2 为模型准备数据230

    18.2 构建模型235

    18.2.1 Encoder236

    18.2.2 Decoder237

    18.3 训练准备239

    18.4 评估模型243

    18.5 训练模型245

    18.6 总结247

    第19章 ?CycleGAN 模型

    19.1 CycleGAN模型架构249

    19.2 CycleGAN 模型的应用249

    19.2.1 安装依赖包249

    19.2.2 准备数据集250

    19.2.3 预训练模型251

    19.2.4 训练模型252

    19.2.5 测试模型253

    19.2.6 结果可视化253

    19.3 总结254

    第20章 ?图像超分辨率与ESPCN

    20.1 理解图像超分辨率和ESPCN算法256

    20.1.1 图像超分辨率背景介绍256

    20.1.2 ESPCN算法原理257

    20.2 制作数据集260

    20.3 构建ESPCN模型263

    20.4 训练ESPCN模型264

    20.5 测试ESPCN模型268

    20.6 总结270

    第21章 ?强化学习

    21.1 任务准备272

    21.1.1 任务说明272

    21.1.2 需要的包272

    21.2 记忆重放273

    21.3 DQN算法274

    21.3.1 Q-Learning算法274

    21.3.2 Q-Net模型275

    21.3.3 抓取输入图像

    (获得状态表示)276

    21.3.4 超参数设置和工具函数277

    21.3.5 训练模型279

    21.4 总结282
  • 内容简介:
    PyTorch 是基于 Torch 库的开源机器学习库,它主要由 Meta(原 Facebook)的人工智能研究实验室开发,在自然语言处理和计算机视觉领域都具有广泛的应用。《PyTorch教程:21个项目玩转PyTorch实战》介绍了简单且经典的入门项目,方便快速上手,如 MNIST数字识别,读者在完成项目的过程中可以了解数据集、模型和训练等基础概念。《PyTorch教程:21个项目玩转PyTorch实战》还介绍了一些实用且经典的模型,如 R-CNN 模型,通过这个模型的学习,读者可以对目标检测任务有一个基本的认识,对于基本的网络结构原理有一定的了解。另外,《PyTorch教程:21个项目玩转PyTorch实战》对于当前比较热门的生成对抗网络和强化学习也有一定的介绍,方便读者拓宽视野,掌握前沿方向。
       《PyTorch教程:21个项目玩转PyTorch实战》适合人工智能、机器学习、深度学习方面的人员阅读,也适合其他 IT 方面从业者,另外,还可以作为相关专业的教材。
  • 作者简介:
    王飞,2019年翻译了PyTorch官方文档,读研期间研究方向为自然语言处理,主要是中文分词、文本分类和数据挖掘。目前在教育行业工作,探索人工智能技术在教育中的应用。

    何健伟,曾任香港大学研究员,研究方向为自然语言处理,目前从事大规模推荐算法架构研究工作。

    林宏彬,硕士期间研究方向为自然语言处理,现任阿里巴巴算法工程师,目前从事广告推荐领域的算法研究工作。

    史周安,软件工程硕士,人工智能技术爱好者、实践者与探索者。目前从事弱监督学习、迁移学习与医学图像相关工作。
  • 目录:
    第1章 ?数字识别

    1.1 MNIST数据集2

    1.1.1 MNIST 数据集简介2

    1.1.2 导入数据集3

    1.2 构建模型4

    1.2.1 定义神经网络4

    1.2.2 前向传播6

    1.2.3 计算损失7

    1.2.4 反向传播与更新参数8

    1.3 开始训练8

    1.4 观察模型预测结果9

    1.5 总结11

    第2章 ?ImageNet图像识别模型与CIFAR-10

    2.1 图像分类器13

    2.1.1 CIFAR-10数据集简介13

    2.1.2 加载数据集14

    2.1.3 定义卷积神经网络15

    2.1.4 定义损失函数和优化器16

    2.1.5 训练网络16

    2.1.6 使用测试集评估17

    2.1.7 使用GPU加速19

    2.2 ImageNet和图像识别模型20

    2.2.1 ImageNet20

    2.2.2 基于 ImageNet 的图像识别模型20

    2.3 总结22

    第3章 ?从零构建图像分类模型

    3.1 预训练模型原理24

    3.1.1 状态字典24

    3.1.2 通过设备保存25

    3.2 加载ImageNet预训练模型25

    3.3 准备数据27

    3.3.1 加载数据集28

    3.3.2 使用matplotlib可视化数据29

    3.4 开始训练29

    3.5 使用torchvision微调模型31

    3.6 观察模型预测结果31

    3.7 固定模型的参数33

    3.8 使用tensorbord可视化训练情况34

    3.9 总结35

    第4章 ?文本生成

    4.1 RNN原理及其结构37

    4.1.1 经典RNN结构37

    4.1.2 N VS 1 式RNN结构38

    4.1.3 1 VS N RNN结构39

    4.1.4 N VS M RNN结构39

    4.2 明确任务39

    4.3 准备数据40

    4.4 构建模型44

    4.5 开始训练45

    4.6 观察交互结果47

    4.7 总结49

    第5章 ?目标检测和实例分割

    5.1 快速了解目标检测51

    5.1.1 评估方法51

    5.1.2 直观方法 51

    5.2 R-CNN系列模型的原理53

    5.2.1 R-CNN原理53

    5.2.2 Fast R-CNN原理54

    5.2.3 Faster R-CNN原理56

    5.2.4 Mask R-CNN原理58

    5.3 使用torchvison微调模型58

    5.3.1 使用Penn-Fudan数据集58

    5.3.2 搭建目标检测模型61

    5.3.3 下载必要的工具文件62

    5.3.4 改造模型以适应新的数据集62

    5.3.5 调用工具文件训练模型64

    5.3.6 评估和测试模型66

    5.4 总结68

    第6章 ?人脸检测与识别

    6.1 模型介绍70

    6.2 facenet-pytorch库70

    6.3 预训练模型71

    6.4 总结74

    第7章 ?利用DCGAN生成假脸

    7.1 GAN及其原理76

    7.2 DCGAN简介77

    7.3 实现一个假脸生成模型78

    7.3.1 模型设定78

    7.3.2 人脸数据集79

    7.3.3 实现生成器81

    7.3.4 实现判别器83

    7.3.5 损失函数和优化器85

    7.4 训练假脸生成模型85

    7.4.1 训练的整体流程86

    7.4.2 更新判别器87

    7.4.3 更新生成器88

    7.5 可视化结果89

    7.6 总结91

    第8章 ?pix2pix为黑白图片上色

    8.1 带约束的生成对抗网络93

    8.2 pix2pix的原理94

    8.3 实现图到图翻译模型95

    8.3.1 Facade数据集97

    8.3.2 U-Net作为生成器100

    8.3.3 PatchGAN作为判别器103

    8.4 训练判别器和生成器105

    8.4.1 更新判别器107

    8.4.2 更新生成器108

    8.5 根据立面结构生成房屋图片109

    8.6 黑白图片自动上色110

    8.7 总结111

    第9章 ?Neural-Style与图像风格迁移

    9.1 理解图像风格迁移算法113

    9.1.1 传统风格迁移113

    9.1.2 Neural-Style算法原理114

    9.2 加载图像116

    9.3 定义损失模块118

    9.3.1 内容损失模块118

    9.3.2 风格损失模块119

    9.4 导入预训练模型120

    9.5 使用L-BFGS进行梯度下降123

    9.6 训练自己的风格124

    9.7 总结126

    第10章 ?对抗机器学习和欺骗模型

    10.1 模型的潜在威胁128

    10.2 快速梯度符号法128

    10.3 攻击一个图像识别模型129

    10.3.1 被攻击的模型129

    10.3.2 FGSM算法131

    10.4 开始攻击131

    10.4.1 攻击流程132

    10.4.2 攻击结果133

    10.5 总结136

    第11章 ?word2vec与词向量

    11.1 词嵌入作用138

    11.2 词嵌入原理139

    11.2.1 CBOW实现139

    11.2.2 Skip-Gram实现140

    11.3 在PyTorch中实现词嵌入141

    11.3.1 数据准备141

    11.3.2 构造模型143

    11.3.3 训练模型143

    11.3.4 可视化144

    11.4 工具包word2vec结合中文词嵌入146

    11.4.1 word2vec使用146

    11.4.2 中文词嵌入147

    11.5 总结147

    第12章 ?命名实体识别

    12.1 NER背景介绍149

    12.2 LSTM149

    12.2.1 LSTM原理150

    12.2.2 在PyTorch中使用LSTM152

    12.3 CRF155

    12.3.1 发射分数和转移分数156

    12.3.2 损失函数157

    12.3.3 预测158

    12.4 构建模型158

    12.4.1 模型结构158

    12.4.2 模型代码159

    12.5 开始训练162

    12.6 总结164

    第13章 ?基于AG_NEWS的文本分类

    13.1 数据预处理166

    13.1.1 原始数据迭代器166

    13.1.2 数据处理166

    13.2 准备模型168

    13.2.1 初始化一个实例169

    13.2.2 定义函数训练和评估模型169

    13.3 训练模型170

    13.4 评估和测试模型173

    13.4.1 评估模型173

    13.4.2 随机新闻测试173

    13.5 总结174

    第14章 ?基于 BERT 的文本分类

    14.1 transformers数据处理 176

    14.1.1 加载预训练的序列化工具176

    14.1.2 基本用法177

    14.2 微调预训练模型178

    14.2.1 数据集介绍和处理178

    14.2.2 导入模型179

    14.2.3 定义训练器180

    14.3 总结181

    第15章 ?文本翻译

    15.1 Seq2Seq网络183

    15.2 注意力机制Attention184

    15.3 准备数据185

    15.4 构建模型189

    15.4.1 编码器190

    15.4.2 解码器191

    15.4.3 注意力机制解码器192

    15.5 开始训练193

    15.5.1 准备训练数据194

    15.5.2 训练技巧Teacher Forcing194

    15.5.3 训练模型194

    15.6 观察模型效果198

    15.6.1 评估模型198

    15.6.2 可视化注意力201

    15.7 总结203

    第16章 ?文本阅读理解

    16.1 阅读理解任务介绍205

    16.2 模型实现205

    16.3 总结208

    第17章 ?为图像添加文本描述

    17.1 编码器-解码器架构210

    17.2 Image Caption模型210

    17.2.1 神经图像字幕生成器210

    17.2.2 加入注意力机制211

    17.3 中文图像字幕数据集212

    17.3.1 数据结构212

    17.3.2 构建词典213

    17.3.3 构建数据集215

    17.4 构建Image Caption模型218

    17.4.1 编码器218

    17.4.2 解码器219

    17.4.3 注意力层222

    17.5 模型训练和评估223

    17.5.1 训练编码器和解码器223

    17.5.2 计算BLEU指标225

    17.5.3 可视化结果225

    17.6 总结226

    第18章 ?聊天机器人

    18.1 准备数据228

    18.1.1 数据预处理228

    18.1.2 为模型准备数据230

    18.2 构建模型235

    18.2.1 Encoder236

    18.2.2 Decoder237

    18.3 训练准备239

    18.4 评估模型243

    18.5 训练模型245

    18.6 总结247

    第19章 ?CycleGAN 模型

    19.1 CycleGAN模型架构249

    19.2 CycleGAN 模型的应用249

    19.2.1 安装依赖包249

    19.2.2 准备数据集250

    19.2.3 预训练模型251

    19.2.4 训练模型252

    19.2.5 测试模型253

    19.2.6 结果可视化253

    19.3 总结254

    第20章 ?图像超分辨率与ESPCN

    20.1 理解图像超分辨率和ESPCN算法256

    20.1.1 图像超分辨率背景介绍256

    20.1.2 ESPCN算法原理257

    20.2 制作数据集260

    20.3 构建ESPCN模型263

    20.4 训练ESPCN模型264

    20.5 测试ESPCN模型268

    20.6 总结270

    第21章 ?强化学习

    21.1 任务准备272

    21.1.1 任务说明272

    21.1.2 需要的包272

    21.2 记忆重放273

    21.3 DQN算法274

    21.3.1 Q-Learning算法274

    21.3.2 Q-Net模型275

    21.3.3 抓取输入图像

    (获得状态表示)276

    21.3.4 超参数设置和工具函数277

    21.3.5 训练模型279

    21.4 总结282
查看详情
相关图书 / 更多
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python和PySpark数据分析
(加)乔纳森·里乌
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python机器学习入门与实践 从深度学习到生成对抗网络GAN 深入浅出GAN生成对抗网络 实战gan TensorFlow与Keras 人工智能技术书籍
(日)大关真之
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python语言程序设计
王刚
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python代码编程 学科项目式编程(六年级)
冯建刚
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python机器学习 : 核心技术与开发实战 周志华西瓜书机器学习实战伴侣书
[美]普拉提克·乔希 著;李现伟 译者;颉腾文化 出品;阿尔伯托·阿尔塔桑切斯(美);曾小健
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python语言程序设计(微课版)
宁爱军 何志永
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python数据分析从入门到精通(第2版)
明日科技
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python数据分析与挖掘
齐福利
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python基础与应用(互联网+教育新形态一体化系列教材)
李喆时、谢家立、赵丽 编
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python数据分析与可视化项目实战
王振丽
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python爬虫从菜鸟到高手
李宁
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
Python程序设计基础教程
\"孙海龙 王济军\
您可能感兴趣 / 更多
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
未来城市地下空间发展理念—绿色、人本、智慧、韧性、网络化
王飞;李文胜;刘勇;申艳军
PyTorch教程:21个项目玩转PyTorch实战 通过经典项目入门 PyTorch 王飞等著
生态农业模式探索与实践
王飞;石祖梁;李想