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)
相关推荐
长桥夜波1 分钟前
机器学习日报12
人工智能·机器学习
AI柠檬4 分钟前
机器学习:数据集的划分
人工智能·算法·机器学习
天地之于壹炁兮12 分钟前
PyTorch:AI时代的深度学习利器
pytorch
诸葛务农13 分钟前
光刻胶分类与特性——g/i线光刻胶及东京应化TP-3000系列胶典型配方(上)
人工智能·材料工程
mm-q291522272914 分钟前
YOLOv5(PyTorch)目标检测实战:TensorRT加速部署!训练自己的数据集(Ubuntu)——(人工智能、深度学习、机器学习、神经网络)
人工智能·深度学习·机器学习
搞科研的小刘选手23 分钟前
【多所高校合作】第四届图像处理、计算机视觉与机器学习国际学术会议(ICICML 2025)
图像处理·人工智能·机器学习·计算机视觉·数据挖掘·人脸识别·人机交互
FreeCode30 分钟前
LangChain1.0智能体开发:消息组件(Messages)
人工智能·langchain·agent
视觉AI30 分钟前
为什么 transformers 要 import TensorFlow
人工智能·tensorflow·neo4j
bnsarocket31 分钟前
Verilog和FPGA的自学笔记8——按键消抖与模块化设计
笔记·fpga开发·verilog·自学·硬件编程
Coovally AI模型快速验证33 分钟前
未来已来:从 CVPR & ICCV 观察 2025→2026 年计算机视觉的七大走向
人工智能·深度学习·目标检测·计算机视觉·stable diffusion