Получение CustomerVisionErrorException: операция вернула недопустимый код состояния «BadRequest» - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь использовать функцию Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction, отправляя изображение с помощью кросс-медиа медиатора и получая результат предсказания. Я попытался передать изображение в виде URL или потока и получить плохой запрос. Я знаю, что у меня есть правильный ключ предсказания и конечная точка, потому что я работаю для обучения, говоря мне, как я передаю изображение в метод. Как правильно преобразовать изображение из фотопакета Cross Media pick в

                            private async void UplodatePictureButton_Clicked(object sender, EventArgs e)
                                    {
                                        await CrossMedia.Current.Initialize();
                                        MediaFile file;
                                        if (!CrossMedia.Current.IsPickPhotoSupported)
                                        {
                                            await DisplayAlert("No upload", "Picking a photo is not supported", "OK");
                                            return;

                                        }
                                        file = await CrossMedia.Current.PickPhotoAsync();
                                        if (file == null)
                                        {
                                            return;
                                        }

                                        MainImage.Source = ImageSource.FromStream(() =>
                                        {
                                            var stream = file.GetStream();

                                            return stream;
                                        });


                                        // Create the Api, passing in the training key
                                        CustomVisionTrainingClient trainingApi = new CustomVisionTrainingClient()
                                        {
                                            ApiKey = trainingKey,
                                            Endpoint = SouthCentralUsEndpointTraining
                                        };
                                        var projects = trainingApi.GetProjects();
                                        var project = projects.FirstOrDefault(p => p.Name == "Car");
                                        CustomVisionPredictionClient endpoint = new CustomVisionPredictionClient()
                                        {
                                            ApiKey = predictionKey,
                                            Endpoint = SouthCentralUsEndpointPrediction
                                        };


                                        var result = endpoint.ClassifyImageUrl(project.Id, project.Name, new Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.Models.ImageUrl(file.Path));



                                        foreach (var c in result.Predictions)
                                        {
                                            Console.WriteLine($"\t{c.TagName}: {c.Probability:P1}");
                                        }


                                    }

Необработанное исключение: Microsoft.Azure.CognitiveService.Vision.CustomerVision.Prediction.Models.CustomVisionErrorException: операция вернула недопустимый код состояния «BadRequest» Ожидайте прогноз.

Вот изображение кода: код Вот картина проблемы: проблема

1 Ответ

0 голосов
/ 22 мая 2019

Я получил то же самое «Плохое сообщение запроса» при попытке сделать конечную точку. DetectImage (projectId, iteractionName, stream). Дело в том, что на прошлой неделе это работало отлично. Я заметил, что это происходит только с большими изображениями около 2 МБ

...