电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
微信扫描二维码,访问我们的微信店铺

深度学习框架PyTorch:入门与实践 第2版 深度学习框架机器学习人工智能自然语言处理书籍 pytorch入门实战 计算机理论方法

119.00
运费: 免运费
深度学习框架PyTorch:入门与实践 第2版 深度学习框架机器学习人工智能自然语言处理书籍 pytorch入门实战 计算机理论方法 商品图0
深度学习框架PyTorch:入门与实践 第2版 深度学习框架机器学习人工智能自然语言处理书籍 pytorch入门实战 计算机理论方法 商品缩略图0

商品详情

书名:深度学习框架PyTorch:入门与实践(第2版)  
定价:159.0  
ISBN:9787121437519  
作者:无  
版次:第1版  
出版时间:2022-07  

内容提要:  
本书从多维数组Tensor开始,循序渐进地介绍PyTorch各方面的基础知识,并结合深度学习中的经典应用,带领读者从零开始完成几个经典而有趣的实际项目,包括动漫头像生成、风格迁移、自动写诗以及目标检测。本书还介绍了PyTorch的几个高级扩展,包括向量化计算、分布式加速以及CUDA扩展。本书既适合深度学习的初学者及第一次接触PyTorch的研究人员阅读,也适合有一定PyTorch使用经验的用户阅读,帮助他们建立对PyTorch的基本认识,提高使用PyTorch框架解决实际问题的能力。  



作者简介:  
王博:北京邮电大学模式识别实验室在读硕士研究生,主要研究方向为深度学习与计算机视觉。Python程序员,PyTorch推广者。作为助教为大一学生讲解《人工智能导论》实验课程,受到同学们的好评。陈云:多伦多大学在读计算机博士生,现任waabi.ai研究员。曾在Uber ATG从事无人驾驶研究,获得CVPR2021最佳论文提名。  

