MindSpore v1.1.0使用体验分享

转载地址:https://bbs.huaweicloud.com/forum/thread-99490-1-1.html

作者:NengjinZheng

一、前言

学习MindSpore有段时间了,说说我的使用心得吧。我是从一个AI小白开始学习深度学习,步入AI领域的,在接触到MindSpore之前,有听说TF、Pytorch等深度学习框架,但是没有去学习,所以MindSpore可以算是我AI领域的敲门砖吧。

MindSpore的安装十分简单,根据官网安装指导即可安装成功。十分流畅,在此便不赘述。

MindSpore1.1版本截图。

image.png

二、分享

分享一下使用MindSpore1.1训练LeNet网络吧:

LeNet5 + MNIST被誉为深度学习领域的“Hello world”。主要介绍使用MindSpore在MNIST手写数字数据集上开发和训练一个LeNet5模型,并验证模型精度。

数据集准备

MNIST是一个手写数字数据集,训练集包含60000张手写数字,测试集包含10000张手写数字,共10类。MNIST数据集的官网:THE MNIST DATABASE。从官网下载数据集并解压到本地文件夹中。文件结构如下所示。

MNIST
├── test
│   ├── t10k-images-idx3-ubyte
│   └── t10k-labels-idx1-ubyte
└── train
    └── train-images-idx3-ubyte
    └── train-labels-idx1-ubyte

导入MindSpore模块

设置MindSpore上下文,如执行模式、设备等。

image.png

数据处理

在使用数据集训练网络前,首先需要对数据进行预处理。

image.png

图片可视化

对其中几张图片进行可视化,可以看到图片中的手写数字,MindSpore1.1的新特性,images和labels是tensor,需要加上asnumpy()方法。

image.png

定义网络模型

image.png

训练

实例化网络,定义损失函数、优化器等等。MindSpore1.1的nn.loss.SoftmaxCrossEntropyWithLogits删除了is_grad参数。

image.png

训练结果

可以看出 ,loss值在0.07左右,精度达到了97.6%

image.png

三、心得体会

刚学MindSpore的时候,有许多不懂的地方,便在官网教程学习,试着跑样例代码,渐渐掌握了一些知识,其中让我觉得MindSpore的优点首先能在训练的同时进行精度验证并保存相应的模型;而且只要定义回调函数Callback便可实现,十分便捷;其次是MindSpore支持的动态图模式和静态图模式一行代码即可切换;最后是能够使用混合精度进行训练,速度提升了而且还能保持单精度训练所能达到的网络精度。

虽然优点众多,但是也有缺点,虽然MindSpore在Ascend上的支持度很高,但是在CPU/GPU上面还有点欠缺,希望能开发MindSpore在Ascend上的支持度很高,但是在CPU/GPU上面还有点欠缺,希望能够完善在CPU/GPU上面所支持的算子等等。

MindSpore框架有助于我理解深度学习,从数据的转换、封装到卷积层、池化层和全网络的设计,从训练、测试到推理,实操一遍后,让我对深度学习有了更深层次的认知,还加大了我对LeNet、Resnet50、AlexNet等网络的下去,对算法模型和调参有了更大的兴趣,一遍遍的训练模型以达到最好的训练精度。

安装环境

硬件环境:CPU

内存:8G

软件环境:

操作系统:Windows10

Python:Python 3.7.5

个人邮箱:znj254423959@163.com

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值