【问题标题】:"TypeError: can't pickle _thread.RLock objects" while saving Facebook Prophet model using pickle“TypeError: can't pickle _thread.RLock objects”,同时使用 pickle 保存 Facebook Prophet 模型
【发布时间】:2020-06-14 09:58:17
【问题描述】:

我正在训练一个模型来使用 Facebook Prophet 模型预测能耗值。 但是在使用 pickle 保存模型时,我收到了这个错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-54-9ef2990419d8> in <module>
      1 with open('forecast_model.pckl', 'wb') as fout:
----> 2     pickle.dump(model, fout)

TypeError: can't pickle _thread.RLock objects

代码:

from fbprophet import Prophet
import pickle
model = Prophet()
model.fit(df)
with open('forecast_model.pkl', 'wb') as fout:   <== Error coming here
    pickle.dump(model, fout)

df.head()

                     ds   y
0   2018-12-19 15:00:02   250.0
1   2018-12-19 16:00:03   295.0
2   2018-12-19 18:00:02   288.0
3   2018-12-19 19:00:02   286.0
4   2018-12-19 20:00:02   229.0

[编辑] 解决方案链接:https://github.com/facebook/prophet/issues/1361:
下面给出的代码对我有用

model = Prophet()
model.stan_backend.logger = None

with open('test.pickle', 'wb') as f:
   pickle.dump(m, f)

【问题讨论】:

    标签: python machine-learning pickle facebook-prophet


    【解决方案1】:

    我也遇到了同样的问题。 我重新安装了 fbprophet 0.5 版,比如

    pip install -U fbprophet==0.5
    

    如果你不需要最新版本:0.6,你可以试试。

    【讨论】:

    • 在 fbprophet github 中发现问题:github.com/facebook/prophet/issues/1361
    • 谢谢!我尝试使用 fbprophet 0.5 版本,但使用它时出现错误:“从假期导入 WEEKEND、HolidayBase、复活节、rd ImportError: cannot import name 'easter'”同时导入 fbprophet
    • 当我收到关于假期的错误时,我使用了假期==0.9.8。我希望它成为您的解决方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    • 2018-07-20
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多