如何解决将自定义python类的实例保存到文件
我想将自定义Python类的多个实例保存到文件中。
该类是Loess
,取自https://github.com/joaofig/pyloess,它执行局部回归。
以下是保存过程的MWE:
import pickle
import numpy as np
from Loess import Loess
xarr = np.linspace(0,4,100) * np.pi
yarr = 2*np.sin(xarr) + np.random.rand(len(xarr))
loess = Loess(xarr,yarr)
with open("localised_regression.pkl","wb") as output:
pickle.dump(loess,output)
现在是检索过程
import pickle
with open("localised_regression.pkl",'rb') as input_:
localised_regression = pickle.load(input_)
当我在Jupyter笔记本上执行此操作(在一个笔记本上运行第一个代码片段,然后在另一个笔记本上运行第二个代码片段)时,它运行完美。
从笔记本中转储Loess
的实例,并从终端或另一台计算机上检索它,这是行不通的。
我收到ModuleNotFoundError: No module named 'Loess'
错误消息
我什至尝试在尝试检索的python会话中导入模块,但没有任何变化。
似乎只能在执行转储的同一位置进行。
我在Python Shell和jupyter笔记本电脑上都使用了Python 3.7.7和相同的conda环境。
我检查了其他答案(例如how to save/read class wholly in Python),但没有运气。
我尝试保存到numpy文件,但情况相同。
我也尝试过使用marshal
和json
进行转储,但都抱怨。
有人对如何解决这个问题有建议吗?谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。