新書推薦:
《
中国王朝内争实录:宠位厮杀
》
售價:NT$
281.0
《
凡事发生皆有利于我(这是一本读了之后会让人运气变好的书”治愈无数读者的心理自助经典)
》
售價:NT$
203.0
《
未来特工局
》
售價:NT$
254.0
《
高术莫用(十周年纪念版 逝去的武林续篇 薛颠传世之作 武学尊师李仲轩家世 凸显京津地区一支世家的百年沉浮)
》
售價:NT$
250.0
《
英国简史(刘金源教授作品)
》
售價:NT$
449.0
《
便宜货:廉价商品与美国消费社会的形成
》
售價:NT$
352.0
《
读书是一辈子的事(2024年新版)
》
售價:NT$
352.0
《
乐道文库·什么是秦汉史
》
售價:NT$
367.0
|
編輯推薦: |
1.本书作者是多年从事软件开发工作的工程师,具有丰富的开发经验。
2.本书是入门级图书,通过直观的图表和言简意赅的语言讲解深度学习的基础理论,可读性强。
3.本书采用多个经典实例,实战型高,内容直观。
4.本书配套资源丰富,便于读者自学。
|
內容簡介: |
全书从逻辑上共分3部分。第一部分由第1章和第2章组成,介绍深度学习的基础理论、MindSpore总体架构和编程基础。第二部分由第3~8章组成,介绍MindSpore框架各子系统的具体情况,包括数据处理、算子、神经网络模型开发、数据可视化组件MindInsight、推理、以及移动端AI框架MindSpore Lite。第三部分由第9章和第10章组成,介绍使用MindSpore框架开发和训练的经典深度学习模型实例。
本书既可以作为深度学习相关方向学生的专业用书,又可以作为相关科研人员和开发人员的参考用书。
|
關於作者: |
李晓黎,1998年毕业于吉林大学计算机系,硕士,具有中国投资银行、国家开发银行、中信实业银行等多家银行从业经历,多年参与银行信息化建设和网银平台开发工作,积累了深厚的全栈技术和丰富的实战开发经验,自2006年以来10多年间带领所组建的开发团队,从事网络管理软件、企业ERP系统和电商平台的开发与建设,对开发模式、开发团队组织管理和系统架构设计有着深入的理解和丰富的实战经验。在带领技术团队的过程中积累了丰富的专业技术与培训经验。
|
目錄:
|
第 1章 深度学习基础 1
1.1 深度学习的基础理论 1
1.1.1 人工智能的发展历程 1
1.1.2 深度学习是当前热度最高的AI技术 3
1.1.3 深度学习技术的常用概念 5
1.1.4 深度学习的基本工作流程 8
1.2 深度学习框架 10
1.2.1 常用的深度学习框架 10
1.2.2 深度学习框架的对比与选择 12
1.3 深度学习框架的执行模式 15
1.3.1 Eager模式和Graph模式的对比 15
1.3.2 计算图的概念 17
1.4 华为云AI平台ModelArts 20
1.4.1 功能概述 20
1.4.2 ModelArts平台对 N腾生态的支持 22
1.4.3 ModelArts开发工具 22
1.4.4 使用ModelArts平台的基本方法 23
第 2章 MindSpore概述 30
2.1 总体架构 30
2.1.1 华为全栈全场景AI解决方案 30
2.1.2 MindSpore框架的总体架构 31
2.2 MindSpore库和子系统 32
2.2.1 ModelZoo模型库 33
2.2.2 Extend扩展库 33
2.2.3 MindScience子系统 33
2.2.4 MindExpression子系统 34
2.2.5 MindCompiler子系统 34
2.2.6 MindRT子系统 36
2.2.7 MindData子系统 36
2.2.8 MindInsight子系统 37
2.2.9 MindAmour子系统 37
2.3 搭建MindSpore环境 38
2.3.1 准备基础运行环境 38
2.3.2 安装MindSpore框架 40
2.3.3 MindSpore社区 41
2.4 Python模块编程 42
2.4.1 Python模块编程基础 42
2.4.2 常用的Python数据科学开发包 44
2.4.3 MindSpore Python API的常用模块 45
2.5 MindSpore编程基础 46
2.5.1 MindSpore的开发流程 46
2.5.2 配置MindSpore的运行信息 46
2.5.3 数据类型(DataType) 47
2.5.4 张量(Tensor) 48
2.5.5 数据集(Dataset) 51
2.5.6 算子(Operation) 51
2.5.7 神经网络基本单元(Cell) 51
2.5.8 模型(Model) 51
第3章 数据处理 52
3.1 背景知识 52
3.1.1 深度学习中的数据处理 52
3.1.2 MindSpore的数据处理流程 53
3.2 数据集加载 54
3.2.1 加载常用图像数据集 54
3.2.2 加载常用文本数据集 56
3.2.3 数据采样 58
3.2.4 生成和使用自定义数据集 59
3.3 通用数据处理 60
3.3.1 数据混洗 60
3.3.2 实现数据映射操作 61
3.3.3 对数据集进行分批 62
3.3.4 对数据集进行重复处理 63
3.3.5 对数据集进行拼接处理 64
3.3.6 Tensor对象的转置处理 66
3.4 文本数据处理 68
3.4.1 文本数据增强技术概述 68
3.4.2 构造和使用词汇表 68
3.4.3 文本分词技术 69
3.5 图像处理与增强 71
3.5.1 使用Matplotlib显示图像 72
3.5.2 图像裁剪 73
3.5.3 图像翻转 75
3.5.4 图像缩放 76
3.5.5 图像反相 76
3.5.6 图像格式的转换 78
3.5.7 图像数据类型的转换 78
3.6 自定义数据集MindRecord 78
3.6.1 将数据存储为MindRecord数据集 79
3.6.2 加载MindRecord数据集 81
3.7 优化数据处理 81
.3.7.1 数据加载性能优化 82
3.7.2 数据增强性能优化 82
3.8 ModelArts数据处理 84
3.8.1 创建数据集 85
3.8.2 数据增强 85
第4章 MindSpore算子 88
4.1 深度学习的常用算法 88
4.1.1 激活函数 88
4.1.2 损失函数 91
4.1.3 优化器(optimizer) 94
4.1.4 归一化(normalization) 99
4.2 常用的激活函数算子 102
4.2.1 ReLU函数相关算子 102
4.2.2 Sigmoid函数相关算子 103
4.2.3 Tanh函数相关算子 104
4.2.4 Leaky ReLU函数相关算子 105
4.2.5 ELU函数相关算子 105
4.3 常用的损失函数算子 106
4.3.1 MSE损失函数相关算子 106
4.3.2 L1损失函数相关算子 108
4.3.3 SmoothL1损失函数相关算子 108
4.3.4 交叉熵损失函数相关算子 109
4.3.5 KLDiv损失函数相关算子 111
4.3.6 NLL损失函数相关算子 111
4.3.7 SoftMargin损失函数相关算子 112
4.4 常用的优化器和学习率相关算子 113
4.4.1 常用的优化器算子 113
4.4.2 学习率相关算子 113
4.5 常用的归一化算子 115
4.5.1 BN算法相关算子 115
4.5.2 LN算法相关算子 116
4.5.3 IN算法相关算子 117
4.5.4 GN算法相关算子 117
4.5.5 LRN算法相关算子 118
第5章 神经网络模型开发 120
5.1 神经网络模型基础 120
5.1.1 搭建神经网络的流程 120
5.1.2 CNN的工作原理 122
5.1.3 CNN的经典模型 130
5.2 MindSpore搭建神经网络 135
5.2.1 在MindSpore框架中搭建神经网络的流程 135
5.2.2 定义神经网络类 136
5.2.3 在神经网络中定义隐层 137
5.2.4 自动微分 140
5.2.5 设置超参初始值 144
5.2.6 设置损失函数和优化器 145
5.3 模型训练 145
5.3.1 创建模型对象 145
5.3.2 训练模型 145
5.3.3 保存模型 146
5.4 基于LeNet-5模型的手写数字识别实例 147
5.4.1 搭建环境 147
5.4.2 训练模型 149
5.4.3 LeNet-5模型的源代码解析 150
5.5 通过ModelArts云平台在线训练模型 154
5.5.1 本节案例的流程 154
5.5.2 准备训练数据 154
5.5.3 订阅算法 156
5.5.4 使用订阅算法创建训练作业 158
第6章 数据可视化组件MindInsight 160
6.1 MindInsight概述 160
6.1.1 MindInsight的工作原理 160
6.1.2 安装MindInsight 160
6.2 收集和解析Summary日志文件 162
6.2.1 收集Summary日志文件 162
6.2.2 解析Summary日志文件 165
6.3 训练看板 166
6.3.1 训练标量可视化 167
6.3.2 参数分布图 167
6.3.3 张量可视化 168
6.3.4 计算图可视化 169
6.3.5 数据图可视化 172
6.3.6 数据抽样 172
6.3.7 损失函数多维分析 172
6.4 溯源与对比看板 181
6.4.1 溯源与对比的数据采集实例 181
6.4.2 溯源 182
6.4.3 对比看板 183
第7章 推理 185
7.1 概述 185
7.1.1 推理的基本概念 185
7.1.2 训练和推理的区别与联系 186
7.2 MindSpore推理概述 186
7.2.1 MindSpore推理的流程 186
7.2.2 MindSpore模型文件格式 187
7.2.3 加载模型 188
7.3 MindSpore在线推理 188
7.3.1 使用MindSpore Hub从华为云加载模型 188
7.3.2 验证模型 192
7.3.3 测试模型 193
7.4 MindSpore离线推理 195
7.4.1 ONNX Runtime概述 196
7.4.2 MindSpore导出ONNX模型 196
7.4.3 在Python环境中安装ONNX Runtime 197
7.4.4 Python使用ONNX Runtime进行推理的流程 197
7.4.5 加载模型 197
7.4.6 获取输入输出节点名 198
7.4.7 准备数据 198
7.4.8 执行推理 199
7.5 通过ModelArts云平台实现在线推理 200
7.5.1 模型转换 201
7.5.2 创建AI应用 202
7.5.3 部署为在线服务 204
7.5.4 调用在线服务的API接口 206
7.5.5 清除资源 210
第8章 移动端AI框架MindSpore Lite 211
8.1 MindSpore Lite的总体架构 211
8.1.1 离线模块 211
8.1.2 在线模块 212
8.2 在Ubuntu环境下安装MindSpore Lite 212
8.2.1 安装依赖的软件 212
8.2.2 编译MindSpore Lite 214
8.2.3 下载MindSpore Lite压缩包 215
8.3 MindSpore Lite C 编程 217
8.3.1 完整的迁移学习过程编程 217
8.3.2 端侧模型训练可以使用的回调函数 219
8.3.3 单纯的端侧推理场景编程 221
8.4 端侧训练、评估和推理实例 223
8.4.1 实例的目录结构 223
8.4.2 解析实例的主脚本prepare_and_run.sh 223
8.4.3 为运行实例做准备 233
8.4.4 运行实例 236
8.4.5 实例中端侧模型训练代码解析 238
8.4.6 实例中端侧模型评估代码解析 244
8.4.7 实例中端侧模型推理代码解析 245
8.5 开发图像分类的Android APP实例 249
8.5.1 本实例的运行效果 249
8.5.2 本实例的开发流程 250
8.5.3 本实例使用的图像分类模型 251
8.5.4 下载本实例的源代码 253
8.5.5 搭建本实例的开发环境 254
8.5.6 构建和运行本实例APP项目 257
8.5.7 本实例执行端侧推理的流程 257
8.5.8 端侧推理的C 程序 258
第9章 基于DCGAN的动漫头像生成实例 269
9.1 GAN和DCGAN理论基础 269
9.1.1 生成模型和判别模型 269
9.1.2 什么是GAN 270
9.1.3 DCGAN的原理 271
9.2 为在线运行实例准备环境 273
9.2.1 下载实例代码 273
9.2.2 在ModelArts创建Notebook实例并上传代码 274
9.3 实例的在线运行与代码解析 275
9.3.1 下载并解压数据集 276
9.3.2 设置MindSpore运行属性及训练参数 276
9.3.3 图像数据处理与增强 277
9.3.4 可视化部分训练数据 279
9.3.5 初始化权重参数 280
9.3.6 定义生成器模型 281
9.3.7 定义判别器模型 283
9.3.8 连接生成器和损失函数 284
9.3.9 连接判别器和损失函数 285
9.3.10 定义损失函数和优化器 286
9.3.11 定义DCGAN网络 287
9.3.12 完成生成器和判别器的实例化工作 288
9.3.13 训练模型 288
9.3.14 绘制训练过程中生成器和判别器损失值变化趋势图 290
9.3.15 展示生成的卡通头像 291
第 10章 基于RNN实现文本情感分类的实例 294
10.1 文本的数值化表示 294
10.1.1 独热(One-hot)编码 294
10.1.2 将每个单词编码为一个唯一数字 294
10.1.3 词嵌入向量 295
10.1.4 GloVe(Global Vectors,全局词向量)模型 296
10.2 RNN工作原理 298
10.2.1 RNN的网络结构 298
10.2.2 RNN的作用 299
10.2.3 LSTM模型 299
10.3 实例的运行和代码解析 301
10.3.1 下载实例代码并上传至ModelArts云平台 301
10.3.2 本实例的代码块 301
10.3.3 下载并解压数据集 301
10.3.4 下载GloVe包 302
10.3.5 创建保存数据集预处理输出的目录 303
10.3.6 配置运行信息和网络参数 303
10.3.7 安装gensim依赖包 304
10.3.8 执行数据集预处理 305
10.3.9 显示数据集预处理的结果 310
10.3.10 创建训练集对象 311
10.3.11 定义网络 312
10.3.12 训练并保存模型 324
10.3.13 模型验证 325
10.3.14 本实例的MindSpore版本不兼容问题 326
附录 327
第8章APP实例的部分代码解析 327
一.主界面处理程序简介 327
二.结果页面处理程序简介 330
三.端侧推理的Java程序 332
|
|