Pytorch笔记一之 cpu模型保存、加载与推理

Pytorch笔记一之 cpu模型保存、加载与推理

1.保存模型

首先,在加载模型之前,我们需要了解如何保存模型。PyTorch 提供了两种保存模型的方法:保存整个模型和仅保存模型的状态字典(state dict)。推荐使用第二种方式,因为它更灵活且体积较小。

python 复制代码
import torch
import torch.nn as nn

# 定义一个简单的神经网络
class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc = nn.Linear(10, 2)

    def forward(self, x):
        return self.fc(x)

# 实例化模型并进行训练
model = SimpleNN()
# 模型训练过程(省略)

# 保存模型的状态字典
torch.save(model.state_dict(), 'simple_nn.pth')

2. 加载模型

一旦你保存了模型,接下来就可以加载它。在加载过程中,确保模型的架构与训练时一致。以下是加载模型的步骤:

  • 1.创建一个模型实例
  • 2.调用 load_state_dict() 方法加载状态字典

代码示例如下:

python 复制代码
# 重新定义模型架构
model = SimpleNN()

# 加载模型状态字典
model.load_state_dict(torch.load('simple_nn.pth', map_location=torch.device('cpu')))

3. 在 CPU 上进行推理

完成模型加载后,接下来就可以使用模型进行推理。以下是一个简单的示例:

python 复制代码
# 模拟输入数据
input_data = torch.randn(1, 10)

# 在 CPU 上进行推理
with torch.no_grad():  # 禁用梯度计算,节省内存
    output = model(input_data)

print(output)
相关推荐
weixin79893765432...8 分钟前
React + Fastify + DeepSeek 实现一个简单的对话式 AI 应用
人工智能·react.js·fastify
大千AI助手21 分钟前
概率单位回归(Probit Regression)详解
人工智能·机器学习·数据挖掘·回归·大千ai助手·概率单位回归·probit回归
愚戏师28 分钟前
Python3 Socket 网络编程复习笔记
网络·笔记
狂炫冰美式1 小时前
3天,1人,从0到付费产品:AI时代个人开发者的生存指南
前端·人工智能·后端
降临-max1 小时前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
LCG元1 小时前
垂直Agent才是未来:详解让大模型"专业对口"的三大核心技术
人工智能
我不是QI2 小时前
周志华《机器学习—西瓜书》二
人工智能·安全·机器学习
操练起来2 小时前
【昇腾CANN训练营·第八期】Ascend C生态兼容:基于PyTorch Adapter的自定义算子注册与自动微分实现
人工智能·pytorch·acl·昇腾·cann
大白的编程日记.2 小时前
【计算网络学习笔记】MySql的多版本控制MVCC和Read View
网络·笔记·学习·mysql
KG_LLM图谱增强大模型2 小时前
[500页电子书]构建自主AI Agent系统的蓝图:谷歌重磅发布智能体设计模式指南
人工智能·大模型·知识图谱·智能体·知识图谱增强大模型·agenticai