Нужно выяснить, какие имена выходных узлов нужно передать для конвертора Tensorflowjs - PullRequest
0 голосов
/ 13 декабря 2018

Я новичок в Tensorflow, я разработал модель, которая обнаруживает особый вид карт с помощью Tensorflow, OpenCV, я правильно могу обнаружить карту с помощью своей веб-камеры в автономном режиме, но я хочу перенести ее наweb (tenorflowjs), но я сталкиваюсь с некоторыми проблемами, связанными с преобразованием.

У меня есть контрольные точки, мета-файлы и файлы данных вместе с замороженным файлом pb графа вывода

Я сгенерировал узлысписок имен с использованием следующего кода

import tensorflow as tf


modelName = './<path_to_meta_file>'

tf.reset_default_graph()
with tf.Session() as sess:
    saver = tf.train.import_meta_graph(modelName)
    graph_def = tf.get_default_graph().as_graph_def()
    node_list=[n.name for n in graph_def.node]


print(node_list)

вот выходной файл Вывод имен узлов с помощью tenorflow import_meta_graph ()

меня беспокоит то, что я должен передать ввыводим имена узлов в приведенной ниже команде

tensorflowjs_converter --input_format=tf_frozen_model --output_node_names='<what to write here from that output txt file?>' ./frozen_inference_graph.pb ./web_model

Я хочу запустить свою существующую модель, используя настоящую веб-камеру на стороне клиента, любые решения и предложения будут высоко оценены

Подробности настройки:

Tensorflow 1.12.0

Python 3.5 с использованием Anaconda.

1 Ответ

0 голосов
/ 25 февраля 2019

Для меня tenorflowjs_converter пробежал, используя "Placeholder" в качестве аргумента для --output_node_names:

tensorflowjs_converter --input_format=tf_frozen_model --output_format=tensorflowjs --output_node_names=Placeholder ./frozen_inference_graph.pb ./web_model

Не уверен, что это правильное решение, потому что дажехотя конвертер работает без сообщения об ошибке, я получаю вывод от model_pruner: «Размер графика до: 1187 узлов, 1221 ребер. Размер графика после: 1 узлов, 0 ребер».- так что мой ввод практически сведен к нулю, что тоже не совсем правильно.


Обновление: после еще двух часов исследований я обнаружил, что на тензорной доске указаны имена узлов (см. эта страница ).В моем случае оказалось, что --output_node_names=final_result - и Заполнитель не больше чем то, что уже написано в названии, заполнитель, который должен быть заполнен действительным контентом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...