Получение ошибки несоответствия счетчика входных данных при получении прогнозов из модели обнаружения предварительно обученных объектов в Tensorflow-js - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь использовать tenorflow.js для прогнозирования выходных данных из модели обнаружения предварительно обученных объектов, но получаю ошибку в model.predict(inputImage), равном

Uncaught (в обещании) Ошибка: Несоответствие числа входных тензоров, модель графа содержит 425 заполнителей, в то время как имеется 1 входной тензор.

Я использую
- версия tenorflowjs - 1.0.1
- tenorflow - 2.0.0-dev20190404

HTML "https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.0.4"

Я использую модель SSD_Mobilenet_V2 и скачал ее с 'http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v2_coco_2018_03_29.tar.gz'

Я использовал эту команду для преобразования модели tf в веб-формат

tensorflowjs_converter --input_format tf_saved_model ./saved_model ./tfjs_saved_modelSSDMobilenetV2

Получение ошибки в этой строке кода JavaScript:

const boxes = await model.predict(processedImage);

Обработанное изображение имеет форму tf.tensor3d (300 300,3).

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

coco-ssd использует (1, 300, 300, 3) для формы: https://github.com/tensorflow/tfjs-models/blob/master/coco-ssd/src/index.ts

Может быть, в этом проблема?

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

У нас такая же ошибка. На данный момент мы догадываемся:

  • это связано с тем, что модель изначально обучалась с tenorflow 1.x, а теперь tenonflowjs загружается с преобразователем tenorflow 2.0-alpha.
  • Анализируя модель.json, мы находим много «unused_control_flow_input_», которые могут относиться к входному тензору, используемому только в учебных целях.

Однако мы только догадываемся, и документации нет. Взаимозаменяемость платформы tenorflow так важна для любых реальных производственных развертываний, но здесь мы упускаем по-настоящему много информации.

...