图书详情

¥99.0

华为MindSpore深度学习框架应用开发实战

作者:李晓黎

编辑:王梓灵

浏览:270

推荐:0

收藏:0

详情

内容介绍

本书较为全面地介绍华为MindSpore深度学习框架的系统架构及其典型应用。 全书从逻辑上分为3个部分。第一部分由第1章和第2章组成,介绍深度学习基础、MindSpore概述。第二部分由第3~8章组成,介绍MindSpore框架各子系统的使用方法,包括数据处理、MindSpore算子、神经网络模型的开发、数据可视化组件MindInsight、推理和移动端AI框架MindSpore Lite。第三部分由第9章组成,介绍基于DCGAN的动漫头像生成实例。 本书既可以作为深度学习相关方向学生的专业用书,又可以作为相关科研人员和开发人员的参考用书。

相关信息

图书名称:华为MindSpore深度学习框架应用开发实战
ISBN:978-7-115-62985-2
作者:李晓黎
编辑:王梓灵
从书名:华为ICT技术丛书:智能基座系列
开本:16开
页数:360
印刷色数:单色
出版状态:已出版
出版日期:2024-06-01
作者简介:李晓黎 1998年毕业于吉林大学计算机系,硕士,具有中国投资银行、国家开发银行、中信实业银行等多家银行从业经历,多年参与银行信息化建设和网银平台开发工作,积累了深厚的全栈技术和丰富的实战开发经验,自2006年以来10多年间带领所组建的开发团队,从事网络管理软件、企业ERP系统和电商平台的开发与建设,对开发模式、开发团队组织管理和系统架构设计有着深入的理解和丰富的实战经验。在带领技术团队的过程中积累了丰富的专业技术与培训经验。

特别说明

深度学习框架MindSpore

本书卖点

1.本书作者是多年从事软件开发工作的工程师,具有丰富的开发经验。
2.本书是入门级图书,通过直观的图表和言简意赅的语言讲解深度学习的基础理论,可读性强。
3.本书采用多个经典实例,实战型高,内容直观。
4.本书配套资源丰富,便于读者自学。

目录