目录:  
第 1 章 深度学习框架简介 1  
1.1 深度学习框架编年史. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1  
1.2 PyTorch 与 TensorFlow 的对比 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6  
1.3 为什么选择 PyTorch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8  
第 2 章 PyTorch 快速入门 11  
2.1 安装与配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
2.1.1 在 Linux 系统下安装 PyTorch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
2.1.2 在 Windows 系统下安装 PyTorch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13  
2.1.3 学习工具介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14  
2.1.4 服务器开发介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  
2.2 PyTorch 快速入门指南 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  
2.2.1 Tensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  
2.2.2 autograd:自动微分. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  
2.2.3 神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  
2.2.4 小试牛刀:CIFAR-10 分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  
2.3 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42  
第 3 章 Tensor 和 autograd 43  
3.1 Tensor 基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43  
3.1.1 Tensor 的基本操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43  
3.1.2 命名张量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60  
3.1.3 Tensor 与 NumPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61  
3.1.4 Tensor 的基本结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
3.1.5 变形记:N 种改变 Tensor 形状的方法 . . . . . . . . . . . . . . . . . . . . . . . . . 65  
3.2 小试牛刀:线性回归. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70  
3.3 autograd 和计算图基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73  
3.3.1 autograd 的用法:requires_grad 与 backward . . . . . . . . . . . . . . . . . . . . . 73  
3.3.2 autograd 的原理:计算图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76  
3.3.3 扩展 autograd:Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83  
3.3.4 小试牛刀:利用 autograd 实现线性回归 . . . . . . . . . . . . . . . . . . . . . . . . 84  
3.4 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87  
第 4 章 神经网络工具箱 nn 89  
4.1 nn.Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89  
4.2 常用的神经网络层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93  
4.2.1 图像相关层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93  
4.2.2 激活函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97  
4.2.3 构建神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98  
4.2.4 循环神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101  
4.2.5 损失函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102  
4.3 nn.functional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103  
4.3.1 nn.functional 与 nn.Module 的区别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103  
4.3.2 采样函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105  
4.4 初始化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106  
4.5 优化器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107  
4.6 nn.Module 深入分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109  
4.7 小试牛刀:搭建 ResNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116  
4.8 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120  
第 5 章 PyTorch 中常用的工具 121  
5.1 数据处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121  
5.1.1 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121  
5.1.2 DataLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128  
5.2 预训练模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135  
5.3 可视化工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137  
5.3.1 TensorBoard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137  
5.3.2 Visdom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143  
5.4 使用 GPU 加速:CUDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148  
5.5 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154  
第 6 章 向量化 155  
6.1 向量化简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155  
6.2 广播法则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156  
6.3 索引操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157  
6.3.1 基本索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157  
6.3.2 高级索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161  
6.3.3 einsum / einops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173  
6.4 小试牛刀:使用向量化思想解决实际问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179  
6.4.1 Box_IoU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179  
6.4.2 RoI Align . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181  
6.4.3 反向 Unique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185  
6.5 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185  
第 7 章 PyTorch 与 Multi-GPU 187  
7.1 单机多卡并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187  
7.1.1 并行原理介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187  
7.1.2 DataParallel 使用示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189  
7.2 分布式系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191  
7.2.1 分布式系统的基本概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191  
7.2.2 分布式消息传递接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192  
7.2.3 小试牛刀:分布式计算实操演练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196  
7.3 PyTorch 分布式训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198  
7.3.1 使用 MPI 进行分布式训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198  
7.3.2 使用 torch.distributed 进行分布式训练 . . . . . . . . . . . . . . . . . . . . . . . . . 201  
7.3.3 使用 Horovod 进行分布式训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203  
7.4 分布式训练中的注意事项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206  
7.4.1 保持同步 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206  
7.4.2 进程协作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207  
7.4.3 常用调试技巧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208  
7.5 进阶扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209  
7.6 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210  
第 8 章 CUDA 扩展与编译 211  
8.1 PyTorch C++ 扩展简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211  
8.1.1 C++ 扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211  
8.1.2 CUDA 扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216  
8.2 CUDA、NVIDIA-driver、cuDNN、PyTorch 之间的关系 . . . . . . . . . . . . . . . . . 222  
8.3 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225  
第 9 章 PyTorch 实战指南 227  
9.1 编程实战:猫和狗二分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227  
9.1.1 比赛介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228  
9.1.2 文件组织结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228  
9.1.3 __init__.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229  
9.1.4 数据加载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230  
9.1.5 模型定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232  
9.1.6 工具函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233  
9.1.7 配置文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235  
9.1.8 main.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237  
9.1.9 使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244  
9.1.10 争议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244  
9.2 PyTorch 调试指南 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246  
9.2.1 ipdb 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246  
9.2.2 在 PyTorch 中调试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250  
9.3 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254  
第 10 章 AI 插画师:生成对抗网络 255  
10.1 GAN 原理简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255  
10.2 使用 GAN 生成动漫人物头像 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259  
10.3 实验结果分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268  
10.4 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269  
第 11 章 AI 诗人:用 Transformer 写诗 271  
11.1 自然语言处理的基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271  
11.1.1 词向量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271  
11.1.2 RNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274  
11.2 CharRNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277  
11.3 Transformer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278  
11.3.1 自注意力模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280  
11.3.2 位置编码模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281  
11.4 使用 PyTorch 实现 Transformer 写诗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282  
11.5 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294  
第 12 章 AI 艺术家:神经网络风格迁移 295  
12.1 风格迁移原理介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296  
12.2 使用 PyTorch 实现风格迁移 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300  
12.3 实验结果分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308  
12.4 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310  
第 13 章 CenterNet:目标检测 311  
13.1 目标检测概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311  
13.2 CenterNet 原理介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313  
13.3 使用 PyTorch 实现 CenterNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318  
13.3.1 使用 pycocotools 加载 COCO 数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . 318  
13.3.2 搭建 CenterNet 网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319  
13.4 实验结果分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328  
13.5 小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330  
参考文献 331  

电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
扫描二维码,访问我们的微信店铺

深度学习框架PyTorch:入门与实践 第2版 深度学习框架机器学习人工智能自然语言处理书籍 pytorch入门实战 计算机理论方法

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