目录
• 第1章 深度学习基础
• 1.1 深度学习的基础理论
• 1.1.1 人工智能的发展历程
• 1.1.2 深度学习受到的关注
• 1.1.3 深度学习的概念
• 1.1.4 深度学习的基本工作流程
• 1.2 深度学习框架
• 1.2.1 常用的深度学习框架
• 1.2.2 深度学习框架的对比与选择
• 1.2.3 深度学习框架的执行模式
• 1.2.3.1 Eager模式和Graph模式的对比
• 1.2.3.2 计算图的概念
• 1.3 华为云AI平台ModelArts
• 1.3.1 功能概述
• 1.3.2 ModelArts平台对异构生态的支持
• 1.3.3 ModelArts开发工具
• 1.3.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子系统
• 第3章 数据处理
• 3.1 背景知识
• 3.1.1 深度学习中的数据处理
• 3.1.2 MindSpore的数据处理流程
• 3.2 数据集加载
• 3.2.1 加载常用图像数据集
• 3.2.2 加载常用文本数据集
• 3.2.3 数据格式
• 3.3 通用数据处理
• 3.3.1 数据混洗
• 3.3.2 实现数据映射操作
• 3.4 自定义数据集MindRecord
• 3.4.1 将数据存储为MindRecord数据集
• 3.4.2 加载MindRecord数据集
• 3.5 优化数据处理
• 3.5.1 数据加载性能优化
• 3.5.2 数据增强性能优化
• 3.6 ModelArts数据处理
• 3.6.1 创建数据集
• 3.6.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函数相关算子
• 第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.2.6.1 创建模型对象
• 5.2.6.2 训练模型
• 5.2.6.3 保存模型
• 第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.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从华为云加载模型
• 第8章 移动端AI框架MindSpore Lite
• 8.1 MindSpore Lite的总体架构
• 8.1.1 离线模块
• 8.1.2 在线模块
• 8.1.3 在Ubuntu环境下安装MindSpore Lite C++依赖的软件
• 8.1.4 安装MindSpore Lite Python依赖的软件
• 8.2 下载MindSpore Lite压缩包
• 8.3 完整的迁移学习过程编程
• 8.3.1 端侧模型训练可以使用的回调函数
• 8.3.2 单端的端侧推理编程
• 8.3.3 端侧评估、训练和推理实例
• 8.3.3.1 实例的目录结构
• 8.3.3.2 解析实例的主脚本prepare_and_run.sh
• 8.3.3.3 为运行实例做准备
• 8.3.3.4 运行实例
• 8.3.3.5 实例中端侧模型训练代码解析
• 8.3.3.6 实例中端侧模型评估代码解析
• 8.3.3.7 实例中端侧模型推理代码解析
• 8.4 开发图像分类的Android App实例
• 8.4.1 本实例的运行效果
• 8.4.2 本实例的开发流程
• 8.4.3 本实例使用的图像分类模型
• 8.4.4 下载本实例的源代码
• 8.4.5 搭建本实例的开发环境
• 8.4.6 构建和运行本实例App项目
• 8.4.7 本实例执行端侧推理的流程
• 第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 展示生成的卡通头像
读书摘要与主要内容介绍
《华为MindSpore深度学习框架应用开发实战》是一本专注于华为MindSpore深度学习框架应用开发的专业书籍。
一、内容结构
- 第1章:深度学习基础
• 介绍了深度学习的基础理论,包括人工智能的发展历程、深度学习的概念和基本工作流程。还对深度学习框架进行了概述,比较了不同框架的特点,并介绍了华为云AI平台ModelArts的功能和使用方法。
- 第2章:MindSpore概述
• 详细阐述了MindSpore框架的总体架构,包括华为全栈全场景AI解决方案和MindSpore框架的具体架构。还介绍了MindSpore的库和子系统,如ModelZoo模型库、Extend扩展库和MindScience子系统。
- 第3章:数据处理
• 涵盖了深度学习中数据处理的背景知识,包括MindSpore的数据处理流程。讲解了数据集加载的方法,包括加载常用图像和文本数据集,以及自定义数据集MindRecord的创建和加载。还介绍了数据处理的优化方法和ModelArts中的数据处理功能。
- 第4章:MindSpore算子
• 介绍了深度学习中的常用算法,如激活函数、损失函数、优化器和归一化。详细讲解了常用的激活函数算子,包括ReLU、Sigmoid和Tanh函数相关算子。
- 第5章:神经网络模型的开发
• 从基础知识入手,讲解了神经网络模型的搭建流程、工作原理和经典模型。重点介绍了在MindSpore框架中搭建神经网络的方法,包括定义神经网络类、隐藏层、自动微分、超参数设置、损失函数和优化器等内容。
- 第6章:数据可视化组件MindInsight
• 对MindInsight进行了概述,包括其工作原理和安装方法。详细讲解了如何收集和解析Summary日志文件,以及如何使用训练看板和溯源与对比看板进行数据可视化和分析。
- 第7章:推理
• 介绍了推理的基本概念和训练与推理的区别与联系。重点阐述了MindSpore推理的流程、模型文件格式和在线推理方法,包括从华为云加载模型的操作。
- 第8章:移动端AI框架MindSpore Lite
• 讲解了MindSpore Lite的总体架构,包括离线和在线模块。介绍了在Ubuntu环境下的安装方法和下载压缩包的操作。通过完整的迁移学习过程编程和开发图像分类的Android App实例,展示了MindSpore Lite的实际应用。
- 第9章:基于DCGAN的动漫头像生成实例
• 从GAN和DCGAN的理论基础入手,介绍了为在线运行实例准备环境的方法,包括下载实例代码和在ModelArts中创建Notebook实例。通过详细的实例在线运行与代码解析,展示了如何使用MindSpore进行动漫头像生成。
二、主要内容
这本书通过理论与实践相结合的方式,全面介绍了华为MindSpore深度学习框架的应用开发。从深度学习的基础知识开始,逐步深入到MindSpore框架的各个方面,包括数据处理、算子、神经网络模型开发、数据可视化、推理、移动端应用和实际案例等。通过大量的实例和代码解析,读者可以深入了解如何在MindSpore框架下进行深度学习应用的开发,适合对深度学习和MindSpore框架感兴趣的开发者和研究人员阅读。