Как вывести output_node_names предварительно обученной модели?
Я пытаюсь преобразовать предварительно подготовленную модель для нас с помощью Tensorflow.js:
Я выбрал 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"