当前位置: 首页 > news >正文

python-pytorch 关于torch.load()和torch.load_state_dict()

python-pytorch 关于torch.load和torch.load_state_dict

  • 1、关于模型保存和加载
  • 2、关于加载模型结构

最近在使用pytorch训练和加载模型时遇到了一些很玄学的问题,研究了一下,总结如下:

1、关于模型保存和加载

1、如果保存时使用了torch.save( model, “model.pth”),那么模型加载时只能使用torch.load(),而不能使用torch.load_state_dict(torch.load(model_path)),如果强行使用torch.load_state_dict(torch.load(model_path)),会报Net对象没有copy属性。

import torchtorch.save(model, 'model.pth')
model = torch.load('model.pth')

2、如果保存时使用了torch.save( model.state_dict(),“model.pth”),那么模型加载时只能使用model.load_state_dict(torch.Load(“model.pth”))。

import torchtorch.save(model.state_dict(), 'model.pth')state_dict = torch.load('model.pth')
model.load_state_dict(state_dict)

3、两种方式在模型加载时,都需要引入或定义模型结构,且模型结构的名称需要与训练时一致,不能使用别名。
训练时:class Net,测试时:定义或加载仍然是class Net,而不能from ··· import Net as resNet。

# 两个Net的结构不同
from model1 import Net
from model2 import Net

2、关于加载模型结构

关于在一个脚本中同时加载两个模型,在同时导入两个不同结构的Net的情况下,即使Net是同名,但加载的模型会自动找到自己训练时对应的那个结构。

http://www.lryc.cn/news/165506.html

相关文章:

  • 关于批量安装多个apk
  • 【案例教学】华为云API对话机器人的魅力—体验AI垃圾分类机器人
  • go基础详解2-go run test
  • 【NVIDIA CUDA】2023 CUDA夏令营编程模型(三)
  • 字节8年经验之谈 —— 冒烟测试、回归测试是什么?
  • FP6102 20V、3A降压开关调节器芯片
  • 魔众携手ModStart上线全新模块市场,支持模板主题
  • 织梦CMS_V5.7任意用户密码重置漏洞复现
  • ESP32通过ali的C LINK4.0接入aliyun阿里云
  • Spring中使用了哪些设计模式
  • matlab 13折线法数据量化编码与解码
  • Yolov8小目标检测-添加模块改进-实验记录
  • 2023国家网络安全宣传周|邮件安全意识培训-钓鱼篇
  • 【Leetcode】140.单词拆分II(Hard)
  • 【数据结构-堆】堆
  • Ansible 自动化运维工具部署主从数据库+读写分离
  • 蓝桥杯官网填空题(星期几)
  • 《向量数据库指南》——向量数据库会是 AI 的“iPhone 时刻”吗?
  • 案例实践丨基于SkyWalking全链路监控的微服务系统性能调优实践篇
  • C++信息学奥赛1170:计算2的N次方
  • windos本地文件上传到ubuntu
  • 做软件测试,掌握哪些技术才能算作“测试大佬”?
  • 【算法与数据结构】530、LeetCode二叉搜索树的最小绝对差
  • input输入事件
  • 接入 NVIDIA A100、吞吐量提高 10 倍!Milvus GPU 版本使用指南
  • php://filter协议在任意文件读取漏洞(附例题)
  • 【Redis】1、NoSQL之Redis的配置及优化
  • 9.5QTday6作业
  • Redis I/O多路复用机制
  • Matlab 2016安装MinGW-w64-4.9.2