简介

实验包含 2部分:

  1. 基于 Mindspore 框架的模型本地训练及预测
  2. 基于 Modelarts 平台和 PyTorch框架的模型训练及部署

基于 Mindspore 框架的模型本地训练及预测

本例子会实现一个简单的图片分类的功能,整体流程如下:

  1. 处理需要的数据集,这里使用了 MNIST 数据集。
  2. 定义一个网络,这里我们使用 LeNet 网络。
  3. 定义损失函数和优化器。
  4. 加载数据集并进行训练,训练完成后,查看结果及保存模型文件。
  5. 加载保存的模型,进行推理。
  6. 验证模型,加载测试数据集和训练后的模型,验证结果精度

安装 MindSpore

安装页面

如图:我是在自己电脑下载,所以下载Windows版本的,然后选CPU。python版本都可以选。

安装报错:

如果提示这个,一般是两个原因:

  • 你的电脑之前有装其他版本的pythonpip版本和python不对应。

    • 卸载python重新装一个。
    • 使用命令:python3 -m pip install --upgrade pip更新pip
  • 下载命令错误。安装MindSpore有两种pip命令,下面是另一种:

  • 如果报错,可以试试不同的命令(亲测有效)。

MNIST 数据集

我们示例中用到的 MNIST 数据集是由 10 类 28*28 的灰度图片组成,训练数据集包含60000 张图片,测试数据集包含 10000 张图片。

MNIST 数据集下载页面:下载页面

将数据集解压分别存放到工作区的./MNIST_Data/train、./MNIST_Data/test 路径下。

其他一些报错

现在,使用PyCharm打开文件夹。

  • 如果出现MindSpore找不到,

    验证一下的你的Interpreter:检查下Package

  • 提示需要下载easydict

    直接pip 下载,或通过Package中下载。

实验步骤

  • 打开项目,我使用的是PyCharm

  • 修改代码

    • 修改默认的设备,这里我是Windows下的CPU版本,所以修改为CPU

  • 增加eval.pytrain.py需要的代码:

    • 设定 loss 函数

    • 设定优化器

    • 编译形成模型

    • 训练网络

  • 增添lenet.py的代码。

  • 运行train.py

  • 之后,生成了ckpy文件夹。这里保存的用于测试的模型。那么第十轮我们损失函数最小,我们自然就用第十轮的模型:

  • 运行eval.py

基于 Modelarts 平台和 PyTorch 框架的模型训练及部署

先注册一个华为云账号。

然后按照教程:教程,一步一步完成即可。

基于 Mindspore 框架与 ModelArts 平台的 MNIST 手写体识别实验的更多相关文章

  1. 基于MIndSpore框架的道路场景语义分割方法研究

    基于MIndSpore框架的道路场景语义分割方法研究 概述 本文以华为最新国产深度学习框架Mindspore为基础,将城市道路下的实况图片解析作为任务背景,以复杂城市道路进行高精度的语义分割为任务目标 ...

  2. R︱Softmax Regression建模 (MNIST 手写体识别和文档多分类应用)

    本文转载自经管之家论坛, R语言中的Softmax Regression建模 (MNIST 手写体识别和文档多分类应用) R中的softmaxreg包,发自2016-09-09,链接:https:// ...

  3. 深度学习-mnist手写体识别

    mnist手写体识别 Mnist数据集可以从官网下载,网址: http://yann.lecun.com/exdb/mnist/ 下载下来的数据集被分成两部分:55000行的训练数据集(mnist.t ...

  4. keras入门--Mnist手写体识别

    介绍如何使用keras搭建一个多层感知机实现手写体识别及搭建一个神经网络最小的必备知识 import keras # 导入keras dir(keras) # 查看keras常用的模块 ['Input ...

  5. MindInsight:一款基于MindSpore框架的训练可视化插件

    技术背景 在深度学习或者其他参数优化领域中,对于结果的可视化以及中间网络结构的可视化,也是一个非常重要的工作.一个好的可视化工具,可以更加直观的展示计算结果,可以帮助人们更快的发掘大量的数据中最有用的 ...

  6. 基于Keras 的VGG16神经网络模型的Mnist数据集识别并使用GPU加速

    这段话放在前面:之前一种用的Pytorch,用着还挺爽,感觉挺方便的,但是在最近文献的时候,很多实验都是基于Google 的Keras的,所以抽空学了下Keras,学了之后才发现Keras相比Pyto ...

  7. Tensorflow中使用CNN实现Mnist手写体识别

    本文参考Yann LeCun的LeNet5经典架构,稍加ps得到下面适用于本手写识别的cnn结构,构造一个两层卷积神经网络,神经网络的结构如下图所示: 输入-卷积-pooling-卷积-pooling ...

  8. 基于BootStrap框架构建快速响应的GPS部标监控平台

    最近一个客户要求将gps部标平台移植到bootStrap框架作为前端框架,符合交通部796部标只是他们的一个基本要求,重点是要和他们的冷链云物流平台进行适配.我自己先浏览了客户的云物流平台的界面,采用 ...

  9. GPS部标平台的架构设计(三) 基于struts+spring+hibernate+ibatis+quartz+mina框架开发GPS平台

    注意,此版本是2014年研发的基于Spring2.5和Struts2的版本,此版本的源码仍然销售,但已不再提供源码升级的服务,因为目前我们开发的主流新版本是2015-2016年近一年推出的基于spri ...

  10. rtvue-lowcode:一款基于uniapp框架和uview组件库的开源低代码开发平台

    rtvue-lowcode低代码开发平台 rtvue-lowcode一款基于uniapp框架和uview组件库的低代码开发平台,项目提供可视化拖拽编辑器,采用MIT开源协议,适用于app.小程序等项目 ...

