pickle报错 ValueError: unsupported pickle protocol: 3

简介: pickle报错 ValueError: unsupported pickle protocol: 3

pickle报错 ValueError: unsupported pickle protocol: 3


1、报错含义

不支持用 Python2 读取 Python3 生成的 pkl 文件。

2、解决办法

如果知道会是在 Python2 环境中执行读取 pkl 文件,则在生成 pkl 文件时加入 protocol=2:

import pickle
pickle.dump(model_name,open('example.pkl', 'wb'), protocol=2)

这样就是用 Python3 生成了能用 Python2 读取的 pkl 文件。

3、补充

Python2 生成的 pkl 导入方式:

import cPickle

with open('data.pkl', 'rb') as f:

samples, labels = cPickle.load(f)

Python3 生成的pkl 导入方式:

import pickle

with open('data.pkl', 'rb') as f:

samples, labels = pickle.load(f)

相关文章
|
JSON 数据格式 Python
Python json中一直搞不清的load、loads、dump、dumps、eval
Python json中一直搞不清的load、loads、dump、dumps、eval
289 0
Python json中一直搞不清的load、loads、dump、dumps、eval
|
8天前
|
Linux Windows Python
ForkingPickler(file, protocol).dump(obj) TypeError: can‘t pickle Environment objects
ForkingPickler(file, protocol).dump(obj) TypeError: can‘t pickle Environment objects
34 0
成功解决ForkingPickler(file, protocol).dump(obj) TypeError: can't pickle Environment objects
成功解决ForkingPickler(file, protocol).dump(obj) TypeError: can't pickle Environment objects
成功解决ForkingPickler(file, protocol).dump(obj) TypeError: can't pickle Environment objects
|
9月前
_pickle.UnpicklingError: invalid load key, ‘H‘
_pickle.UnpicklingError: invalid load key, ‘H‘
|
机器学习/深度学习 Windows
raise RuntimeError(‘Error(s) in loading state_dict for {}:\n\t{}‘.format( RuntimeError: Error(s)..报错
即load_state_dict(fsd,strict=False) 属性strict;当strict=True,要求预训练练权重层数的键值与新构建的模型中的权重层数名称完全吻合;
1235 0
|
数据挖掘 索引 Python
pandas库中的read_csv函数读取数据时候的路径问题详解(ValueError: embedded null character)
read_csv()函数不仅是R语言中的一个读取csv文件的函数,也是pandas库中的一个函数。pandas是一个用于数据分析和处理的python库。它的read_csv函数可以读取csv文件里的数据,并将其转化为pandas里面的DataFrame对象。它由很多参数可以设置,例如分隔符、编码、列名、索引等。
229 0
pandas库中的read_csv函数读取数据时候的路径问题详解(ValueError: embedded null character)
|
Python
解决ValueError: `validation_split` is only supported for Tensors or NumPy arrays, found following
解决ValueError: `validation_split` is only supported for Tensors or NumPy arrays, found following
569 0
解决ValueError: `validation_split` is only supported for Tensors or NumPy arrays, found following
报错:pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 7, saw 2
报错:pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 7, saw 2
报错:pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 7, saw 2
python TypeError: missing 1 required positional argument:'self'
python TypeError: missing 1 required positional argument:'self'
python TypeError: missing 1 required positional argument:'self'
|
Python
pandas中报错:TypeError: reduction operation ‘argmax‘ not allowed for this dtype 的解决办法
pandas中报错:TypeError: reduction operation ‘argmax‘ not allowed for this dtype 的解决办法
734 0
pandas中报错:TypeError: reduction operation ‘argmax‘ not allowed for this dtype 的解决办法