Параметр пользовательского зрения Azure this.client.endpoint () является обязательным и не может иметь значение null.

Я пытаюсь заставить работать базовый классификатор изображений Custom Vision, следуя руководству в документации Azure, найденной здесь: https://docs.microsoft.com/en-us/azure/cognitive-services/custom-vision-service/quickstarts/image-classification?pivots=programming-language-java

Я следовал этому руководству слово в слово и потратил пару дней, пытаясь разобраться с этим. Проблема, с которой я столкнулся, заключается в том, что при запуске кода я получаю следующую трассировку стека:

Parameter this.client.endpoint() is required and cannot be null.
java.lang.IllegalArgumentException: Parameter this.client.endpoint() is required and cannot be null.
    at com.microsoft.azure.cognitiveservices.vision.customvision.training.implementation.TrainingsImpl.createProjectWithServiceResponseAsync(TrainingsImpl.java:2313)
    at com.microsoft.azure.cognitiveservices.vision.customvision.training.implementation.TrainingsImpl$TrainingsCreateProjectParameters.execute(TrainingsImpl.java:2401)
    at com.microsoft.azure.cognitiveservices.vision.customvision.samples.CustomVisionSamples.ImageClassification_Sample(CustomVisionSamples.java:67)
    at com.microsoft.azure.cognitiveservices.vision.customvision.samples.CustomVisionSamples.runSample(CustomVisionSamples.java:46)
    at com.microsoft.azure.cognitiveservices.vision.customvision.samples.CustomVisionSamples.main(CustomVisionSamples.java:374)

Конечная точка определяется здесь и передается как параметр

final String Endpoint = System.getenv("AZURE_CUSTOMVISION_ENDPOINT");

            CustomVisionTrainingClient trainClient = CustomVisionTrainingManager.authenticate("https://{Endpoint}/customvision/v3.0/training/", CustomVisionTrainingClientKey).withEndpoint(Endpoint);
            CustomVisionPredictionClient predictClient = CustomVisionPredictionManager.authenticate("https://{Endpoint}/customvision/v3.0/prediction/", predictionApiKey).withEndpoint(Endpoint);

Хотя в руководстве явно не говорится об этом, я попытался установить переменную системной среды AZURE_CUSTOMVISION_ENDPOINT вручную с помощью PowerShell, и она не работает с этим набором или без него.

Я что-то упускаю? Любая помощь будет принята с благодарностью!


person NickMarkoAu    schedule 10.07.2020    source источник


Ответы (1)


Исправлена ​​моя собственная проблема. Переменные среды установлены неправильно и являются нулевыми указателями. Я заменил вызов System.getenv на строку в виде обычного текста, и это работает правильно.

person NickMarkoAu    schedule 10.07.2020