【学习笔记】昇思25天学习打卡(D08)初学09-保存与加载.ipynb

部署运行你感兴趣的模型镜像

保存与加载

今天的内容是如何保存与加载模型。

import numpy as np
import mindspore
from mindspore import nn
from mindspore import Tensor

def network():
    model = nn.SequentialCell(
                nn.Flatten(),
                nn.Dense(28*28, 512),
                nn.ReLU(),
                nn.Dense(512, 512),
                nn.ReLU(),
                nn.Dense(512, 10))
    return model

保存和加载模型权重

保存模型使用save_checkpoint接口,传入网络和指定的保存路径:

model = network()
mindspore.save_checkpoint(model, "model.ckpt")

要加载模型权重,需要先创建相同模型的实例,然后使用load_checkpointload_param_into_net方法加载参数。

model = network()
param_dict = mindspore.load_checkpoint("model.ckpt")
param_not_load, _ = mindspore.load_param_into_net(model, param_dict)
print(param_not_load)

param_not_load是未被加载的参数列表,为空时代表所有参数均加载成功。

保存和加载MindIR

除Checkpoint外,MindSpore提供了云侧(训练)和端侧(推理)统一的中间表示(Intermediate Representation,IR)。可使用export接口直接将模型保存为MindIR。

model = network()
inputs = Tensor(np.ones([1, 1, 28, 28]).astype(np.float32))
mindspore.export(model, inputs, file_name="model", file_format="MINDIR")

MindIR同时保存了Checkpoint和模型结构,因此需要定义输入Tensor来获取输入shape。

已有的MindIR模型可以方便地通过load接口加载,传入nn.GraphCell即可进行推理。

nn.GraphCell仅支持图模式。

mindspore.set_context(mode=mindspore.GRAPH_MODE)

graph = mindspore.load("model.mindir")
model = nn.GraphCell(graph)
outputs = model(inputs)
print(outputs.shape)

Reference
教程来自:
https://gitee.com/mindspore/docs/blob/r2.3.0rc2/tutorials/source_zh_cn/beginner/save_load.ipynb

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

<think>我们有一个输入字符串,看起来是一个SHA512哈希值加一个文件名。用户想知道如何获取这种文件(即如何下载或处理这种带有哈希值的文件)。 通常情况下,这种字符串出现在校验和文件中(如.sha512文件)。用户可能从某个软件发布页面下载了文件,并同时下载了对应的SHA512校验和文件,或者直接看到了这个哈希值。 用户的问题是如何获取这个文件(flatbuffers-23.5.9.tar.gz),可能是指如何下载它。 回答步骤: 1. 解释这个字符串的构成:前面是SHA512哈希值,后面是文件名。 2. 说明这种字符串通常出现在什么地方(例如,在软件项目的发布页面,会提供文件的下载链接和对应的校验和)。 3. 指导用户如何获取该文件:通常是通过官方网站或仓库下载。 具体回答: 您提供的字符串 `6eb5417984782208e0fcc33285d02bb13cda526d4029e0dd58e27c4f813eb39f26105ab0ed0880f7c02614985b96a241aad5086dd4f2d131c534a44a2884d08e flatbuffers-23.5.9.tar.gz` 是一个典型的校验和条目,其中: - 长字符串是文件的 SHA-512 哈希值(128个十六进制字符) - `flatbuffers-23.5.9.tar.gz` 是对应的文件名 要获取该文件(即下载): 1. **访问官方发布页面**:通常开源软件会在 GitHub、官方网站或包管理仓库发布版本。例如,对于 flatbuffers,您可以访问其 GitHub 发布页:https://github.com/google/flatbuffers/releases 2. **查找对应版本**:在发布页中找到版本 `v23.5.9`(或对应版本),下载 `flatbuffers-23.5.9.tar.gz` 文件。 3. **使用包管理器(可选)**:如果系统支持(如 Linux 发行版),可通过包管理器安装(如 `apt install flatbuffers` 但版本可能滞后)。 如果您已经下载了该文件,可以通过 `sha512sum` 命令验证其哈希值是否匹配。 注意:直接通过哈希值下载文件通常不可行(除非有专门的哈希索引服务),所以推荐从官方来源下载。 然后,按照要求提出相关问题。 相关问题(3-5个): 1. 如何验证下载的 flatbuffers 文件是否提供的 SHA512SUM 匹配? 2. 除了官方网站,还有哪些可信赖的途径可以下载开源软件如 flatbuffers? 3. 如果下载的文件哈希值预期不符,可能的原因和处理方法是什么? 4. 如何通过命令行工具在 Linux 或 Windows 中计算文件的 SHA512 校验和? 5. 对于开源项目,如何确保下载的文件未被篡改? 注意:问题必须放在最后,第一行是“§§相关问题§§”,然后紧接着是问题列表(禁止换行分散,所以问题在同一行开始,但示例中是换行的?实际上规则是“禁止换行分散”可能是指不能将“§§相关问题§§”拆开,但问题列表可以换行。根据示例,是换行后列出问题。) 但注意规则:第一行必须完整输出“§§相关问题§§”,然后紧接着是问题列表。在示例中,是换行后列出问题,所以应该是: §§相关问题§§ 1. ... 2. ... 所以我们也这样输出。 </think>您提供的字符串 `6eb54179...884d08e flatbuffers-23.5.9.tar.gz` 是一个典型的 **SHA512校验和条目**,包含文件的哈希值和文件名。获取这种文件的步骤如下: ### 方法一:通过官方渠道下载 1. **访问软件官网** 搜索软件名称 + "download"(例如:"flatbuffers download"),通常官网会提供文件下载链接: ```bash # 示例:FlatBuffers 官方 GitHub 发布页 https://github.com/google/flatbuffers/releases/tag/v23.5.9 ``` 2. **找到对应版本** 在发布页中找到 `flatbuffers-23.5.9.tar.gz` 文件链接并下载。 ### 方法二:使用包管理器(Linux/macOS) ```bash # Ubuntu/Debian sudo apt install flatbuffers-compiler # macOS (Homebrew) brew install flatbuffers ``` ### 方法三:通过开源镜像站 如清华大学开源镜像站: ```bash https://mirrors.tuna.tsinghua.edu.cn/github-release/google/flatbuffers/ ``` ### 验证文件完整性 下载后执行命令验证哈希值是否匹配: ```bash sha512sum flatbuffers-23.5.9.tar.gz # 应输出完全相同的哈希值 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值