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


目录

• 第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. 第1章:深度学习基础

• 介绍了深度学习的基础理论,包括人工智能的发展历程、深度学习的概念和基本工作流程。还对深度学习框架进行了概述,比较了不同框架的特点,并介绍了华为云AI平台ModelArts的功能和使用方法。

  1. 第2章:MindSpore概述

• 详细阐述了MindSpore框架的总体架构,包括华为全栈全场景AI解决方案和MindSpore框架的具体架构。还介绍了MindSpore的库和子系统,如ModelZoo模型库、Extend扩展库和MindScience子系统。

  1. 第3章:数据处理

• 涵盖了深度学习中数据处理的背景知识,包括MindSpore的数据处理流程。讲解了数据集加载的方法,包括加载常用图像和文本数据集,以及自定义数据集MindRecord的创建和加载。还介绍了数据处理的优化方法和ModelArts中的数据处理功能。

  1. 第4章:MindSpore算子

• 介绍了深度学习中的常用算法,如激活函数、损失函数、优化器和归一化。详细讲解了常用的激活函数算子,包括ReLU、Sigmoid和Tanh函数相关算子。

  1. 第5章:神经网络模型的开发

• 从基础知识入手,讲解了神经网络模型的搭建流程、工作原理和经典模型。重点介绍了在MindSpore框架中搭建神经网络的方法,包括定义神经网络类、隐藏层、自动微分、超参数设置、损失函数和优化器等内容。

  1. 第6章:数据可视化组件MindInsight

• 对MindInsight进行了概述,包括其工作原理和安装方法。详细讲解了如何收集和解析Summary日志文件,以及如何使用训练看板和溯源与对比看板进行数据可视化和分析。

  1. 第7章:推理

• 介绍了推理的基本概念和训练与推理的区别与联系。重点阐述了MindSpore推理的流程、模型文件格式和在线推理方法,包括从华为云加载模型的操作。

  1. 第8章:移动端AI框架MindSpore Lite

• 讲解了MindSpore Lite的总体架构,包括离线和在线模块。介绍了在Ubuntu环境下的安装方法和下载压缩包的操作。通过完整的迁移学习过程编程和开发图像分类的Android App实例,展示了MindSpore Lite的实际应用。

  1. 第9章:基于DCGAN的动漫头像生成实例

• 从GAN和DCGAN的理论基础入手,介绍了为在线运行实例准备环境的方法,包括下载实例代码和在ModelArts中创建Notebook实例。通过详细的实例在线运行与代码解析,展示了如何使用MindSpore进行动漫头像生成。

二、主要内容

这本书通过理论与实践相结合的方式,全面介绍了华为MindSpore深度学习框架的应用开发。从深度学习的基础知识开始,逐步深入到MindSpore框架的各个方面,包括数据处理、算子、神经网络模型开发、数据可视化、推理、移动端应用和实际案例等。通过大量的实例和代码解析,读者可以深入了解如何在MindSpore框架下进行深度学习应用的开发,适合对深度学习和MindSpore框架感兴趣的开发者和研究人员阅读。