Как использовать TFlite android studio

#java #android-studio #tensorflow #tensorflow-lite #image-classification

#java #android-studio #тензорный поток #tensorflow-lite #изображение-классификация

Вопрос:

Привет всем, кто обратил внимание!). Я новичок в машинном обучении и столкнулся с одной проблемой. У меня есть предварительно обученная нейронная сеть классификатора изображений, преобразованная в tflite, и я хочу использовать ее в Android studio. На моем входе находится растровое изображение с фотографии с камеры.Я использовал это руководство https://www.tensorflow.org/lite/guide/android . Пример кода, который я изменил следующим образом

 try {

            ConvertedModel model = ConvertedModel.newInstance(this);

            // Creates inputs for reference.
            TensorImage image = TensorImage.fromBitmap(Photo_bitMap);

            // Runs model inference and gets result.
            ConvertedModel.Outputs outputs = model.process(image);
            List<Category> probability = outputs.getProbabilityAsCategoryList();
   
            // Releases model resources if no longer used.
            model.close();
            //see probability chance
            System.out.println(probability);
        }
        catch (IOException e) {
           //catch error 
        }
 

ConvertedModel — IDE автоматически нашла модель и поместила ее. Это моя преобразованная модель, расположенная в ml
введите описание изображения здесь

Но в ответ я печатаю результат вероятности и получаю совершенно неправильную вероятность, которую я не получил в предварительных тестах перед преобразованием. Он также дает одинаковую вероятность для одного и того же изображения каждый раз, когда оно вводится.например, мы вводим белое изображение, и для этого изображения вероятность будет одинаковой в любое время, когда мы его вводим, kile const .

Моя вероятность неверна, потому что я неправильно использовал модель? Если я неправильно использую модель, почему я получаю вероятность и получаю ту же вероятность для того же изображения? Как это исправить

Ответ №1:

Мой код был правильным sry, проблема была в моей сети. Я загружаю эту сеть с метаданными, и все заработало.