flutter_tflite распознавания пользовательских моделей не имеют смысла для IOS - PullRequest
0 голосов
/ 05 февраля 2020

Я внедряю пользовательскую модель в приложение флаттера. Для этого я использую пакет tflite (https://pub.dev/packages/tflite). При работе на Android и я получаю правильные прогнозы, но IOS совершенно странно и не имеет смысла.

В моем файле model_labels.txt есть 10 меток, поэтому индекс меток от 0 до 9. Я использую этот код когда я получаю свое изображение

Future<List<dynamic>> recognizeImage(File image) async {
 await loadModel();

var recognitions = await Tflite.runModelOnImage(
  path: image.path,
  imageMean: 0.0, // defaults to 117.0
  imageStd: 256.0, // defaults to 1.0
  numResults: 5, // defaults to 5
  threshold: 0.01, // defaults to 0.1
  asynch: true,
);

print(recognitions);
return result;}

печать возвратов распознавания android (= имеет смысл)

[{confidence: 0.9737526178359985, index: 0, label: label1}, 
{confidence: 0.025052303448319435, index: 6, label: label2}]

печать возвратов распознавания IOS (= ерунда)

[{index: 21, label: , confidence: 2.8203511238098145}, 
{index: 11, label: label1, confidence: 2.743105411529541}, 
{index: 17, label: label2, confidence: 2.7106339931488037}, 
{index: 10, label: , confidence: 2.4108083248138428}, 
{index: 28, label: label2, confidence: 2.398569107055664}]

Что не так на этом рисунке:

  1. Я получаю индексы выше 9, у меня всего 10 меток в моем файле label.txt
  2. index : 21 и индекс: 10 не имеют метки, имеет смысл, потому что нет метки, но не имеет смысла, поскольку не должно быть индексов выше, чем 9
  3. . Индекс: 17 и индекс: 28 имеют одинаковую метку, но разную достоверность, что не имеет смысла, так как не должно быть нескольких предсказаний с одной и той же меткой
  4. все значения достоверности больше 1,0, что опять же не имеет смысла

Кто-нибудь испытывал такие же проблемы?

...