Я пытаюсь получить очень простой фрагмент кода 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
Думаю, я наконец-то узнал, почему вы получили эти 404, благодаря ... Демоверсии Intelligent Kiosk с открытым исходным кодом!
Посмотрите, как они передают значение конечной точки в своем коде, здесь :
private const string SouthCentralUsEndpoint = "https://southcentralus.api.cognitive.microsoft.com";
Как видите, поле Endpoint является значением корня, а не Custom Vision Prediction API root
Endpoint
Custom Vision Prediction API
Так что поменяйте
Endpoint = "https://northeurope.api.cognitive.microsoft.com/customvision/v3.0/Prediction/"
до:
Endpoint = "https://northeurope.api.cognitive.microsoft.com"
И это должно быть хорошо. Я провел тест с WestEurope и некоторыми проектами CustomVision, которые у меня уже были, он работает нормально.