如何解决在Java中使用Python Pickle对象
我在pickle object
中有一个RandomForestClassifier的Python
。我想在Java中使用此对象进行预测。那可能吗?如我所见,Python pickle object
可以that的方式用于Java
,但是我不确定它是否适用于机器学习模型。
解决方法
简短回答:否。
长答案:
根据python文档:
pickle 模块实现了用于序列化和反序列化 Python 对象结构的二进制协议。 “pickling”是将 Python 对象层次结构转换为字节流的过程,“unpickling”是相反的操作,将字节流(来自二进制文件或类字节对象)转换回对象层次结构。酸洗(和取消酸洗)也称为“序列化”、“编组”、1 或“扁平化”;然而,为了避免混淆,这里使用的术语是“酸洗”和“解酸”
这意味着给定的字节流仅在 Python 中在语法上有效,除非您想编写对象转译器。
您以错误的方式处理问题。 ML 模型只是一组系数/参数,您已经对其进行了优化,以获得目标变量的近似值。您应该能够采用该组系数/参数并在任何语言中使用它。
,我们可以使用 jython 中的 cPickle 类
https://javadoc.io/doc/org.python/jython-standalone/2.7.1/org/python/modules/cPickle.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。