0

所以我想在 Eclipse 中创建一个 java 应用程序,用户可以导入 .zip 文件。每个 .zip 文件将代表一个猫品种。我将单击“训练”按钮,我的程序将联系 IBM Watson 服务并创建一个分类器。然后从另一个窗口,我将导入随机猫图像,程序将显示图像中的猫品种。SDK 的一切都很好,因为我从 Watson 官方网站运行了一些示例,并且一切都运行得很顺利。当我尝试创建自己的分类器时,问题就来了。您即将看到的代码也来自他们的网站。由于某种原因,该createClassifier方法不会将CreateClassifierOptions对象作为参数。

import java.io.File;

import com.ibm.watson.developer_cloud.http.ServiceCall;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.RecognitionCallback;
import com.ibm.watson.developer_cloud.visual_recognition.v3.*;
import com.ibm.watson.developer_cloud.visual_recognition.v3.model.*;


public class TrainningClassifier{

public static void main(String[] args) {


VisualRecognition service = new VisualRecognition(
          VisualRecognition.VERSION_DATE_2016_05_20
        );

        service.setApiKey("aca4433597018de62edafdeebceb2bdc1482496a");
        CreateClassifierOptions createClassifierOptions = new CreateClassifierOptions.Builder()
          .name("dogs")
          .addClass("beagle", new File("./beagle.zip"))
          .addClass("goldenretriever",new File("./golden-retriever.zip"))
          .addClass("husky", new File("./husky.zip"))
          .negativeExamples(new File("./cats.zip"))
          .build();

        Classifier dogs = service.createClassifier(createClassifierOptions).execute();
        System.out.println(dogs);  /*error is in the above line.
                                     the createClassifier method.*/
}

}

错误:线程“main” java.lang.Error 中的异常:未解决的编译问题:VisualRecognition 类型中的方法 createClassifier(ClassifierOptions) 不适用于参数 (CreateClassifierOptions)

在 testVisualRec.ForAssignment.main(ForAssignment.java:31)

有任何想法吗?

4

1 回答 1

0

找到了解决方案。出于某种原因,eclipse 不推荐这个解决方案,我不得不进行实验。IOException我只是在 main 方法中添加了 throws 。我还放入了 main 方法System.out.println(new File(".").getAbsoluteFile());以确保路径正确,并且确实如此。(本项目使用的 SDK 是 4.0.0,不是最新的。SDK 在这里找到:https ://github.com/watson-developer-cloud/java-sdk/releases )

于 2017-12-31T17:03:37.923 回答