【发布时间】:2019-11-22 07:32:15
【问题描述】:
我写了一个类来拟合一些数据。由于 拟合 在需要拟合大量数据时需要很长时间,所以我想保存该类的拟合对象,这样我就不必重复我想稍后使用拟合数据。使用 pickle,我在对象上调用 save 方法时收到以下错误:
AttributeError: Can't pickle local object 'ConstantModel.__init__.<locals>.constant'
我只有在对拟合数据进行腌制时才会遇到这个问题,如果我在拟合之前保存对象,腌制就可以工作。 有没有办法腌制拟合数据或有很好的解决方法?
class pattern:
def fitting(self):
mod_total = lmfit.models.ConstantModel()
pars_total = mod_total.guess(self.y, x=self.x)
self.fit = mod_total.fit(self.y, pars_total, x=self.x)
def save(self, path):
with open(path, 'wb') as filehandler:
pickle.dump(self, filehandler)
【问题讨论】: