How to load libsvm model in java after serialVersionUID has changed

I trained the libsvm model on weka and then saved the model. Now I want to use this model in java.

Classifier cls = (Classifier)weka.core.SerializationHelper.read(this.modelPath);

I get this error

"java.io.InvalidClassException: libsvm.svm_model; local class is not compatible: stream classdesc serialVersionUID = -8642637231196646922, local class serialVersionUID = 2709444323471798245"

when i run the code above. I want to know how I can download and use the model.

+4
source share
2 answers

, , (., , serialVersionUID ? ). serialVersionUID , , . , , Java, - . Java, - ,

static final long serialVersionUID = -8642637231196646922;

.

: Classifier Weka. , serialVersionUID . , Weka? , Weka serialVersionUID.

+2

serialVersionUID. SerializationHelper / LibSVM ( ):

weka.core.SerializationHelper.write("/some/where/svm.model", svmModel);

LibSVM svm = (LibSVM) weka.core.SerializationHelper.read("/some/where/svm.model");
+1

Source: https://habr.com/ru/post/1532483/


All Articles