1.准备源码
GitHub:https://github.com/mindspore-ai/mindsporeGitee:https://gitee.com/mindspore/mindspore
1)下载实例代码
https://gitee.com/mindspore/docs.git

2)docs工程说明
2.挑选入门的实例
windows本地目录\docs\tutorials\tutorial_code\lenet
3.本地化运行实例
1)使用本地IDE“”打开lenet实例源码
+lenet+ utils- __init__.py #python模块化文件,空文件- dataset.py #数据集封装处理文件- lenet.py #主实例程序文件,包括该网络模型的训练和推理测试

2)配置python环境

配置环境如下:

3)运行配置好的程序:
程序的运行步骤如下:
数据集的下载(这里注意下,如果数据下载不完整,可以清空运行程序下载);

结合数据进行模型训练;

结合训练出的模型,使用测试数据进行推理验证。

4.总结认识
1)解读实例程序结构

数据集准备:
官方网站 http://yann.lecun.com/exdb/mnist/
train训练数据集
train-images-idx3-ubyte.gz #55000张训练集,5000张验证集train-labels-idx1-ubyte.gz #训练集图片对应的标签
test测试数据集
t10k-images-idx3-ubyte.gz #10000张测试集t10k-labels-idx1-ubyte.gz #测试集图片对应的标签
数据处理辅助工具dataset.py
#对外使用的数据集下载方法def download_dataset()#单个指定URL路径的文件下载方法def download_progress(url, file_name)#解压指定路径文件方法def unzipfile(gzip_path)

模型主程序封装

“create_dataset”方法创建符合mindspore框架要求的数据集结构,是个通用方法封装,由于框架面临的原始数据集可能有很多不同样的格式,比如MNIST数据集就是一套较为常见的图片类数据字节存储格式,那么框架为了进行归一化处理,提供了相应的方法来进行数据集的统一转换。
create_dataset:1)该方法内容即根据指定的文件路径,进行数据集的加载和转换处理;2)初始化数据集上的基本操作;3)最终返回该数据集对象;
训练模型封装方法
train_net:1)该方法基本实现train类型数据集的创建和加载以及训练方法封装使用;2)通过create_dataset通用数据集方法,拼装train数据集路径进行数据集构建;3)通过网络模型的train核心方法完成训练数据集的加载和训练处理network_model.train(epoch_size, ds_train, callbacks=[ckpoint_cb, LossMonitor()], dataset_sink_mode=sink_mode)
模型验证封装方法
test_net:1)该方法主要实现了test类型数据集的创建和加载以及验证方法的封装使用;2)通过加载指定的模型训练输出的checkpoint模型文件,获取参数字典;3)将该参数字典注入到模型中去,同时加载测试验证数据集;4)通过网络模型的eval方法,完成测试数据集和训练模型的验证处理。acc = network_model.eval(ds_eval, dataset_sink_mode=False)
主程序“main”方法,负责组织程序的主体运行逻辑,串联该模型训练和验证的运行步骤。
1)解析运行参数,mindspore根据运行参数args.device_target指定来确认本地运行环境;当前的运行环境为CPU,属于默认参数环境。2)下载原始数据集,根据数据集辅助工具dataset.py提供的下载和解压方法完成原始数据集下载和解压。3)接下来的几个步骤是关系到深度学习的一般内容步骤,这部分暂时先不讨论,后续深入去理解,基本上包含如下几个步骤:a.学习参数设置;b.定义loss函数;c.创建指定网络模型对象,这里使用LetNet;d.定义优化器e.定义生成checkpoint文件的配置信息f.根据数据集训练模型,输出模型的checkpoint文件g.根据模型的checkpoint文件,结合验证数据集,验证输出结果的准确性
2)mindspore框架使用方式
但是我们已经结合程序的一般运行步骤对其有了初步概要的认识,下一篇,考虑结合对当前深度学习的一些概念的理解来加深对该入门实例的掌握。
文章转载自布衣之旅,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




