我正在使用我的Scala项目中的WEKA 3.8 API。当我尝试使用SerializationHelper.write(fullFilename, model)
保存模型(已经构建分类器)时,我收到以下异常。与Weka版本3.6相同的代码是可以的。Weka中的序列化错误3.8.x
我想说问题在于UpperSymmDenseMatrix是一个不实现java.io.Serializable
接口的类。 有关如何解决该问题的任何提示?预先 感谢
引起:java.io.NotSerializableException:在java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)no.uib.cipr.matrix.UpperSymmDenseMatrix 〜[NA:1.8.0_45] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)〜[na:1.8.0_45] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)〜[na:1.8.0_45] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)〜[NA:1.8.0_45] 在java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)〜[NA:1.8.0_45]
java.io.NotSerializableException [javadoc](https://docs.oracle.com/javase/7/docs/api/java/io/NotSerializableException.html):'当实例需要具有Serializable时抛出interface'。你的一个类不是可序列化的,如果你没有创建大量的类,就尝试使用case类。 –
是的,你是对的,但不可序列化的类是'no.uib.cipr.matrix.UpperSymmDenseMatrix',它不是我的代码库的一部分。它在matrix-toolkits-java里面。 – afijog