我正在处理生物信息学程序的数据(https://github.com/twopin/CAMP/tree/master/CAMP_pytorch)。
我计划解开软件作者使用的数据/代码来解决我们的工作流程问题。我已经下载了 pickle 文件,解压缩了 pickle 文件,但在尝试加载 pickle 文件时出现以下错误:
如何最好地进行?
import pickle
with open("model_full_ckpts_0.pkl", 'rb') as f:
loaded = pickle.load(f)
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
_pickle.UnpicklingError: A load persistent id instruction was encountered,
but no persistent_load function was specified.
您看到的错误发生是因为您尝试加载的pickle文件是使用自定义类或对象创建的,并且该类或对象未在您当前的代码中定义。
这就是我要做的:
识别自定义类: 检查生物信息学程序的文档或代码,了解它在保存数据时是否使用任何特殊的类或对象。
定义自定义类: 如果您发现任何自定义类,请在代码中创建这些类的简单占位符版本。
加载 Pickle 文件: 定义必要的类后,尝试再次加载 pickled 文件。