【问题标题】:Pickle fit-object泡菜适合对象
【发布时间】: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)

【问题讨论】:

    标签: object save pickle lmfit


    【解决方案1】:

    我找到了解决这个问题的方法:使用dill 而不是pickle 有效(正如我想要的那样)。

    【讨论】:

      猜你喜欢
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      相关资源
      最近更新 更多