[英]How to unpickle the files in python?
我有一些训练过机器学习模型的泡菜文件。 我想解开它们并想查看代码。 我尝试编写这些代码行。
import pickle
with open('cv.pickle','rb') as f:
data_1 = pickle.load(f)
此代码给出以下错误:
AttributeError Traceback (most recent call last)
<ipython-input-5-25ea81eeb394> in <module>()
2
3 with open('cv.pickle','rb') as f:
----> 4 data_1 = pickle.load(f)
AttributeError: Can't get attribute 'dummy_fn' on <module '__main__'>
Pickle 不只存储变量、class 名称、导入路径等代码。这就是为什么如果支持代码更改,pickle 很容易产生问题。
打开泡菜的代码需要能够访问泡菜文件中引用的类/函数。 这里的问题是你的pickle文件引用dummy_fn
但是 function 在你解开的主模块中不存在。
看起来您正在 ipython 环境中阅读此内容。 以与创建 pickle 文件时相同的方式定义函数和类,然后打开文件。
为了缓解问题,您可以在模块中定义这些类/函数,然后在保存文件和加载文件时导入模块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.