Нужно выяснить, какие имена выходных узлов нужно передать для конвертора Tensorflowjs

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

У меня есть контрольные точки, мета, файлы данных вместе с замороженным файлом 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 ответ

Для меня 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 - и Заполнитель не более чем то, что уже написано в названии, заполнитель, который должен быть заполнен действительным контентом.

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