超详细的PyTorch深度学习入门书,100余个编程示例+6大热点案例,大咖带路,边学边实践。
本书特点:
1. 专家编撰:由资深专家精心编撰,通俗易懂,娓娓道来
2.范例丰富:100余个编程教学示例,帮你深入理解,边学习、边操练。
3. 实战应用:6大典型应用,原理与实操并重,快速掌握提升实战能力。
4 技术先进:视觉transformer模型详解,紧跟大模型核心技术。
5 易于上手:Pytorch详解并使用Python和NumPy+skLearn+Matplotlib
实现,人人都能快速上手。
6. 答疑解惑:提供配书资源文件和公众号“算法仿真在线”技术支持。
内容提要:
本书由业界专家编撰,采用理论描述加代码实践的思路,详细介绍PyTorch的理论知识及其在深度学习中的应用。全书分为两篇,第1篇为基础知识,主要介绍PyTorch的基本知识、构建开发环境、卷积网络、经典网络、模型保存和调用、网络可视化、数据加载和预处理、数据增强等内容;第2篇为高级应用,主要介绍数据分类、迁移学习、人脸检测和识别、生成对抗网络、目标检测、ViT等内容。
本书理论兼备实例,深入浅出,适合PyTorch初学者使用,也可以作为理工科院校本科生、研究生的教学用书,还可作为相关科研工程技术人员的参考书。
目录
第1篇 基础知识
第1章 人工智能和PyTorch
1.1 人工智能和深度学习
1.1.1 人工智能
1.1.2 深度学习
1.2 深度学习框架
1.3 PyTorch
1.3.1 PyTorch简介
1.3.2 PyTorch的应用领域
1.3.3 PyTorch的应用前景
1.4 小结
第2章 开发环境
2.1 PyTorch的安装
2.2 NumPy
2.2.1 NumPy的安装与查看
2.2.2 NumPy对象
2.2.3 数组
2.2.4 数学计算
2.3 Matplotlib
2.3.1 Matplotlib的安装和简介
2.3.2 Matplotlib Figure图形对象
2.4 Scikit-Learn
2.5 小结
第3章 PyTorch入门
3.1 PyTorch的模块
3.1.1 主要模块
3.1.2 辅助模块
3.2 张量
3.2.1 张量的数据类型
3.2.2 创建张量
3.2.3 张量存储
3.2.4 维度操作
3.2.5 索引和切片
3.2.6 张量运算
3.3 torch.nn模块
3.3.1 卷积层
3.3.2 池化层
3.3.3 激活层
3.3.4 全连接层
3.4 自动求导
3.5 小结
第4章 卷积网络
4.1 卷积网络的原理
4.1.1 卷积运算
4.1.2 卷积网络与深度学习
4.2 NumPy建立神经网络
4.3 PyTorch建立神经网络
4.3.1 建立两层神经网络
4.3.2 神经网络参数更新
4.3.3 自定义PyTorch的nn模块
4.3.4 权重共享
4.4 全连接网络
4.5 小结
第5章 经典神经网络
5.1 VGGNet
5.1.1 VGGNet的结构
5.1.2 实现过程
5.1.3 VGGNet的特点
5.1.4 查看PyTorch网络结构
5.2 ResNet
5.2.1 ResNet的结构
5.2.2 残差模块的实现
5.2.3 ResNet的实现
5.2.4 ResNet要解决的问题
5.3 XceptionNet
5.3.1 XceptionNet的结构
5.3.2 XceptionNet的实现
5.4 小结
第6章 模型的保存和调用
6.1 字典状态(state_dict)
6.2 保存和加载模型
6.2.1 使用ate_dict加载模型
6.2.2 保存和加载完整模型
6.2.3 保存和加载Checkpoint用于推理、继续训练
6.3 一个文件保存多个模型
6.4 通过设备保存和加载模型
6.5 小结
第7章 网络可视化
7.1 HiddenLayer可视化
7.2 PyTorchViz可视化
7.3 TensorboardX可视化
7.3.1 简介和安装
7.3.2 使用TensorboardX
7.3.3 添加数字
7.3.4 添加图片
7.3.5 添加直方图
7.3.6 添加嵌入向量
7.4 小结
第8章 数据加载和预处理
8.1 加载PyTorch库数据集
8.2 加载自定义数据集
8.2.1 下载并查看数据集
8.2.2 定义数据集类
8.3 预处理
8.4 小结
第9章 数据增强
9.1 数据增强的概念
9.1.1 常见的数据增强方法
9.1.2 常用的数据增强库
9.2 数据增强的实现
9.2.1 中心裁剪
9.2.2 随机裁剪
9.2.3 缩放
9.2.4 水平翻转
9.2.5 垂直翻转
9.2.6 随机角度旋转
9.2.7 色度、亮度、饱和度、对比度的变化
9.2.8 随机灰度化
9.2.9 将图形加上padding
9.2.10 指定区域擦除
9.2.11 伽马变换
9.3 小结
第2篇 高级应用
第10章 图像分类
10.1 CIFAR10数据分类
10.1.1 定义网络训练数据
10.1.2 验证训练结果
10.2 数据集划分
10.3 猫狗分类实战
10.3.1 猫狗数据预处理
10.3.2 建立网络猫狗分类
10.4 小结
第11章 迁移学习
11.1 定义和方法
11.2 蚂蚁和蜜蜂分类实战
11.2.1 加载数据
11.2.2 定义训练方法
11.2.3 可视化预测结果
11.2.4 迁移学习方法一:微调网络
11.2.5 迁移学习方法二:特征提取器
11.3 小结
第12章 人脸检测和识别
12.1 人脸检测
12.1.1 定义和研究现状
12.1.2 经典算法
12.1.3 应用领域
12.2 人脸识别
12.2.1 定义和研究现状
12.2.2 经典算法
12.2.3 应用领域
12.3 人脸检测与识别实战
12.3.1 Dlib人脸检测
12.3.2 基于MTCNN的人脸识别
12.4 小结
第13章 生成对抗网络
13.1 生成对抗网络简介
13.2 数学模型
13.3 生成手写体数字图片实战
13.3.1 基本网络结构
13.3.2 准备数据
13.3.3 定义网络和训练
13.3.4 生成结果分析
13.4 生成人像图片实战
13.4.1 DCGAN简介
13.4.2 数据准备
13.4.3 生成对抗网络的实现
13.5 小结
第14章 目标检测
14.1 目标检测概述
14.1.1 传统目标检测算法的研究现状
14.1.2 深度学习目标检测算法的研究现状
14.1.3 应用领域
14.2 检测算法模型
14.2.1 传统的目标检测模型
14.2.2 基于深度学习的目标检测模型
14.3 目标检测的基本概念
14.3.1 IoU
14.3.2 NMS
14.4 Faster R-CNN目标检测
14.4.1 网络原理
14.4.2 实战
14.5 小结
第15章 图像风格迁移
15.1 风格迁移概述
15.2 固定风格固定内容的迁移
15.2.1 固定风格固定内容迁移的原理
15.2.2 PyTorch实现固定风格迁移
15.3 快速风格迁移
15.3.1 快速迁移模型的原理
15.3.2 PyTorch实现快速风格迁移
15.4 小结
第16章 ViT
16.1 ViT详解
16.1.1 Transformer模型中的Attention注意力机制
16.1.2 视觉Transformer模型详解
16.2 ViT图像分类实战
16.2.1 数据准备
16.2.2 定义ViT模型
16.2.3 定义工具函数
16.2.4 定义训练过程
16.2.5 运行结果
16.3 小结
参考文献
作者简介
凌峰,毕业于中国科学院大学,博士,从事机器学习、人工智能、图像处理和计算视觉的研究 与开发工作多年,发表多篇论文,拥有丰富的机器学习算法实现经验。
丁麒文,研究生毕业,主要从事图像处理、机器学习、人工智能和机器视觉领域的研究工作, 熟练运用基于Pytorch、TensorFlow等深度学习框架实现相关图像处理算法,并发表了多篇论文 。
推荐阅读:
本文摘自《细说PyTorch深度学习:理论、算法、模型与编程实现》,获出版社和作者授权发布。
细说PyTorch深度学习:理论、算法、模型与编程实现——京东