1

我正在尝试使用 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(用于在浏览器上进行推理)?

4

2 回答 2

0

这篇文章帮助了我: 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

启动并运行 tensorboard(可以在 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并指向你保存它的任何目录)

您使用上述命令将模型导入您正在服务的张量板。在 tensorboard 中,您可以单击模型并查看最终输出的名称。我的被​​称为“import/final_result”

在此处输入图像描述

于 2019-02-26T10:27:36.250 回答
0

对于 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) 
于 2018-10-23T09:49:56.090 回答