我正在使用我的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