昇思25天学习打卡营第一天|快速入门

背景

华为组织了昇思25天学习营,从基础开始,提供算力支持,还是体验蛮好的。推荐大家报名参加。

学习内容

今天的内容是快速入门,很简单,当是复习基础内容了。

下载数据集=》模型组网=》模型训练=》保存模型,下面每一步简单记录一下。

一、下载和处理数据

这里使用到的数据集是mnist手写数字数据集。

MNIST数据集目录结构如下:

复制代码
MNIST_Data
└── train
    ├── train-images-idx3-ubyte (60000个训练图片)
    ├── train-labels-idx1-ubyte (60000个训练标签)
└── test
    ├── t10k-images-idx3-ubyte (10000个测试图片)
    ├── t10k-labels-idx1-ubyte (10000个测试标签)

二、网络构建

mindspore.nn类是构建所有网络的基类,也是网络的基本单元。当用户需要自定义网络时,可以继承nn.Cell类,并重写__init__方法和construct方法。__init__包含所有网络层的定义,construct中包含数据(Tensor)的变换过程。

复制代码
# Define model
class Network(nn.Cell):
    def __init__(self):
        super().__init__()
        self.flatten = nn.Flatten()
        self.dense_relu_sequential = nn.SequentialCell(
            nn.Dense(28*28, 512),
            nn.ReLU(),
            nn.Dense(512, 512),
            nn.ReLU(),
            nn.Dense(512, 10)
        )

    def construct(self, x):
        x = self.flatten(x)
        logits = self.dense_relu_sequential(x)
        return logits

model = Network()
print(model)

三、模型训练

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

正向计算:模型预测结果(logits),并与正确标签(label)求预测损失(loss)。

反向传播:利用自动微分机制,自动求模型参数(parameters)对于loss的梯度(gradients)。

参数优化:将梯度更新到参数上。

四、模型保存和加载

模型训练完成后,需要将其参数进行保存。

复制代码
# Save checkpoint
mindspore.save_checkpoint(model, "model.ckpt")
print("Saved Model to model.ckpt")

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

重新实例化模型对象,构造模型。

加载模型参数,并将其加载至模型上。

总结

很简单的流程,按照训练营给的jupyter notebook教程一步步跑完。搞定!

相关推荐
小向是个Der12 小时前
嵌入式进阶——MCU上电后的动作
c语言·单片机·mcu·学习·链接脚本
辣知16 小时前
辣知·化智93 被历史尘封的鬻子
学习
每天题库18 小时前
西藏安全员 A 证备考真题题库 强化重点知识刷题提升通过率
学习·安全·考试·题库·考证
Be for thing18 小时前
PyTorch基础|Tensor张量详解,张量创建、数据类型与常用操作
pytorch·学习·1024程序员节
前进的李工18 小时前
Agent 学习笔记 02:Harness 与工作流怎么理解
笔记·学习·agent·工作流·harness
m4Rk_19 小时前
【论文阅读】Agent记忆机制(114):MemoryTax——当 Agent 能自主搜索历史,专门的记忆系统还划算吗?
论文阅读·人工智能·学习·开源·github
程序员梅雨21 小时前
【从零开始学习数据仓库 | 第一篇】:维度建模理论
大数据·数据仓库·学习·阿里云·数据分析
keyipatience1 天前
Git学习(4)Git分布式优势与实战配置全解析
git·学习
comyccccc1 天前
STM32F407VET6核心板的部分电路绘制学习笔记
笔记·stm32·学习
叼烟扛炮1 天前
Linux 学习笔记(三十六):并发进阶——读写锁 vs 自旋锁,到底怎么选?
linux·运维·服务器·笔记·学习