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

Я пытаюсь преобразовать предварительно подготовленную модель для нас с помощью Tensorflow.js:

https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md

Я выбрал mask_rcnn_inception_v2_coco,

tensorflowjs_converter ожидает конкретного output_node_names, Различные ресурсы в Интернете указывают мне на такие инструменты, как summarize_graph чтобы помочь с проверкой потенциальных имен выходных узлов.

К сожалению, я запускаю это в Google Colab, и (из того, что я могу сказать) я не могу установить Bazel, который мне нужно построить summarize_graph из источника, который мне нужно определить, какой output_node_names перейти на конвертер.

Я что-то здесь упускаю? Есть ли более прямой путь перехода от существующей предварительно обученной модели к Tensorflow.js (для вывода из браузера)?

1 ответ

Для mask_rcnn_inception_v2_coco_2018_01_28 результатbazel-bin/tensorflow/tools/graph_transforms/summarize_graph --in_graph=frozen_inference_graph.pbявляется

Found 1 possible inputs: (name=image_tensor, type=uint8(4), shape=[?,?,?,3])
No variables spotted.
Found 5 possible outputs: (name=detection_boxes, op=Identity) (name=detection_scores, op=Identity) (name=detection_classes, op=Identity) (name=num_detections, op=Identity) (name=detection_masks, op=Identity) 

Эта статья помогла мне: https://developer.arm.com/technologies/machine-learning-on-arm/developer-material/how-to-guides/optimizing-neural-networks-for-mobile-and-embedded-devices-with-tensorflow/determine-the-names-of-input-and-output-nodes

Получите тензорную доску и запустите ее (можно сделать в Windows или как угодно, это установка Ubuntu)

pip install tensorboard

>

tensorboard --logdir=/tmp/tensorboard

>

python tensorflow/python/tools/import_pb_to_tensorboard.py --model_dir resnetv1_50.pb --log_dir /tmp/tensorboard

(если у вас нет import_pb_to_tensorboard.py, вы можете просто скачать файл https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/import_pb_to_tensorboard.py и указать каталог, в котором вы его сохранили)

Вы используете вышеупомянутую команду, чтобы импортировать вашу модель в тензорную доску, которую вы обслуживаете. В тензорной доске вы можете нажать на модель и посмотреть, как называется окончательный результат. Шахта называется "import/final_result"

Другие вопросы по тегам