第1章 深度学习基础 1
1.1 深度学习的基础理论 1
1.1.1 人工智能的发展历程 1
1.1.2 深度学习受到的关注 3
1.1.3 深度学习的概念 6
1.1.4 深度学习的基本工作流程 9
1.2 深度学习框架 11
1.2.1 常用的深度学习框架 11
1.2.2 深度学习框架的对比与选择 13
1.3 深度学习框架的执行模式 15
1.3.1 Eager模式和Graph模式的对比 15
1.3.2 计算图的概念 17
1.4 华为云AI平台ModelArts 19
1.4.1 功能概述 20
1.4.2 ModelArts平台对昇腾生态的支持 21
1.4.3 ModelArts开发工具 22
1.4.4 使用ModelArts平台的基本方法 22
第2章 MindSpore概述 31
2.1 总体架构 31
2.1.1 华为全栈全场景AI解决方案 31
2.1.2 MindSpore框架的总体架构 32
2.2 MindSpore库和子系统 33
2.2.1 ModelZoo模型库 34
2.2.2 Extend扩展库 34
2.2.3 MindScience子系统 34
2.2.4 MindExpression子系统 35
2.2.5 MindCompiler子系统 36
2.2.6 MindRT子系统 37
2.2.7 MindData子系统 37
2.2.8 MindInsight子系统 38
2.2.9 MindArmour子系统 39
2.3 搭建MindSpore环境 39
2.3.1 准备基础运行环境 39
2.3.2 安装MindSpore框架 42
2.3.3 MindSpore社区 43
2.4 Python模块编程 44
2.4.1 Python模块编程基础 44
2.4.2 常用的Python数据科学开发包 46
2.4.3 MindSpore Python API的常用模块 47
2.5 MindSpore编程基础 47
2.5.1 MindSpore的开发流程 47
2.5.2 配置MindSpore的运行信息 48
2.5.3 数据类型 49
2.5.4 张量 50
2.5.5 数据集 53
2.5.6 算子 53
2.5.7 神经网络基本单元 53
2.5.8 模型 53
第3章 数据处理 54
3.1 背景知识 54
3.1.1 深度学习中的数据处理 54
3.1.2 MindSpore的数据处理流程 55
3.2 数据集加载 56
3.2.1 加载常用图像数据集 56
3.2.2 加载常用文本数据集 58
3.2.3 数据采样 60
3.2.4 生成和使用自定义数据集 61
3.3 通用数据处理 62
3.3.1 数据混洗 62
3.3.2 实现数据映射操作 63
3.3.3 对数据集进行分批 64
3.3.4 对数据集进行重复处理 66
3.3.5 对数据集进行拼接处理 66
3.3.6 Tensor对象的转置处理 68
3.4 文本数据处理 70
3.4.1 文本数据增强技术概述 71
3.4.2 构造和使用词汇表 71
3.4.3 文本分词技术 72
3.5 图像处理与增强 74
3.5.1 使用Matplotlib显示图像 74
3.5.2 图像裁剪 76
3.5.3 图像翻转 77
3.5.4 图像缩放 79
3.5.5 图像反相 79
3.5.6 图像格式的转换 81
3.5.7 图像数据类型的转换 81
3.6 自定义数据集MindRecord 81
3.6.1 将数据存储为MindRecord数据集 81
3.6.2 加载MindRecord数据集 84
3.7 优化数据处理 84
3.7.1 数据加载性能优化 85
3.7.2 数据增强性能优化 85
3.8 ModelArts数据处理 88
3.8.1 创建数据集 88
3.8.2 数据增强 88
第4章 MindSpore算子 90
4.1 深度学习的常用算法 90
4.1.1 激活函数 90
4.1.2 损失函数 94
4.1.3 优化器 98
4.1.4 归一化 103
4.2 常用的激活函数算子 105
4.2.1 ReLU函数相关算子 106
4.2.2 Sigmoid函数相关算子 107
4.2.3 Tanh函数相关算子 108
4.2.4 Leaky ReLU函数相关算子 108
4.2.5 ELU函数相关算子 109
4.3 常用的损失函数算子 110
4.3.1 MSE损失函数相关算子 110
4.3.2 L1损失函数相关算子 111
4.3.3 SmoothL1损失函数相关算子 112
4.3.4 交叉熵损失函数相关算子 113
4.3.5 KLDiv损失函数相关算子 114
4.3.6 NLL损失函数相关算子 115
4.3.7 SoftMargin损失函数相关算子 116
4.4 常用的优化器和学习率相关算子 116
4.4.1 常用的优化器算子 117
4.4.2 学习率相关算子 117
4.5 常用的归一化算子 119
4.5.1 BN算法相关算子 119
4.5.2 LN算法相关算子 120
4.5.3 IN算法相关算子 121
4.5.4 GN算法相关算子 122
4.5.5 LRN算法相关算子 122
第5章 神经网络模型的开发 124
5.1 神经网络模型的基础 124
5.1.1 搭建神经网络的流程 124
5.1.2 卷积神经网络的工作原理 125
5.1.3 卷积神经网络的经典模型 134
5.2 在MindSpore框架中搭建神经网络 140
5.2.1 在MindSpore框架中搭建神经网络的流程 140
5.2.2 定义神经网络类 140
5.2.3 在神经网络中定义隐藏层 141
5.2.4 自动微分 145
5.2.5 设置超参初始值 149
5.2.6 设置损失函数和优化器 149
5.3 模型训练 149
5.3.1 创建模型对象 150
5.3.2 训练模型 150
5.3.3 保存模型 150
5.4 基于LeNet-5模型的手写数字识别实例 152
5.4.1 搭建环境 152
5.4.2 训练模型 154
5.4.3 LeNet-5模型的源代码解析 154
5.5 通过ModelArts云平台在线训练模型 158
第6章 数据可视化组件MindInsight 165
6.1 MindInsight概述 165
6.1.1 MindInsight的工作原理 165
6.1.2 安装MindInsight 166
6.2 收集和解析Summary日志文件 167
6.2.1 收集Summary日志文件 168
6.2.2 解析Summary日志文件 171
6.3 训练看板 172
6.3.1 训练标量可视化 172
6.3.2 参数分布图 173
6.3.3 张量可视化 174
6.3.4 计算图可视化 175
6.3.5 数据图可视化 178
6.3.6 数据抽样 178
6.3.7 损失函数多维分析 179
6.4 溯源与对比看板 188
6.4.1 溯源与对比看板的数据采集实例 188
6.4.2 溯源 189
6.4.3 对比看板 190
第7章 推理 192
7.1 推理概述 192
7.1.1 推理的基本概念 192
7.1.2 训练和推理的区别与联系 193
7.2 MindSpore推理概述 194
7.2.1 MindSpore推理的流程 194
7.2.2 MindSpore模型的文件格式 194
7.2.3 加载模型 195
7.3 MindSpore在线推理 195
7.3.1 使用MindSpore Hub从华为云加载模型 196
7.3.2 验证模型 198
7.3.3 测试模型 200
7.4 MindSpore离线推理 202
7.4.1 ONNX Runtime概述 203
7.4.2 使用MindSpore导出ONNX模型 203
7.4.3 在Python环境中安装ONNX Runtime 204
7.4.4 Python使用ONNX Runtime进行推理的流程 204
第8章 移动端AI框架MindSpore Lite 208
8.1 MindSpore Lite的总体架构 208
8.1.1 离线模块 209
8.1.2 在线模块 209
8.2 在Ubuntu环境下安装MindSpore Lite 209
8.2.1 安装依赖的软件 210
8.2.2 编译MindSpore Lite 211
8.2.3 下载MindSpore Lite压缩包 212
8.3 MindSpore Lite C++编程 213
8.3.1 完整的迁移学习过程编程 213
8.3.2 端侧模型训练可以使用的回调函数 215
8.3.3 单纯的端侧推理场景编程 217
8.4 端侧训练、评估和推理实例 219
8.4.1 实例的目录结构 219
8.4.2 解析实例的主脚本prepare_and_run.sh 219
8.4.3 为运行实例做准备 229
8.4.4 运行实例 232
8.4.5 实例中端侧模型训练代码解析 234
8.4.6 实例中端侧模型评估代码解析 240
8.4.7 实例中端侧模型推理代码解析 241
8.5 开发图像分类的Android App实例 246
8.5.1 本实例的运行效果 246
8.5.2 本实例的开发流程 247
8.5.3 本实例使用的图像分类模型 248
8.5.4 下载本实例的源代码 250
8.5.5 搭建本实例的开发环境 251
8.5.6 构建和运行本实例App项目 254
8.5.7 本实例执行端侧推理的流程 255
8.5.8 端侧推理的C++程序 256
第9章 基于DCGAN的动漫头像生成实例 267
9.1 GAN和DCGAN理论基础 267
9.1.1 生成模型和判别模型 267
9.1.2 什么是GAN 268
9.1.3 DCGAN的原理 270
9.2 为在线运行实例准备环境 271
9.2.1 下载实例代码 271
9.2.2 在ModelArts中创建Notebook实例并上传代码 271
9.3 实例的在线运行与代码解析 273
9.3.1 下载并解压数据集 274
9.3.2 设置MindSpore运行属性及训练参数 274
9.3.3 图像数据处理与增强 275
9.3.4 可视化部分训练数据 277
9.3.5 初始化权重参数 278
9.3.6 定义生成器模型 279
9.3.7 定义判别器模型 281
9.3.8 连接生成器和损失函数 283
9.3.9 连接判别器和损失函数 284
9.3.10 定义损失函数和优化器 285
9.3.11 定义DCGAN网络 286
9.3.12 完成生成器和判别器的实例化工作 287
9.3.13 训练模型 287
9.3.14 绘制训练过程中生成器和判别器的损失值的变化趋势图 290
9.3.15 展示生成的卡通头像 291

申请样书

立即购买
1 2