【发布时间】:2020-01-31 09:35:57
【问题描述】:
我有一个训练有素的决策树模型,我在谷歌研究笔记本中创建,并像这样腌制:
pickle.dump(tree, open(tree_15.sav, 'wb'))
我们有一个从 docker 构建的在线分析项目,创建的环境与我用来创建模型的环境相同。 (以及用于其他功能的一些其他包。)我想在其他项目中导入我的模型,使用以下行:
predictive_model = pickle.load(open(self.sav_path, 'rb'), fix_imports=True, encoding='latin1')
但我明白了:
_pickle.UnpicklingError: invalid load key, '\xef'.
有趣的是,我无法在本地重现相同的错误。我使用 Windows 桌面(所以我在本地从 docker 构建时遇到问题),但我使用每个包的相同版本,.sav 文件没有损坏 - 散列检查 - 等等。它每次都在本地运行得很好。同一模型的先前版本也可以在线运行。老实说,我在这里很迷茫。
【问题讨论】:
标签: python scikit-learn persistence pickle