随机推荐

  1. docker之redis集群部署

    docker之redis集群部署 PART01: 3主3从redis集群部署 3主3从redis集群配置 关闭防火墙,启动docker服务 如果报以下错误,应该是docker 服务没有启动,可以执行下 ...

  2. DoraCloud桌面模板制作教程

    模板制作是桌面云部署时的一项重要工作.模板的质量直接影响到虚拟桌面业务运行的稳定性.安全性和用户体验.制作模板需要完成如下一些工作: 安装Windows桌面操作系统. 安装虚拟化平台相关的半虚拟化驱动 ...

  3. 高精度模板 大数加大数,可变数组vector实现

    vector<int> Add(vector<int>& A, vector<int>& B)//采用引用传入vector,避免将其全部复制传值,使 ...

  4. DbgridEh 导出 Excel 如果字段长度超过255会截断,那如何导出,另一种神奇的方法

    由于DbgridEh 导出 Excel 如果字段长度超过255会截断,所以必须换一种方法来导出,百度  谷歌 看了上百帖,都是有这句: xlApp := CreateOleObject('Excel. ...

  5. NC15172 情人节的电灯泡

    题目链接 题目 题目描述 情人节到了,小芳和小明手牵手,打算过一个完美的情人节,但是小刚偏偏也来了,当了一个明晃晃的电灯泡,小明很尴尬,就和小刚说,我交给你个任务,你完成了我俩就带你玩,否则你就回家吧 ...

  6. Apache HTTP Server、IIS反向代理设置

    Apache HTTP Server 在 Apache 中设置反向代理,需要使用 mod_proxy 和相关的模块,如 mod_proxy_http.以下是一个基本的配置示例: 确保已经安装并启用了  ...

  7. k8s-权限管理

    目录 1. 身份认证 node节点操作 创建普通用户并授权 1. 生成私钥 2. 生成zhangsan用户证书请求文件 3. 为zhangsan用户颁发证书 4. 创建命名空间及pod 5. 创建角色 ...

  8. 阿里数据库SRE(转)

    SRE的职责划分却不尽相同,那么SRE究竟在做什么? SRE的职责 SRE主要负责Google所有核心业务系统的可用性.性能.容量相关的事情,根据<Site Reliability Engine ...

  9. 解决Burpsuite1.6中文显示乱码问题

    说明 最近公司项目被测试团队测试出有越权访问等安全问题,用的是这个Burpsuit工具,我想做软件测试的同学应该很熟悉.那么中间在模拟请求响应过程中发现返回的信息中文是乱码,搜索了一圈发现很多人提供的 ...

  10. 利用javax.validation实现对bean属性校验

    1.使用场景介绍 controller层对传入的bean的属性进行非空.属性长度等合法性的校验. 传统的方式是我们要自己写if-else-去判断,比较麻烦. 2.实现效果 3.代码介绍 代码结构: p ...