序号 | 实验 | CPU | Ascend | Python | C++ |
---|---|---|---|---|---|
① | 基于三层感知机实现手写数字识别 | ✅ | ✅ | ||
② | 搭建VGG16神经网络实现图像分类 | ✅ | ✅ | ||
③ | 基于ACL搭建VGG16实现图片分类应用 | ✅ | ✅ | ✅ | |
④ | 基于MindSpore框架实现VGG17训练和验证 | ✅ | ✅ | ||
⑤ | 基于CANN构建VGG17 | ✅ | ✅ | ||
⑥ | TBE算子开发与集成 | ✅ | ✅ | ||
⑦ | 基于MindSpore的量化推理实验 | ✅ | ✅ | ||
⑧ | 全流程垃圾分类应用 | ✅ | ✅ | ✅ |
注:所有实验均配有学生版和教师版指导书,notebook在每个实验的teacher文件夹下
本实验的目的是掌握神经网络的设计原理,掌握神经网络的训练和推理方法。
实验内容如下:
-
用
python
语言实现全连接算子、激活函数算子的正向及反向传播实现。 -
构建三层感知机网络。
-
对手写数字数据集
mnist
进行训练和推理。
本实验的目的是掌握卷积神经网络的设计原理,能够独立构建卷积神经网络,深入了解卷积、池化等算子的正向传播及反向传播原理,深入了解链式求导法则。能够使用 Python 语言构建 VGG16 网络模型来对给定的输入图像进行分类并求得中间过程梯度。
实验内容如下:
- 用
python
语言实现卷积算子、最大池化算子的正向及反向传播实现。 - 构建三层感知机网络。
- 对花卉数据集的部分图片进行推理得到分类结果。
- 根据指定标签进行反向传播求得中间过程梯度。
本实验的目的掌握使用AscendCL(Ascend Computing Language)实现模型应用的开发。将以训练好的 VGG16 网络模型(.onnx模型)转换为Davinci架构专用的模型(.om模型),使 VGG16 网络推理过程可以高效的运行在Ascend硬件上。并对指定图片进行推理输出指定结果,搭建一个实时的图片分类应用。
实验内容如下:
-
使用atc工具将.onnx模型转为.om模型。
-
使用
python
语言或c++
语言调用acl
接口实现资源初始化、资源申请、数据加载、模型加载、模型推理、模型卸载、资源释放、去初始化。 -
基于Ascend310推理芯片,调用.om模型对花卉数据集的部分图片进行推理得到分类结果。
本实验的目的是熟悉和使用ModelArts平台和MindSpore深度学习框架,熟悉MindSpore常用算子API接口,调用MindSpore算子搭建VGG17卷积神经网络,并在花卉数据集上进行模型训练和验证。
实验内容如下:
- 使用MindSpore框架搭建VGG17神经网络,包括网络初始化和传播过程的实现。
- 在Modelart平台上使用Ascend910训练芯片对花卉数据集进行模型训练,并保存对应权重。
- 对花卉数据集的测试集进行验证,校验模型鲁棒性。
本实验的目的是了解CANN高性能算子库,了解算子原型的定义与调用,熟悉通过元算子构建整个网络模型。
实验内容如下:
- 根据算子原型进行算子调用,并加载提供的预训练权重。包括数据、卷积、全连接层、激活函数等基本算子的调用与加载。
- 根据调用算子构建VGG17网络模型。
- 对VGG17网络模型进行编译graph得到离线模型。
- 运行测试案例校验离线模型的正确性。
本实验的目的是基于TBE算子开发语言开发运行在AI Core上的自定义算子,并对自定义开发的算子进行性能测试。将自定义开发的算子注册至算子库,在基于算子库构建 VGG17 神经网络时能够运行自定义开发的算子。
实验内容如下:
- 对BatchNormalization和Softmax算子进行分析。
- 创建BatchNormalization和Softmax算子开发工程。
- 定义算子原型文件,包含算子的输入、输出、属性信息以及形状推到。
- 实现算子主要功能函数,调用tbe算子实现算子运算逻辑。
- 配置算子信息库,对算子类型,输入输出名称、数据类型和数据排布格式等信息进行配置。
- 对实现算子进行编译部署。
- 运行测试案例校验算子实现逻辑正确性。
- 调用开发的算子,对指定图片进行推理,并输出正确结果。
本实验的目的是了解神经网络量化操作,能够实现 int8 量化操作,构建量化 VGG16 神经网络,并基于MindSpore框架实现量化推理,能够编写量化操作代码。
实验内容如下:
- 实现基本的量化模块,并搭建量化卷积模块、量化全连接层模块、量化激活函数模块、量化最大池化模块。
- 使用MindSpore框架构建VGG16卷积神经网络和量化VGG16卷积神经网络,实现相应的正向传播模块。
- 在指定的数据集上对VGG16网络进行推理,获得对应的结果。
- 对VGG16网络进行量化推理,获取量化中间结果。
- 对VGG16网络进行量化,并对量化后的卷积神经网络进行推理,且输出正确结果。
本实验的目的是熟悉图片分类从训练到部署的全流程应用,熟悉和使用ModelArts平台和MindSpore深度学习框架,掌握移植和优化代表性图片分类算法(SENet)的方法和流程,基于垃圾分类数据集实现图片分类算法的训练、验证、推理和部署。
实验内容如下:
- 对垃圾分类数据集的分析处理,获取数据相关信息。
- 使用MindSpore框架搭建SE-ResNet50模型。
- 基于Ascend910芯片进行模型训练并保存对应的模型权重。
- 对垃圾分类测试集进行验证,校验模型鲁棒性。
- 对训练好的模型进行导出为
.om
模型。 - 基于Ascend310芯片使用AscendCL实现模型应用的部署开发,并搭建一个实时的垃圾分类应用。