我有一个大型maven项目A,我使用weka库来训练模型。现在我使用与A相同的maven依赖创建另一个小型maven项目B,并希望使用在A中训练的模型。
当我使用SerializationHelper类来读取模型并使用模型来预测项目B中的新实例时,它会遇到一些错误,例如模型的不兼容类(参见下图)。我只是想知道如果对A和B的maven依赖是相同的,是否有办法在项目B中使用A中训练的模型。或者我必须重新训练B中的模型并在B中使用它。谢谢。
Classifier cls = (Classifier) weka.core.SerializationHelper.read(model); double clsLabel = cls.classifyInstance(Data.instance(i));
答案 0 :(得分:0)
SerializationHelper应该用于不同的项目和不同的机器。你的错误应该在其他地方。请尝试以下建议。
Object objModel = weka.core.SerializationHelper.read(model); String modelClassName = objModel.getClass().getCanonicalName(); System.out.println(objModel);