Custom Vision Predictiong простое изображение: не найдено - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь получить очень простой фрагмент кода C # для прогнозирования изображения, но получаю следующую ошибку (в интернете очень мало этой темы):

Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.Models.CustomVisionErrorException HResult = 0x80131500 Сообщение = Операция возвратила недопустимый код состояния «NotFound»

var predictionClient = GetPredictionClient();
predictionClient.ClassifyImageUrl(Guid.Parse("5329678e-2a6b-46cf-ac11-fbd19ce89353"), "Iteration2", new ImageUrl("https://storageinfluencer.blob.core.windows.net/social-media-images/1e8bfef3-f070-44b9-9ae4-4b0d8a31316d.jpg"));

CustomVisionPredictionClient GetPredictionClient()
{
    CustomVisionPredictionClient endpoint = new CustomVisionPredictionClient()
    {
        ApiKey = "xxx",
        Endpoint = "https://northeurope.api.cognitive.microsoft.com/customvision/v3.0/Prediction/"
    };

    return endpoint;
}

Я стал немного ближе с помощью фиддлера. Конечная точка должна быть https://northeurope.api.cognitive.microsoft.com только в том случае, если портал сообщает, что скопируйте другую в качестве конечной точки. Однако теперь я получаю:

{"code": "BadRequest", "message": "Недопустимый тип проекта для операции."}

У меня следующий пост в Fiddler:

https://northeurope.api.cognitive.microsoft.com/customvision/v3.0/prediction/xx-xx-xx-xx-xx/classify/iterations/Iteration2/url HTTP / 1.1

1 Ответ

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

Думаю, я наконец-то узнал, почему вы получили эти 404, благодаря ... Демоверсии Intelligent Kiosk с открытым исходным кодом!

Посмотрите, как они передают значение конечной точки в своем коде, здесь :

private const string SouthCentralUsEndpoint = "https://southcentralus.api.cognitive.microsoft.com";

Как видите, поле Endpoint является значением корня, а не Custom Vision Prediction API root

Так что поменяйте

Endpoint = "https://northeurope.api.cognitive.microsoft.com/customvision/v3.0/Prediction/"

до:

Endpoint = "https://northeurope.api.cognitive.microsoft.com"

И это должно быть хорошо. Я провел тест с WestEurope и некоторыми проектами CustomVision, которые у меня уже были, он работает нормально.

...