UnpicklingErrorA load persistent id instruction was encounteredbut no persistent_load function was s

_pickle.UnpicklingError: invalid load key, ‘v‘ 序列化和反序列化的版本不匹配:pickle模块在不同的Python版本之间可能存在不兼容性。如果你在一个Python版本中使用pickle进行序列化,然后在另一个版本中尝试反序列化,就可能会出现这个错误。使用了不受信任的数据:pickle模块可以执行任意代码,因此在反序列化之前必须确保数据的来源可信。数据损坏:如果序列化的数据在传输或存储过程中发生了损坏,就可能导致反序列化时出现无效的加载键错误。是一个Python中的错误,它表示在使用pickle模块进行反序列化时遇到了无效的加载键’v’。 阅读详情

问题描述及解决

在读取.pkl文件的时候,采用下面的方式进行读取,

with open('/xxxxx.pkl', 'rb') as file:
         data = pkl.load(file)
 data.x

报错如下所示:
在这里插入图片描述

通过查看解决办法,得知我保存为.pkl文件的时候采用的torch方法存储的,所以采用torch.load()就可以顺利读取了。
如下所示:

# 保存数据的时候采用的下面方式
torch.save(pkl_data, 'xxxxx.pkl')

所以读取的时候用下述方式进行读取:

loaded_data = torch.load('xxxxx.pkl')

整理一下.pkl文件读取

看Pkl储存的内容使用的什么方式

  • 1、使用numpy存储的读取办法
import numpy as np
file_path= 'xxxxx.pkl'
loaded_data = np.load(file_path, allow_pickle=True)
  • 2、使用torch存储数据的情况
import torch

loaded_data = torch.load('xxxxx.pkl')
  • 正常读取
with open('/home/featurize/work/AS_GAE/pkl/BlogCatalog.pkl', 'rb') as file:
         data = pkl.load(file)

这里是参考:
1、(20200720已解决)_pickle.UnpicklingError: A load persistent id instruction was encountered
2、读取pkl文件报错_pickle.UnpicklingError: A load persistent id instruction was encountered

python:spickle --- Python 对象序列化 阅读详情

相关推荐

2.python/pytorch编程debug

快速解决python中的bug,这里总有你需要的。

驽马十驾,功在不舍;锲而不舍,金石可镂。 2万+

A load persistent id instruction was encountered, but no persistent_load function was specified.

_pickle.UnpicklingError: A load persistent id instruction was encountered, but no persistent_load function was specified. 在torch1.7训练的模型无法加载到torch0.4的模型。 解决:#在torch 1.7版本中重新加载一下网络参数 import torch model = MyNetwork().to(device) #实例化模型并加载到cpu货GPU中 model.load_

Mrpangggggg的博客 6124

基于python+flask框架的基于微信小程序的CR公司建设项目信息管理系统-前台(开题+程序+论文) 计算机毕设

特别是随着移动互联网技术的普及,企业对便捷、高效的信息管理系统的需求日益迫切。另一方面,该系统集成了仓管、物料、财务、人事、供应商等多个模块,实现了数据的集中管理和信息共享,有助于企业实现精细化管理,降低运营成本,提升决策效率。:深入调研CR公司的业务需求,明确系统应具备的功能模块,包括仓管员管理模块(物料信息、退回记录、申请信息、仓库信息管理)、财务员管理模块(资金信息管理、采购与租赁款项处理)、人事管理模块、供应商管理模块、项目管理模块(项目信息、设备采购、物料采购、设备租赁)、以及考勤打卡模块等。

zhihao503的博客 960

_pickle.UnpicklingError: A load persistent id instruction was encountered,but no persistent_load fu

错误如图所示

qq_37747189的博客 4541

数电实训:万年历

万年历

Lmyccq的博客 1万+

工程师必看:如何用MINITAB快速计算传感器寿命(附详细步骤)

本文为工程师提供了使用MINITAB软件快速计算传感器寿命的详细实战指南。文章重点阐述了如何通过数据预处理、回归分析拟合阿伦尼斯模型,并最终预测平均寿命与置信区间,帮助工程师高效处理加速寿命试验数据,提升可靠性分析工作的准确性与效率。

