第1章 PyTorch简介 1.1 深度学习简介 1 1.2 PyTorch的由来 2 1.2.1 深度学习框架回顾 2 1.2.2 PyTorch前身:Torch7 4 1.2.3 Torch7的重生 5 1.3 PyTorch与TensorFlow对比 5 1.3.1 TensorFlow简介 6 1.3.2 动静之争 6 1.3.3 二者借鉴融合 7 1.3.4 PyTorch的优势 7 1.4 PyTorch发展现状 8 1.4.1 主要版本特点回顾 8 1.4.2 准备工作 8 第2章 PyTorch基础计算 2.1 PyTorch核心基础概念:张量Tensor 11 2.1.1 Tensor基本介绍 11 2.1.2 Tensor数学运算操作 15 2.1.3 Tensor索引分片合并变换操作 20 2.1.4 Tensor类成员方法 22 2.1.5 在GPU上计算 24 2.2 PyTorch可微编程核心:自动微分Autograd 25 2.2.1 PyTorch自动微分简介 25 2.2.2 可微分张量 25 2.2.3 利用自动微分求梯度 26 2.2.4 Function:自动微分实现基础 29 2.2.5 注意事项 31 2.3 PyTorch应用实战一:实现卷积操作 34 2.3.1 卷积操作 34 2.3.2 利用张量操作实现卷积 36 2.4 PyTorch应用实战二:实现卷积神经网络进行图像分类 38 第3章 PyTorch构建神经网络 3.1 PyTorch神经网络计算核心:torch.nn 43 3.1.1 nn.Module概述 43 3.1.2 结构化构建神经网络 47 3.1.3 经典神经网络层介绍 49 3.1.4 函数式操作nn.functional 53 3.2 PyTorch优化器 55 3.2.1 torch.optim概述 55 3.2.2 经典优化器介绍 56 3.2.3 学习率调整 57 3.3 PyTorch应用实战一:实现二值化神经网络 59 3.3.1 二值化网络BinaryNet概述 59 3.3.2 具体实现 60 3.4 PyTorch应用实战二:利用LSTM实现文本情感分类 63 3.4.1 文本情感分类 63 3.4.2 具体实现 65 第4章 基于PyTorch构建复杂应用 4.1 PyTorch数据加载 70 4.1.1 数据预处理:torchvision.transforms 70 4.1.2 数据加载:torch.utils.data 73 4.2 PyTorch模型搭建 77 4.2.1 经典模型复用与分享:torchvision.models 78 4.2.2 模型加载与保存 79 4.2.3 导出为ONNX格式 85 4.3 训练过程中日志记录与可视化 89 4.4 PyTorch应用实战一:在CIFAR10数据集进行神经网络结构搜索 93 4.4.1 可微分网络架构搜索DARTS介绍 94 4.4.2 简化问题建模:以ResNet为例 95 4.4.3 具体实现 96 4.5 PyTorch应用实战二:在ImageNet数据集进行弱监督物体定位 108 4.5.1 GradCAM解释显著图方法介绍 108 4.5.2 弱监督物体定位任务 109 4.5.3 具体实现 110 第5章 PyTorch高级技巧与实战应用 5.1 PyTorch并行计算 118 5.1.1 大规模数据集加载 118 5.1.2 模型的高效并行计算 122 |