这几乎可以应用于任何Java对象,但我提问的背景是机器学习,特别是libsvm。我在一个实时Java系统上训练了一个SVM。是否有方法可以保存这种对象的状态,并将训练后的对象转移到另一个Java系统上?
谢谢你。
回答:
是的,有几种方法。最简单的方法是使用ObjectOutputStream
序列化训练后的svm_model
,如下所示:
}
要反序列化model
,你需要使用ObjectInputStream
。
另一种方法是使用Java Architecture for XML Binding (JAXB)。在这种情况下,你需要编写一个包装类,以便能够访问svm_model
的字段,因为你需要用注释标记它们。这种方法更好,因为你可以得到一个人类可读的XML输出文件或其他自定义格式。然而,你需要进行大量的进一步阅读才能实现这一点。