weixin_29296241的博客 248

_pickle.UnpicklingError: A load persistent id instruction was encountered...报错信息的解决办法

Index 目录索引Introduction 引言错误信息描述报错原因分析解决方法Conclusion 总结 Introduction 引言 在使用PyTorch训练神经网络模型的时候,由于PyTorch安装版本不同的原因,可能会因为不兼容而报出各种各样的错误,此系列专注于记录在训练时候遇到的各种错误解决方法,供小伙伴们参考和学习。 错误信息描述 话不多说,如题,首先抛出错误信息: C:\Users\***\python.exe "D:/***/ConfusionMatrix_vgg/main.py" cu

哈哈哈哈哈嗝哈哈哈 1万+

深度学习入门:使用CMSIS-NN在微控制器上部署模型的完整指南与Python Jupyter实践

CMSIS-NN是ARM为Cortex-M系列微控制器设计的神经网络库。它旨在提供一套高效、轻量级的神经网络API,使得开发者可以在资源受限的微控制器上运行深度学习模型。CMSIS-NN优化了各种常见的神经网络层,如卷积层、全连接层等,确保它们在微控制器上的运行效率。# 定义模型])# 编译模型# 训练模型这样,我们就得到了一个简单的手写数字识别模型。注意:为了简洁和清晰,本文中的代码可能不是最优的或最完整的实现。为了获得完整的项目和更多的优化技巧,请下载完整项目。

m0_57781768的博客 5884

解决_pickle.UnpicklingError: A load persistent id instruction was encountered,but no persistent_load

报错信息:_pickle.UnpicklingError: A load persistent id instruction was encountered,报错原因:在加载模型参数时,torch版本发生变化,我报错因为训练前torch版本比较高,后面需要较低版本导致两个版本不一致发生报错。解决办法:将训练重新训练一次就欧克了,保证训练和验证过程使用同一个版本的torch。

m0_60304650的博客 1432

【Python爬虫(90)】以Python爬虫为眼,洞察金融科技监管风云

本文聚焦爬虫技术在金融科技监管中的应用。开篇阐述金融科技发展带来监管挑战,引出爬虫技术的重要性。接着介绍金融科技监管政策与合规要求,包括政策法规体系、合规细则及政策变化应对。随后探讨爬虫技术选型、数据监测策略、风险指标抓取及案例实操。还阐述基于爬虫数据构建风险预警与防控机制,含模型构建、阈值设定等。最后总结爬虫技术应用成果,展望其与人工智能融合、适应新监管需求及重视数据安全的未来发展趋势。

邓邓子的博客 1063

【LAMMPS学习】四、运行 LAMMPS(2)命令行选项

本部分解释了在安装可执行文件或下载源代码并构建可执行文件后如何运行 LAMMPS。命令文档页面描述了输入脚本的结构以及它们可以包含的命令。

荷塘阅色 5242

(20200720已解决)_pickle.UnpicklingError: A load persistent id instruction was encountered,

but no persistent_load function was specified. 问题描述 如题,提取pickle数据 解决方案 直接解释是因为生成pickle文件的过程中使用了persistent_load,但是读取过程中没有提供。 本例中的具体原因是,读取的pickle文件并非pickle格式,只是用pickle这个词表示这是一个规范压缩的数据文件,改用合适的read_*()函数就可以了 ...

漫步量化 2万+

从零开始讲DDR(7)——modelsim独立仿真DDR4

本文主要内容为DDR4 MIG ip核仿真,modelsim独立仿真DDR4。在进行DDR仿真的时候,我们会面临一个以往常规仿真不存在的问题:DDR本身并不是一个我们通过RTL代码设计出来的部件,常规的模块或者IP仿真,都是基于RTL代码就能进行的,但是回顾一下我们DDR的开发流程,调用的IP核也只是MIG ip,其本质是一个DDRC+DDRPYH的组合,并不能模拟任何DDR本身的行为,因此,在进行仿真之前,我们首先要做的就是获取DDR的仿真模型。

apple_53311083的博客 3225

