pytorch基础-保存和加载模型(7)

这篇博客介绍了如何在PyTorch中保存和加载模型权重,包括使用预训练模型进行迁移学习。文章详细阐述了state_dict的保存和加载,并讨论了在预测时调用model.eval()的重要性。此外,还展示了如何修改预训练模型结构,如添加或更改线性层。最后,展示了如何保存和加载自定义的神经网络模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这一节的内容,将研究如何通过保存、加载和运行预测模型来保持模型状态。导入相应的包:

import torch
import torchvision.models as models

1、 保存和加载模型权重

PyTorch 模型将学习到的参数存储在称为 state_dict 的内部状态字典中。 这些参数可以通过 torch.save 方法保存起来:

model = models.vgg16(pretrained=True)#创建预训练模型vgg16,实例化
torch.save(model.state_dict(), 'model_weights.pth')

 在加载模型权重时,我们需要先实例化模型类,因为该类定义网络的结构。然后使用 load_state_dict() 方法加载参数。

model = models.vgg16() # 没有指定预训练=True,即不加载默认权重
model.load_state_dict(torch.load('model_weights.pth'))
model.eval()#模型中有BatchNormalization和Dropout,在预测时使用model.eval()后会将其关闭以免影响预测结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小小的土拨鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值