«TypeError: невозможно выбрать _thread.RLock объекты» при сохранении модели Facebook Prophet с использованием pickle - PullRequest
1 голос
/ 02 марта 2020

Я тренирую модель для прогнозирования значений энергопотребления с использованием модели 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)

1 Ответ

1 голос
/ 08 марта 2020

У меня такая же проблема. Я переустановил fbprophet версии 0.5, например

pip install -U fbprophet==0.5

, если вам не нужна последняя версия: 0.6, вы можете попробовать.

...