【问题标题】:Tensorflow Object Detection API has slow inference time with tensorflow servingTensorFlow 对象检测 API 使用 TensorFlow 服务时推理时间很慢
【发布时间】:2018-06-02 11:03:50
【问题描述】:

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

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

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

【问题讨论】:

    标签: tensorflow object-detection tensorflow-gpu tensorflow-serving object-detection-api


    【解决方案1】:

    我能够通过

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

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

    【讨论】:

    • 你能告诉我在哪里可以找到bazel-bin 文件吗?
    • 您是否获得了使用 TensorFlow 服务运行的 model_zoo 延迟数字?我认为这些数字是用于原始推断的。如果通过 tf-serving 添加 gRPC 开销,则需要更多时间。你能确认你的号码是否相同吗?
    【解决方案2】:

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

    图片大小是 600x600 吗?

    【讨论】:

    • 我认为这不是问题,我使用的是 TF 1.4,它与导出模型所基于的版本相同。来自模型动物园:Our frozen inference graphs are generated using the v1.4.0 release version of Tensorflow
    【解决方案3】:

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

    如果来自 Tensorflow 对象检测团队的人可以评论用于在 model zoo 中生成数字的设置,将会很有帮助。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-06-27
        • 2020-04-03
        • 2018-10-27
        • 2019-07-12
        • 2019-09-08
        • 2018-04-18
        • 2017-12-02
        • 1970-01-01
        相关资源
        最近更新 更多