私はScalaプロジェクトのWEKA 3.8 APIを使用しています。 SerializationHelper.write(fullFilename, model)
を使用してモデルを保存しようとすると(次の例外が発生する)同じコードはWekaバージョン3.6でOKです。Weka 3.8.xのシリアル化エラー
私は、問題は、UpperSymmDenseMatrixがjava.io.Serializable
インターフェイスを実装していないクラスだと言います。 問題の解決方法に関するヒントjava.io.NotSerializableException:事前に起因
で おかげjava.io.ObjectOutputStream.writeObject0でno.uib.cipr.matrix.UpperSymmDenseMatrix (ObjectOutputStream.java:1184)〜[NA:1.8.0_45] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)〜[na:1.8.0_45] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)〜[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): 'インスタンスがシリアライズ可能である必要がある場合にスローされます。インターフェイス '。あなたのクラスの1つは直列化可能ではありません。それらをたくさん作成していない場合は、ケースクラスを使用してみてください。 –
はい、あなたは正しいですが、直列化できないクラスは、コードベースの一部ではない 'no.uib.cipr.matrix.UpperSymmDenseMatrix'です。それはmatrix-toolkits-javaの中にあります。 – afijog