Python scikit-learn:导出经过训练的分类器

2024-01-29

我使用的是 DBN(深度信念网络)nolearn https://pypi.python.org/pypi/nolearn基于 scikit-learn。

我已经构建了一个可以很好地对数据进行分类的网络,现在我有兴趣导出模型进行部署,但我不知道如何操作(每次我想要预测某些内容时,我都会训练 DBN)。在matlab我只需导出权重矩阵并将其导入另一台机器中。

有人知道如何导出模型/要导入的权重矩阵而不需要再次训练整个模型吗?


首先,安装joblib https://github.com/joblib/joblib.

您可以使用:

>>> import joblib
>>> joblib.dump(clf, 'my_model.pkl', compress=9)

然后,在预测服务器上:

>>> import joblib
>>> model_clone = joblib.load('my_model.pkl')

这基本上是一个 Python pickle,针对大型 numpy 数组进行了优化处理。它与普通泡菜有相同的局限性。代码更改:如果 pickle 对象的类结构发生更改,您可能无法再使用新版本的 nolearn 或 scikit-learn 来 unpickle 该对象。

如果您想要长期可靠的方式来存储模型参数,您可能需要编写自己的 IO 层(例如,使用协议缓冲区或 avro 等二进制格式序列化工具或低效但可移植的文本/json/xml 表示形式,例如PMML http://www.dmg.org/v4-1/GeneralStructure.html).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python scikit-learn:导出经过训练的分类器 的相关文章

随机推荐