封面
版权信息
内容提要
前言
第1章 深度学习基础
1.1 深度学习的基础理论
1.1.1 人工智能的发展历程
1.1.2 深度学习受到的关注
1.1.3 深度学习的概念
1.1.4 深度学习的基本工作流程
1.2 深度学习框架
1.2.1 常用的深度学习框架
1.2.2 深度学习框架的对比与选择
1.3 深度学习框架的执行模式
1.3.1 Eager模式和Graph模式的对比
1.3.2 计算图的概念
1.4 华为云AI平台ModelArts
1.4.1 功能概述
1.4.2 ModelArts平台对昇腾生态的支持
1.4.3 ModelArts开发工具
1.4.4 使用ModelArts平台的基本方法
第2章 MindSpore概述
2.1 总体架构
2.1.1 华为全栈全场景AI解决方案
2.1.2 MindSpore框架的总体架构
2.2 MindSpore库和子系统
2.2.1 ModelZoo模型库
2.2.2 Extend扩展库
2.2.3 MindScience子系统
2.2.4 MindExpression子系统
2.2.5 MindCompiler子系统
2.2.6 MindRT子系统
2.2.7 MindData子系统
2.2.8 MindInsight子系统
2.2.9 MindArmour子系统
2.3 搭建MindSpore环境
2.3.1 准备基础运行环境
2.3.2 安装MindSpore框架
2.3.3 MindSpore社区
2.4 Python模块编程
2.4.1 Python模块编程基础
2.4.2 常用的Python数据科学开发包
2.4.3 MindSpore Python API的常用模块
2.5 MindSpore编程基础
2.5.1 MindSpore的开发流程
2.5.2 配置MindSpore的运行信息
2.5.3 数据类型
2.5.4 张量
2.5.5 数据集
2.5.6 算子
2.5.7 神经网络基本单元
2.5.8 模型
第3章 数据处理
3.1 背景知识
3.1.1 深度学习中的数据处理
3.1.2 MindSpore的数据处理流程
3.2 数据集加载
3.2.1 加载常用图像数据集
3.2.2 加载常用文本数据集
3.2.3 数据采样
3.2.4 生成和使用自定义数据集
3.3 通用数据处理
3.3.1 数据混洗
3.3.2 实现数据映射操作
3.3.3 对数据集进行分批
3.3.4 对数据集进行重复处理
3.3.5 对数据集进行拼接处理
3.3.6 Tensor对象的转置处理
3.4 文本数据处理
3.4.1 文本数据增强技术概述
3.4.2 构造和使用词汇表
3.4.3 文本分词技术
3.5 图像处理与增强
3.5.1 使用Matplotlib显示图像
3.5.2 图像裁剪
3.5.3 图像翻转
3.5.4 图像缩放
3.5.5 图像反相
3.5.6 图像格式的转换
3.5.7 图像数据类型的转换
3.6 自定义数据集MindRecord
3.6.1 将数据存储为MindRecord数据集
3.6.2 加载MindRecord数据集
3.7 优化数据处理
3.7.1 数据加载性能优化
3.7.2 数据增强性能优化
3.8 ModelArts数据处理
3.8.1 创建数据集
3.8.2 数据增强
第4章 MindSpore算子
4.1 深度学习的常用算法
4.1.1 激活函数
4.1.2 损失函数
4.1.3 优化器
4.1.4 归一化
4.2 常用的激活函数算子
4.2.1 ReLU函数相关算子
4.2.2 Sigmoid函数相关算子
4.2.3 Tanh函数相关算子
4.2.4 Leaky ReLU函数相关算子
4.2.5 ELU函数相关算子
4.3 常用的损失函数算子
4.3.1 MSE损失函数相关算子
4.3.2 L1损失函数相关算子
4.3.3 SmoothL1损失函数相关算子
4.3.4 交叉熵损失函数相关算子
4.3.5 KLDiv损失函数相关算子
4.3.6 NLL损失函数相关算子
4.3.7 SoftMargin损失函数相关算子
4.4 常用的优化器和学习率相关算子
4.4.1 常用的优化器算子
4.4.2 学习率相关算子
4.5 常用的归一化算子
4.5.1 BN算法相关算子
4.5.2 LN算法相关算子
4.5.3 IN算法相关算子
4.5.4 GN算法相关算子
4.5.5 LRN算法相关算子
第5章 神经网络模型的开发
5.1 神经网络模型的基础
5.1.1 搭建神经网络的流程
5.1.2 卷积神经网络的工作原理
5.1.3 卷积神经网络的经典模型
5.2 在MindSpore框架中搭建神经网络
5.2.1 在MindSpore框架中搭建神经网络的流程
5.2.2 定义神经网络类
5.2.3 在神经网络中定义隐藏层
5.2.4 自动微分
5.2.5 设置超参初始值
5.2.6 设置损失函数和优化器
5.3 模型训练
5.3.1 创建模型对象
5.3.2 训练模型
5.3.3 保存模型
5.4 基于LeNet-5模型的手写数字识别实例
5.4.1 搭建环境
5.4.2 训练模型
5.4.3 LeNet-5模型的源代码解析
5.5 通过ModelArts云平台在线训练模型
第6章 数据可视化组件MindInsight
6.1 MindInsight概述
6.1.1 MindInsight的工作原理
6.1.2 安装MindInsight
6.2 收集和解析Summary日志文件
6.2.1 收集Summary日志文件
6.2.2 解析Summary日志文件
6.3 训练看板
6.3.1 训练标量可视化
6.3.2 参数分布图
6.3.3 张量可视化
6.3.4 计算图可视化
6.3.5 数据图可视化
6.3.6 数据抽样
6.3.7 损失函数多维分析
6.4 溯源与对比看板
6.4.1 溯源与对比看板的数据采集实例
6.4.2 溯源
6.4.3 对比看板
第7章 推理
7.1 推理概述
7.1.1 推理的基本概念
7.1.2 训练和推理的区别与联系
7.2 MindSpore推理概述
7.2.1 MindSpore推理的流程
7.2.2 MindSpore模型的文件格式
7.2.3 加载模型
7.3 MindSpore在线推理
7.3.1 使用MindSpore Hub从华为云加载模型
7.3.2 验证模型
7.3.3 测试模型
7.4 MindSpore离线推理
7.4.1 ONNX Runtime概述
7.4.2 使用MindSpore导出ONNX模型
7.4.3 在Python环境中安装ONNX Runtime
7.4.4 Python使用ONNX Runtime进行推理的流程
第8章 移动端AI框架MindSpore Lite
8.1 MindSpore Lite的总体架构
8.1.1 离线模块
8.1.2 在线模块
8.2 在Ubuntu环境下安装MindSpore Lite
8.2.1 安装依赖的软件
8.2.2 编译MindSpore Lite
8.2.3 下载MindSpore Lite压缩包
8.3 MindSpore Lite C++编程
8.3.1 完整的迁移学习过程编程
8.3.2 端侧模型训练可以使用的回调函数
8.3.3 单纯的端侧推理场景编程
8.4 端侧训练、评估和推理实例
8.4.1 实例的目录结构
8.4.2 解析实例的主脚本prepare_and_run.sh
8.4.3 为运行实例做准备
8.4.4 运行实例
8.4.5 实例中端侧模型训练代码解析
8.4.6 实例中端侧模型评估代码解析
8.4.7 实例中端侧模型推理代码解析
8.5 开发图像分类的Android App实例
8.5.1 本实例的运行效果
8.5.2 本实例的开发流程
8.5.3 本实例使用的图像分类模型
8.5.4 下载本实例的源代码
8.5.5 搭建本实例的开发环境
8.5.6 构建和运行本实例App项目
8.5.7 本实例执行端侧推理的流程
8.5.8 端侧推理的C++程序
第9章 基于DCGAN的动漫头像生成实例
9.1 GAN和DCGAN理论基础
9.1.1 生成模型和判别模型
9.1.2 什么是GAN
9.1.3 DCGAN的原理
9.2 为在线运行实例准备环境
9.2.1 下载实例代码
9.2.2 在ModelArts中创建Notebook实例并上传代码
9.3 实例的在线运行与代码解析
9.3.1 下载并解压数据集
9.3.2 设置MindSpore运行属性及训练参数
9.3.3 图像数据处理与增强
9.3.4 可视化部分训练数据
9.3.5 初始化权重参数
9.3.6 定义生成器模型
9.3.7 定义判别器模型
9.3.8 连接生成器和损失函数
9.3.9 连接判别器和损失函数
9.3.10 定义损失函数和优化器
9.3.11 定义DCGAN网络
9.3.12 完成生成器和判别器的实例化工作
9.3.13 训练模型
9.3.14 绘制训练过程中生成器和判别器的损失值的变化趋势图
9.3.15 展示生成的卡通头像
更新时间:2024-11-21 15:42:11