私は 100% Java で画像分類ライブラリに取り組んでいます。ディープ ニューラル ネットワークは含まれません。OjAlgo の Fisherfaces を使用しています。jFaces は、通常の機械学習ソフトウェアと非常によく似た働きをします。モデルをトレーニングして検証します。モデルをシリアライズしたいのですが、モデルにはオブジェクトのみが含まれていますPrimitive64Matrix
https://github.com/DanielMartensson/jFaces
Primitive64Matrix
OjAlgoでシリアル化するにはどうすればよいですか?
私は私のクラスを持っています
public class Model implements Serializable{
private String name;
//private Primitive64Matrix D;
private Primitive64Matrix W;
private Primitive64Matrix P;
//private long num_components;
private Primitive64Matrix mu;
private Primitive64Matrix y;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Primitive64Matrix getW() {
return W;
}
public void setW(Primitive64Matrix w) {
W = w;
}
public Primitive64Matrix getMu() {
return mu;
}
public void setMu(Primitive64Matrix mu) {
this.mu = mu;
}
public Primitive64Matrix getP() {
return P;
}
public void setP(Primitive64Matrix p) {
P = p;
}
public Primitive64Matrix getY() {
return y;
}
public void setY(Primitive64Matrix y) {
this.y = y;
}
}
それから私はそれを保存しようとします:
static public void saveModel(Model model,String modelPath) {
try {
FileOutputStream fileOut = new FileOutputStream(modelPath);
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(model);
out.close();
fileOut.close();
logger.info("Model saved at " + modelPath);
} catch (IOException e) {
e.printStackTrace();
}
}
エラーが発生します:
java.io.NotSerializableException: se.danielmartensson.fisherfaces.Model
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1185)
at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349)
at se.danielmartensson.fisherfaces.tools.SaveLoad.saveModel(SaveLoad.java:22)
at se.danielmartensson.Main.main(Main.java:123)
Exception in thread "main" java.lang.NullPointerException
at se.danielmartensson.Main.main(Main.java:127)
OjAlgo は 100% Java です。右?