微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将自定义python类的实例保存到文件

如何解决将自定义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文件,但情况相同。
我也尝试过使用marshaljson进行转储,但都抱怨。

有人对如何解决这个问题有建议吗?谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。