Javascript 需要找出需要为Tensorflowjs转换器传递的输出节点名称
我是Tensorflow的新手,我开发了一个模型,可以使用Tensorflow、OpenCV检测一种特殊类型的卡,我可以在脱机模式下使用我的网络摄像头检测卡,但我想将其迁移到web(tensorflowjs),但我在转换方面面临一些问题 我有检查点、元数据文件以及冻结的推理图pb文件 我使用以下代码生成了节点名称列表Javascript 需要找出需要为Tensorflowjs转换器传递的输出节点名称,javascript,python,tensorflow,tensorflowjs-converter,Javascript,Python,Tensorflow,Tensorflowjs Converter,我是Tensorflow的新手,我开发了一个模型,可以使用Tensorflow、OpenCV检测一种特殊类型的卡,我可以在脱机模式下使用我的网络摄像头检测卡,但我想将其迁移到web(tensorflowjs),但我在转换方面面临一些问题 我有检查点、元数据文件以及冻结的推理图pb文件 我使用以下代码生成了节点名称列表 import tensorflow as tf modelName = './<path_to_meta_file>' tf.reset_default_grap
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)
将tensorflow导入为tf
modelName='./'
tf.reset_default_graph()
使用tf.Session()作为sess:
saver=tf.train.import\u元图(modelName)
graph_def=tf.get_default_graph().as_graph_def()
node_list=[n.name表示图中的n_def.node]
打印(节点列表)
这是输出文件
我关心的是我应该在下面的命令中传入输出节点名称
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
tensorflowjs\u转换器——输入\u格式=tf\u冻结\u模型——输出\u节点\u名称=“”。/freezed\u推断\u graph.pb./web\u模型
我想在客户端使用真实的网络摄像头运行我现有的模型,任何解决方案和建议都将不胜感激
设置详细信息:
Tensorflow 1.12.0
Python 3.5使用Anaconda。对于我来说,tensorflowjs_转换器通过使用“占位符”作为--output_node_名称的参数来运行:
tensorflowjs\u转换器--input\u format=tf\u freezed\u model--output\u format=tensorflowjs--output\u node\u names=Placeholder./freezed\u expression\u graph.pb./web\u model
但是,不确定这是否是一个有效的解决方案,因为即使转换器在没有错误消息的情况下运行,我还是从model_pruner获得了输出:“之前的图形大小:1187个节点,1221条边。之后的图形大小:1个节点,0条边。”-因此,我的输入实际上减少为零,这似乎也不正确
更新: 经过两个多小时的研究,我发现tensorboard指示节点名称(请参阅)。在我的例子中,结果是,
--output\u node\u names=final\u result
,而占位符不超过名称已经说明的内容,需要用有效内容填充占位符