在Python 3.7.5、ubuntu 18.04中,pickle读取出现错误,
泡菜版本4
示例代码:
import pickle as pkl
file = open("sample.pkl", "rb")
data = pkl.load(file)
错误:
UnpicklingError Traceback(最近调用 最后的) 在
----> 1 数据 = pickle.load(文件) UnpicklingError:STACK_GLOBAL 需要 str
从同一文件对象读取可以解决问题。
使用 pandas 阅读也会出现同样的问题
我也遇到了这个错误,结果是我用 pickle 打开了一个 numpy 文件。 ;)
事实证明这是已知问题。有问题页面 github
我遇到了这个问题,只是在文件名末尾添加了
pckl
。
我的问题是我试图在不同的 python 环境中进行 pickle 和 un-pickle - 请注意确保你的 pickle 版本匹配!
也许这将是某人解决此错误的方法。 我需要加载一个 numpy 数组:
torch.load(file)
当我加载数组时,出现了这个错误。所需要做的就是将数组转换为张量。 例如:
result = torch.from_numpy(np.load(file))
如果您在 YOLO V4 或 V7 模型中遇到问题,只需删除正在生成的 labels.cache 即可。这可能是由于各种 YOLO 模型的配置设置不同而导致的。对我来说,我的数据集已经有 .cache 文件,因此删除它可以帮助我解决这个问题。