API-интерфейс Microsoft Azure Custom Vision nodeJS - ошибка classifyImageUrl () "BadRequestImageUrl" - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь atm классифицировать изображение с помощью API от Microsoft на nodeJS.

Сеть уже обучена, и я могу "подключиться" к своему алгоритму.Я хочу отправить строку base64 как dataUri, но затем получаю следующее сообщение об ошибке: «Код: BadRequestImageUrl, сообщение: недопустимый URL-адрес изображения»

Переменная «img» является строкой base64 (из FHIR-Observation-Object) и правильный (на веб-сайте URL работает с base64).

Я пытаюсь отправить изображение из Википедии.Но затем у меня появляется другая ошибка: «NoFoundIteration / Invalid итерация»

const PredictionAPIClient = require("azure-cognitiveservices-customvision-prediction");
const predictionKey = "xxxx";
const endPoint = "https://southcentralus.api.cognitive.microsoft.com"
const projectId = "xxxxx";
const publishedName = "myMLName";
...
var img = 'iVBORw0KGgoAAAANSUhEUgAAAgAAAAJmCAYAAA...'; //base64
...
tempUrl= { url: 'data:image/png;base64,' + img };
...
predictor.classifyImageUrl(projectId, publishedName, tempUrl)
  .then((resultJSON) => {
       console.log("RESULT ######################")
       //console.log(resultJSON);})
  .catch((error) => {
       console.log("ERROR #####################");
       console.log(error);}
);

Я должен получить JSON-форму Microsoft Azure с результатами.

1 Ответ

0 голосов
/ 05 апреля 2019

Ознакомьтесь с документацией по API для используемого вами пакета: https://southcentralus.dev.cognitive.microsoft.com/docs/services/Custom_Vision_Prediction_3.0/operations/5c82db60bf6a2b11a8247c14

Вы можете видеть, что Classify имеет 2 метода:

  • ClassifyImage, который использует изображение в приложении / octet-stream
  • ClassifyImageUrl, который использует URL для ввода

URL-адрес данных не поддерживается, необходимо использовать классический URL-адрес (и изображение должно быть общедоступным: не используйте URL-адрес, указывающий на конечную точку, которая требует аутентификации)

При ошибке iteration убедитесь, что вы используете имя итерации в publishedName, а не имя проекта.

Пример здесь со значением в поле «Опубликован как»: Iteration name

...