pytorch 驱动不兼容_解决Pytorch 加载训练好的模型 遇到的error问题
这是一个非常愚蠢的错误
debug的时候要好好看error信息
提醒自己切记好好对待error!切记!切记!
-----------------------分割线----------------
pytorch 已经非常友好了 保存模型和加载模型都只需要一条简单的命令
#保存整个网络和参数
torch.save(your_net, 'save_name.pkl')
#加载保存的模型
net = torch.load('save_name.pkl')
因为我比较懒我就想直接把整个网络都保存下来,然后在test文件中直接load一下不就好了?
就遭受了这样的错误。看错了error信息,把‘Net'看成‘net'。报错没有属性‘net'?这个不是我自己写的变量名么?
-----------------瞎捣鼓1h后(呵呵呵)----------------
回头看error,没有属性‘Net',Net???
我当下明白过来,应该是test文件中没有把它import进来,test中就没有任何关于Net的信息。我直接把定义的Net复制进了test.py,就顺利加载了训练好的模型。
但是我也有一个疑问,我理解的把整个模型保存难道不是把它的结构都保存下来了么?为什么还要再把这个网络import一次?来自python、pytorch、面向对象编程三次元小白的疑惑,先存个疑,搞懂了再来回答。
接下来试试只保存网络参数
#只保存网络参数
torch.save(your_net.state_dict(), 'save_name.pkl')
#加载保存的模型
net.load_state_dict(torch.load('save_name.pkl'))
保存网络参数
重新定义网络
报错
想死。。。
仔细看了报错信息,以我小白的理解,我感觉保存下来的可能只是单纯的数据,而不是一个对象(没有方法可以操作),或者该对象没有.copy()方法,所以没有办法进行.copy(),那肯定是保存哪里出错了。然后发现保存部分代码写错了,改成
print一下 net.state_dict和net.state_dict(),前者输出的是网络结构,后者才是网络的参数。
试着回答之前的问题,第二种保存模型的方法只保存了网络的参数(包括卷积层和全连接层每次的weight,bias),所以再加载模型的时候需要先定义网络无可厚非,就像训练时候定义网络那样定义就可以;而第一种保存整个网络的方法,保存了一个网络的实例(包括它的所有结构和参数),net是Net的一个实例,那为什么还要有Class Net的定义呢,还是回答不了。。
那就继续存疑,保持探究精神吧。。
以上这篇解决Pytorch 加载训练好的模型 遇到的error问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。
pytorch 驱动不兼容_解决Pytorch 加载训练好的模型 遇到的error问题相关推荐
- 关于PaddleNLP如何加载训练好的模型进行NER
关于PaddleNLP如何加载训练好的模型进行NER 关于PaddleNLP如何加载训练好的模型进行NER 当时在如何加载已经训练好的模型的问题上花了很长时间,后来也是受另一篇文章启发,问题才得以解决 ...
- ajax传输json数据格式乱码_解决Ajax加载JSon数据中文乱码问题
一.问题描述 使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢? 此处为的异步请求的配置: Java代码 async: { ...
- pytorch 加载训练好的模型后测试得到的结果不一样
1.训练模型,在模型train模式下,运行测试图片,得到结果正确:5200240905064,保存此模型, 2.加载训练好的pth模型,调用model.eval(),在eval模式下,去测试我下载的一 ...
- python训练好的图片验证_利用keras加载训练好的.H5文件,并实现预测图片
我就废话不多说了,直接上代码吧! import matplotlib matplotlib.use('Agg') import os from keras.models import load_mod ...
- tensorflow加载训练好的模型实例
1. 首先了解下tensorflow的一些基础语法知识 这里不再详细说明其细节,只举例学习. 1.1 tensorflow的tf.transpose()简单使用: tf.reshape(tensor, ...
- react页面数据过多怎么办_解决 React-Native 加载数据页面卡顿问题
一般情况下,我们在componentDidMount方法里面执行请求数据.根据字面意思:页面组件加载完毕,然后请求数据. 对的 ,没毛病!!! 然而问题就出现,当我们跳转到新页面时,到界面请求完数据, ...
- PyTorch:保存/加载训练好的模型测试
保存 torch.save(model.state_dict(), './cnn.pth') 加载 model = VGG16() #加载模型前要创建一个模型的实例对象 model.load_stat ...
- 加载慢_解决游戏加载慢不必大刀阔斧升改,教你一个简单有效的方法
随着支持PCIe4.0技术的3A平台出现,PCIe4.0的应用也逐渐进入普及阶段.对于资深的游戏装机玩家而言,很难不被PCIe4.0翻倍的带宽和频率所吸引,因为这能为游戏性能带来非常大的提升.除了处理 ...
- pytorch加载训练数据集dataloader操作耗费时间太久,该如何解决?
笔者在使用pytorch加载训练数据进行模型训练的时候,发现数据加载需要耗费太多时间,该如何缩短数据加载的时间消耗呢?经过查询相关文档,总结实际操作过程如下: 1.尽量将jpg等格式的文件保存为bmp ...
最新文章
- Sybase时间日期函数
- 我用C++复刻了这款上世纪最伟大的游戏
- JS中双引号单引号,转义字符问题!!
- anaconda moviepy_Anaconda和PyCharm的详细安装步骤~小白专用,手把手教学
- oracle查询表的意思,Oracle表的查询(一)
- 用ZedGraph作图表(一)
- 职场 PUA 你知多少?
- [HAOI2006] 聪明的猴子
- IDEA导入本地项目
- win10摄像头可以用计算机里不显示,win10打开计算机如何显示摄像头
- C++(一)#pragma once用法
- 【Linux系统开发】Study210开发板刷安卓系统
- ERP软件高效排产计划:如何解决企业排产难题
- Android BLE4.+ 蓝牙开发国产手机兼容性解决方案
- ROS:坐标系之间的关系 (map \ odom \ base_link)
- PHP配置环境搭建 MyEclipce添加PHP插件
- boj478. 小妹妹采蘑菇-概率
- c语言实现运输问题表上作业法,运输问题的表上作业法
- safari中判断app是否安装
- linux搭建erp教程,在Debian 10(Buster)上安装ERPNext ERP系统的步骤
热门文章
- vs mysql 登录界面_vs登录界面连接数据库代码
- 计算机病毒是什么文件形式,【文件病毒】文件病毒的格式、危害、特点_什么是文件病毒_佰佰安全网...
- 怎么选?阿里P7 or 副处级干部?
- 内存只有100G,要全表扫描一个200G大表,会不会把内存用完?
- 4.2w Star的文件同步工具,比VIP网盘还好用!
- 浪潮的加班标语炸了,这是顶风作案?网传:1月加班87小时还要扣工资?
- 皮一皮:论圈子的重要性!
- 一上来,就问原理,问上亿(MySQL)大表的索引优化...
- Redis 性能问题分析
- 关于程序猿鄙视链,哽咽