当前位置: 首页 > news >正文

通过MindSpore API实现深度学习模型

快速入门

将相应的包逐一导入到项目中,这是制作项目的第一步。

import mindspore
from mindspore import nn
from mindspore.dataset import vision, transforms
from mindspore.dataset import MnistDataset

处理数据集

先从网上下载对应的数据集文件,MindSpore提供基于Pipeline的数据引擎,通过数据集(Dataset)和数据变换(Transforms)实现高效的数据预处理

下载完,你就可以看到对应的文件了,获得数据集对象

MindSpore的dataset使用数据处理流水线(Data Processing Pipeline),需指定map、batch、shuffle等操作。这里我们使用map对图像数据及标签进行变换处理,然后将处理好的数据集打包为大小为64的batch。

网络构建

mindspore.nn 类是构建网络的基类,也是网络的基本单元。用户可以继承 nn.Cell 类,并重写 __init__ 方法和 construct 方法来自定义网络。在 __init__ 中定义网络层,在 construct 中进行数据的变换。

模型训练

在模型训练中,一个完整的训练过程(step)需要实现以下三步:

  1. 正向计算:模型预测结果(logits),并与正确标签(label)求预测损失(loss)。
  2. 反向传播:利用自动微分机制,自动求模型参数(parameters)对于loss的梯度(gradients)。
  3. 参数优化:将梯度更新到参数上。

除训练外,我们定义测试函数,用来评估模型的性能。训练模型需要多次迭代数据集,每次完整的迭代称为一轮。在每一轮中,遍历训练集进行训练,然后使用测试集进行预测。打印每一轮的loss值和预测准确率,可以观察到loss在不断下降,准确率在不断提高。

保存模型

模型训练完成后,需要将其参数进行保存,留着下次继续使用。

加载模型

加载保存的权重分为两步:

  1. 重新实例化模型对象,构造模型。
  2. 加载模型参数,并将其加载至模型上。

加载后的模型可以直接用于预测推理,继续对结果进行训练。

总结

简单的理解这个过程,首先加载数据集,配置网络,然后进行模型训练,经过不断的训练提高准确度,尝试去保存模型,方便下次使用,然后试着加载模型。看看实际操作结果如果。整个过程顺风顺水还是非常方便的操作。

相关文章:

  • 聚合大模型场景助力产业升级,WAIC 2024 容联云论坛即将开幕
  • 一键掌控,4G红外插座引领智能生活新潮流!
  • 21、24年--项目管理概论——项目经理的角色
  • Spring Boot集成tensorflow实现图片检测服务
  • 2024广东省职业技能大赛云计算赛项实战——编排部署ERP管理系统
  • 如何设计一个点赞系统
  • Linux系统安装Dify结合内网穿透实现远程访问本地LLM开发平台
  • Redis 数据恢复及持久化策略分析
  • windows系统配置linux环境wsl
  • 深入探索Llama 2:下一代开源语言模型的革新与影响
  • Vue66-vue-默认插槽
  • 01 Shell 编程规范与变量
  • Sklearn之朴素贝叶斯应用
  • IDEA GIt 提交提示 “Contents are identica“
  • ORA-25153 错误处理
  • 【Amaple教程】5. 插件
  • 3.7、@ResponseBody 和 @RestController
  • Apache的80端口被占用以及访问时报错403
  • const let
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Debian下无root权限使用Python访问Oracle
  • dva中组件的懒加载
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • golang 发送GET和POST示例
  • IOS评论框不贴底(ios12新bug)
  • isset在php5.6-和php7.0+的一些差异
  • Linux链接文件
  • RxJS: 简单入门
  • 讲清楚之javascript作用域
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 七牛云假注销小指南
  • 软件开发学习的5大技巧,你知道吗?
  • 微信小程序--------语音识别(前端自己也能玩)
  • 我的业余项目总结
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 阿里云重庆大学大数据训练营落地分享
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # 数据结构
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (10)STL算法之搜索(二) 二分查找
  • (27)4.8 习题课
  • (ZT)出版业改革:该死的死,该生的生
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (六)vue-router+UI组件库
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (十六)视图变换 正交投影 透视投影
  • (算法二)滑动窗口
  • (五)IO流之ByteArrayInput/OutputStream
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