当前位置: 首页 > 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是同名,但加载的模型会自动找到自己训练时对应的那个结构。

相关文章:

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

python-pytorch 关于torch.load和torch.load_state_dict 1、关于模型保存和加载2、关于加载模型结构 最近在使用pytorch训练和加载模型时遇到了一些很玄学的问题,研究了一下,总结如下: 1、关于模型保存和加载 1、如果保存时使用了torch.save…...

关于批量安装多个apk

for %i in (apks地址/*.apk); do adb install %i https://www.cnblogs.com/lihongtaoya/p/15084378.html adb install -r apks地址/1.apk && adb install -r apks地址/2.apk install-multi-package - 暂时nok https://adbshell.com/commands 最新版本的platform-tool…...

【案例教学】华为云API对话机器人的魅力—体验AI垃圾分类机器人

云服务、API、SDK,调试,查看,我都行 阅读短文您可以学习到:人工智能AI自言语言的情感分析、文本分词、文本翻译 1 IntelliJ IDEA 之API插件介绍 API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE&a…...

go基础详解2-go run test

一 go run 编译运行一个main 包(package),常用的运行方式如下: go run . go run hello go run 后面接路径,该路径(不含子路径)下所有的go源文件都属于main包。 go run filename1 filename1 …...

【NVIDIA CUDA】2023 CUDA夏令营编程模型(三)

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…...

字节8年经验之谈 —— 冒烟测试、回归测试是什么?

冒烟测试(Smoke Testing)和回归测试(Regression Testing)是软件测试中常用的两种测试类型。 冒烟测试(Smoke Testing):冒烟测试是在软件开发的早期阶段进行的一种表面级功能验证测试。它主要用…...

FP6102 20V、3A降压开关调节器芯片

FP6102 20V、3A降压开关调节器芯片 一般说明 FP6102是一种用于广泛工作电压应用领域的降压开关调节器。FP6102包括高电流P-MOSFET,用于将输出电压与反馈放大器进行比较的高精度参考(0.5V),内部死时间控制器和用于控制最大占空比和…...

魔众携手ModStart上线全新模块市场,支持模板主题

ModStart模板主题 对于很多新手或者是缺乏经验的开发者来说,快速建站具有一定的难度,总是一件让人头疼的问题。 ModStart为开发者提供了一些模板主题供开发者选购使用,模块市场包含了丰富的模块,后台一键快速安装,让开…...

织梦CMS_V5.7任意用户密码重置漏洞复现

一、漏洞说明 织梦内容管理系统(DeDeCMS)以其简单、实用、开源的特点而著名。作为国内最知名的PHP开源网站管理系统,它在多年的发展中取得了显著进步,无论在功能还是易用性方面都有长足的发展。该系统广泛应用于中小型企业门户网站…...

ESP32通过ali的C LINK4.0接入aliyun阿里云

1,通过官网下载C SDK:进入物联网平台:文档和工具 2,选择SDK支持项目:系统为FreeRTOS,单板系统,勾选动态加密,因为测试我把所有的功能都勾选上了。 3,将下载下来的文件放到espSDK下组…...

Spring中使用了哪些设计模式

1、工厂模式 在各种BeanFactory以及ApplicationContext创建中都用到了。 2、模板模式 在各种BeanFactory以及ApplicationContext实现中也都用到了。 3、代理模式 Spring AOP 利用了AspectJ AOP实现的,AspectJ AOP底层使用了动态代理。 4、策略模式 加载资源文…...

matlab 13折线法数据量化编码与解码

解码 matlab 13折线法数据量化编码请查看>>链接 matlab源码: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %sp=[0,16,32,64,128,256,512,1024]; %每段起始值 %spmin=[1,1,2,4,8,16,32,64]; %11110011--1248 c1=1 正…...

Yolov8小目标检测-添加模块改进-实验记录

简介,本文通过结合了一些先进的算法改进了yolov8小目标检测能力,以下是一些记录。 数据集:足球比赛数据集,里面只有两个类别足球和人。 import os from ultralytics import YOLOmodel YOLO(yolov8n.yaml) # 后缀n就调用n的模型…...

2023国家网络安全宣传周|邮件安全意识培训-钓鱼篇

干货满满 建议收藏 反复阅读 钓鱼邮件 钓鱼邮件是指黑客伪装成同事、合作伙伴、朋友、家人等用户信任的人,通过发送电子邮件的方式,诱使用户回复邮件、点击嵌入邮件正文的恶意链接或者打开邮件附件以植入木马或间谍程序,进而窃取用户敏感数据、个人银行…...

【Leetcode】140.单词拆分II(Hard)

一、题目 1、题目描述 给定一个字符串 s 和一个字符串字典 wordDict ,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在词典中。以任意顺序 返回所有这些可能的句子。 注意:词典中的同一个单词可能在分段中被重复使用多次。 示例1: 输入: s = "cat…...

【数据结构-堆】堆

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...

Ansible 自动化运维工具部署主从数据库+读写分离

文章目录 Ansible 自动化运维工具部署主从数据库读写分离一、主从复制和读写分离介绍二、准备工作(1)节点规划(2)修改主机名(3)免密(4)配置IP映射(5)安装ansi…...

蓝桥杯官网填空题(星期几)

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 1949 年的国庆节( 10 月 1 日)是星期六。 今年(2012)的国庆节是星期一。 那么,从建国到现在&#xff0…...

《向量数据库指南》——向量数据库会是 AI 的“iPhone 时刻”吗?

最近一年,以 ChatGPT、LLaMA 为代表的大语言模型的兴起,将向量数据库的发展推向了新的高度。 向量数据库是一种在机器学习和人工智能领域日益流行的新型数据库,它能够帮助支持基于神经网络而不是关键字的新型搜索引擎。向量数据库不同于传统的关系型数据库,例如 PostgreSQ…...

案例实践丨基于SkyWalking全链路监控的微服务系统性能调优实践篇

1背景 随着开源社区和云计算的快速推进,云原生微服务作为新型应用系统的核心架构,得到了越来越广泛的应用。根据Gartner对微服务的定义:“微服务是范围狭窄、封装紧密、松散耦合、可独立部署且可独立伸缩的应用程序组件。” 微服务之父&…...

基于分布式模型预测控制的多智能体点对点转换轨迹生成Matlab程序

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…...

Turbo实战:如何用任务编排优化你的Monorepo构建流程?以pnpm+vitepress为例

Turbo实战:如何用任务编排优化你的Monorepo构建流程?以pnpmvitepress为例 在当今前端工程化领域,Monorepo已成为管理复杂项目的标配方案。但当项目规模增长到一定程度时,传统的构建方式往往会面临效率瓶颈——每次全量构建耗时漫长…...

从零构建:基于FreeRTOS与LVGL的低功耗智能手表实战指南

1. 项目背景与核心目标 第一次接触智能手表开发是在三年前,当时市面上开源的方案要么功能简陋,要么功耗高得离谱。作为一个嵌入式老鸟,我决定自己动手搞一套真正可用的低功耗方案。经过多次迭代,最终选择了FreeRTOSLVGL这个黄金组…...

TIG电弧熔池一体化与MIG电弧熔滴蒸汽一体化

TIG电弧熔池一体化MIG电弧熔滴蒸汽一体化最近在搞焊接数值模拟的朋友估计都被TIG和MIG的热力耦合模型折腾过。这俩工艺看着都是电弧焊,实际在建模时完全不是一个次元的难度。今天咱们就扒一扒TIG熔池和MIG熔滴这对冤家的建模套路。先说TIG电弧熔池一体化建模。核心难…...

Vue项目里用Frappe-Gantt 0.6.1做项目管理甘特图,我踩过的坑都在这了

Vue项目中集成Frappe-Gantt的避坑指南与工程化实践 在最近的一个敏捷开发项目中,我们需要为产品团队提供一个直观的任务进度管理工具。经过几轮技术选型,最终选择了Frappe-Gantt 0.6.1作为基础组件。这个选择并非一帆风顺——从最初的简单集成到最终形成…...

AI赋能Spring开发:借助快马平台快速集成Spring AI,打造智能应用

AI赋能Spring开发:借助快马平台快速集成Spring AI,打造智能应用 Spring生态庞大,新技术集成往往需要查阅大量文档。最近我在尝试将Spring AI集成到项目中,发现这个过程比想象中要复杂得多。好在发现了InsCode(快马)平台&#xff…...

双阶段目标检测算法演进:从R-CNN到Mask R-CNN的技术突破与应用实践

1. 双阶段目标检测算法概述 目标检测是计算机视觉领域的核心任务之一,它不仅要识别图像中的物体类别,还要精确定位物体的位置。在众多目标检测算法中,双阶段检测算法因其高精度特性,一直是工业界和学术界的研究热点。这类算法的典…...

AI编程实战:如何用Cursor和Coze在1小时内完成文生图小程序开发

AI编程实战:如何用Cursor和Coze在1小时内完成文生图小程序开发 当产品灵感突然闪现,如何在最短时间内将它变成可交互的原型?传统开发流程中,从UI设计到API对接至少需要数天时间。而现在,借助AI编程工具链,我…...

UE5 RPG开发实战:用接口轻松搞定鼠标悬停敌人描边(含完整蓝图与C++代码)

UE5 RPG开发实战:用接口实现敌人悬停描边的高效方案 在动作角色扮演游戏(ARPG)开发中,清晰的交互反馈是提升玩家体验的关键环节。当玩家将鼠标悬停在敌人身上时,如何直观地标识当前选中的目标?本文将深入探…...

探索前沿技术趋势:2024年最值得关注的创新应用场景

1. 生成式AI的爆发式应用 2024年最让人兴奋的技术趋势,莫过于生成式AI从实验室走向千家万户。我最近测试了十几个主流AI创作工具,发现它们已经能完成许多过去认为"只有人类能做到"的任务。比如用Midjourney生成产品设计图,只需要简…...