我正在尝试在Heroku上部署可重复运行的应用程序,该应用程序可以在本地服务器上完美运行。它还有一个ML模型用作“ pkl”文件。我需要帮助解决错误。
我最初使用的是来自sklearn.external的joblib。但是我在Heroku上进行拔除时遇到了错误。然后,我直接切换到joblib,但问题仍然存在。我无法弄清楚问题出在哪里。
模型转储为
import joblib
joblib.dump(reg2, 'RF_model.pkl')
模型加载为
import joblib
model = joblib.load("RF_model.pkl")
我期望Heroku应用程序能够在本地服务器上正常运行,相反,该应用程序会崩溃。
日志如下
2019-05-19T11:07:10.866204+00:00 app[web.1]: model = joblib.load("RF_model.pkl")
2019-05-19T11:07:10.866237+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/joblib/numpy_pickle.py", line 598, in load
2019-05-19T11:07:10.866700+00:00 app[web.1]: obj = _unpickle(fobj, filename, mmap_mode)
2019-05-19T11:07:10.866731+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/joblib/numpy_pickle.py", line 526, in _unpickle
2019-05-19T11:07:10.867151+00:00 app[web.1]: obj = unpickler.load()
2019-05-19T11:07:10.867182+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/pickle.py", line 1050, in load
2019-05-19T11:07:10.867908+00:00 app[web.1]: dispatch[key[0]](self)
2019-05-19T11:07:10.867949+00:00 app[web.1]: KeyError: 118