Azure Пользовательский параметр видения this.client.endpoint () является обязательным и не может быть нулевым. - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь получить базовый c классификатор изображений 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, и она не работает с этим набором или без него.

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

1 Ответ

0 голосов
/ 10 июля 2020

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

...