pytorch load 模型时出错: A load persistent id instruction was encountered, but no persistent_load functio

Exception has occurred: UnpicklingError A load persistent id instruction was encountered, but no persistent_load function was specified. 运行torch.load() 时报错,原因是保存和加载模型时的pytorch版本不一致导致的,换用一致的版本即可。 ...

znsoft的专栏 1万+

基于Vision Transformer的鸟类图像分类(200个类别)完整代码+数据

基于Vision Transformer的鸟类图像分类(200个类别)完整代码+数据

1727

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

读取pkl文件报错_pickle.UnpicklingError: A load persistent id instruction was encountered

读取PKL文件报错 报错内容如下: _pickle.UnpicklingError: A load persistent id instruction was encountered, but no persistent_load function was specified. 解决办法有很多种,这得看Pkl储存的内容使用的什么方式 解决办法(一)使用numpy存储的读取办法 import numpy as np meta_file = 'path/***.pkl' data = np.load(meta

Jiunn-Nan的博客 2万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

解决:_pickle.UnpicklingError: A load persistent id instruction was encountered,

描述 在使用pytorch合并模型时出错 原因 保存模型和合并模型时pytorch版本不一致。合并模型时切换为保存模型的pytorch版本即可。

v-space的博客 6434

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【Bug解决】UnpicklingError: A load persistent id instruction was encountered, but no persistent_load.

在将pytorch本地训练好的模型,传到jetson nano平台上,加载模型时,报了这个错误: 问题原因 查阅相关资料,这是由于pytorch在1.6.0版本之后,模型保存默认方式是压缩的形式,而在jetson nano版本上的pytorch版本是1.0.0,因此无法直接加载.pth文件。 用下面的方式可以查看pytorch的版本: 问题解决 设置保存模型时不进行压缩,即修改保存模型语句为:...

兴趣使然的创作者 2537

当enumerate时出现“_pickle.UnpicklingError: pickle data was truncated”错误的解决方案

当对通过Dataloader得到的数据进行enumerate()索引运算时,出现““_pickle.UnpicklingError: pickle data was truncated”错误 当运行代码如下: for i, (images, labels) in enumerate(train_data_loader,0): 出现了上述的错误 三级标题 四级标题 五级标题 六级标题 ...

zhen15652的博客 2万+

_pickle.UnpicklingError: A load persistent id instruction was encountered...解决方法

今天在跑程序时突然出现了这个错误,找了很多方法都没有解决 我是用的torch.load() 后来发现是因为torch版本的问题,报错之前用的版本是torch==0.4.1,后来进行了修改,使用torch==1.7.1就可以正常运行了。 至于版本还是看自己跑的模型是什么,如果是用的别人的模型,看有没有requirements.txt ...

wavehaha的博客 3774

_pickle.UnpicklingError: STACK_GLOBAL requires str(yolov5训练自己的数据集报错)

_pickle.UnpicklingError: STACK_GLOBAL requires str

偶尔想看云飞的博客 992

出现错误(已解决)_pickle.UnpicklingError: A load persistent id instruction was encountered.

解决分割网络训练过程中遇到的问题

m0_48664152的博客 1013

python 报错:UnpicklingError: invalid load key, ‘\x00‘.

python 报错:UnpicklingError: invalid load key, '\x00'. 原因及解决方法

fivemillion的博客 2万+

出现报错:UnpicklingError: invalid load key, ‘-‘.

在谷歌的云服务器Colab中学习OpenMM-Lab—mmdetection时出现了UnpicklingError: invalid load key, '-'.折腾了半天终于搞定了。 出现原因:学习的过程中,自己操作时在checkpoints文件夹中下载了多个文件导致出现了这个错误, 解决方法:删除checkpoints中与自己需求无关的文件,只保留自己需要的一个文件即可。然后再重新执行程序。 ...

qq_41639506的博客 6852
上一篇: 脚本语言Scripting language
下一篇: 2、JavaWeb-JS-Vue
所谓远行Misnearch
博客等级 码龄3年 1093粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

所谓远行Misnearch

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

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

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

打赏作者

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

抵扣说明:

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

余额充值