6

我无法匹配 Google 报告的模型动物园中发布的模型的推理时间。具体来说,我正在尝试他们的faster_rcnn_resnet101_coco模型,其中报告的推理时间106ms在 Titan X GPU 上。

我的服务系统使用的是 TF 1.4,它运行在一个由 Google 发布的Dockerfile构建的容器中。我的客户端仿照谷歌发布的初始客户端

我在带有 1 个 Titan X 的 Ubuntu 14.04、TF 1.4 上运行。我的总推理时间比 Google 报告的约 330 毫秒差 3 倍。制作张量原型大约需要 150 毫秒,而预测需要大约 180 毫秒。我saved_model.pb的是直接从模型动物园下载的tar文件。有什么我想念的吗?我可以采取哪些步骤来减少推理时间?

4

4 回答 4

3

我能够解决这两个问题

  1. 优化编译器标志。将以下内容添加到 bazel-bin--config=opt --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx --copt=-mavx2 --copt=-mfma

  2. 不为每个推理导入 tf.contrib。在 google 提供的 inception_client 示例中,这些行为每个前向传递重新导入 tf.contrib。

于 2018-02-06T02:31:11.050 回答
2

非最大抑制可能是瓶颈:https ://github.com/tensorflow/models/issues/2710 。

图像尺寸是 600x600 吗?

于 2017-12-20T20:11:27.843 回答
0

@Vikram Gupta 你检查过你的 GPU 使用情况了吗?它会接近 80-100% 吗?我使用“模型动物园”的 API 和模型检测视频流对象的 GPU 使用率非常低。

于 2018-01-08T11:08:46.960 回答
0

我用 Titan Xp 运行了类似的模型,但是,我使用了 infer_detections.py 脚本并记录了前向传递时间[基本上通过使用 tf_example = detection_inference.infer_detections_and_add_to_example(serialized_example_tensor,detected_boxes_tensor,detected_scores_tensor,detected_labels_tensor,FLAGS.discard_image_pixels)之前和之后的日期时间我将 FasterRCN 第一阶段生成的提案数量从 300 减少到 100,并将第二阶段的检测数量也减少到 100。我得到的数字在 80 到 140 毫秒之间,我认为在这个设置中,600x600 图像大约需要大约 106 或略少(由于 Titan Xp,并且模型的复杂性降低)。也许你可以在你的硬件上重复上述过程,这样,如果这种情况下的数字也约为 106 毫秒,我们可以将差异归因于 DockerFile 和客户端的使用。如果数字仍然很高,那么可能是硬件问题。

如果 TensorFlow 对象检测团队的某个人可以评论用于在模型 zoo中生成数字的设置,将会很有帮助。

于 2017-12-21T04:11:00.613 回答