python加载模型包_pytorch-保存和加载模型

本文详细介绍了PyTorch中模型的保存和加载方法,包括使用state_dict、torch.save()和torch.load()。推荐保存模型参数的方式是使用torch.save(model.state_dict(), PATH)。加载时,需先实例化模型,然后调用model.load_state_dict(torch.load(PATH)),并确保在预测阶段调用model.eval()。此外,还讨论了保存和加载优化器状态、检查点、多个模型以及跨设备操作的细节。" 81609778,5711358,股票分布式爬虫与预测算法实战,"['分布式爬虫', 'Python爬虫', '数据预测', '人工智能', '大数据', '机器学习', '算法', 'scrapy框架']

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

简介

pytorch与保存、加载模型有关的常用函数3个:

torch.save(): 保存一个序列化的对象到磁盘,使用的是Python的pickle库来实现的。

torch.load(): 解序列化一个pickled对象并加载到内存当中。

torch.nn.Module.load_state_dict(): 加载一个解序列化的state_dict对象

1、state_dict是什么?

在pytorch中所有可学习的参数保存在model.parameters()中。state_dict是一个python中的字典,保存了各层与其参数张量之间的映射。torch.optim对象也有一个state_dict,它包含了optimizer的state,以及一些超参数。

9054445ff4f60dfd16a693c87a2d5fa6.png

2、在预测过程中保存和加载模型

2.1仅保存模型参数(推荐存储方式)

# save

torch.save(model.state_dict(), PATH)

# load

model = TheModelClass(*args, **kwargs)

model.load_state_dict(torch.load(PATH))

model.eval()#切换为测试模式,防止参数更新

注意:

PyTorch 的1.6版本修改了 torch.save(),使用了一种新的基于 zipfile 的文件格式。Load 仍然保留以旧格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值