【问题标题】:Object detection slow and does not use GPU对象检测速度慢且不使用 GPU
【发布时间】:2019-12-05 22:49:24
【问题描述】:

我需要使用 Tensorflow Object Detection API 来做一些与识别相关的分类。

我的问题是使用 API 进行检测和预训练的 coco 模型需要太多时间,而且肯定不会使用 GPU。我在不同的脚本上检查了我的 tensorflow-gpu 安装,它工作正常,但是当我使用这个模型进行检测时,我只能看到 CPU 使用率的增加。

我检查了不同版本的 tensorflow (1.12, 1.14),CUDA Toolkit (9.0, 10.0) 和 CuDNN (7.4.2, 7.5.1, 7.6.1) 的不同组合,但都一样,也试过了在 Windows 7 和 Ubuntu 16.04 上,没有区别。然而,我的项目需要更快的检测时间。

系统信息: 系统:Windows 7、Ubuntu 16.04 张量流:1.12、1.14 显卡:GTX 970

【问题讨论】:

    标签: python-3.x tensorflow image-recognition object-detection-api


    【解决方案1】:

    运行以下python代码,如果检测到GPU,则可以使用GPU进行训练,否则会出现问题,

    from tensorflow.python.client import device_lib
    print(device_lib.list_local_devices())
    

    还有一件事,仅仅因为您的 CPU 正在使用并不意味着 GPU 不在工作。 CPU 总是很忙,GPU 也应该在训练时出现峰值。

    如果您不确定输出,请将上述代码的输出粘贴到注释中。

    编辑:在 cmets 上与 OP 聊天后,我看到了建议的代码,并且它使用的是预训练模型,因此这里没有进行任何训练。您正在使用模型而不是训练新模型。所以没有使用gpu。

    【讨论】:

    • 感谢您的回答。 [名称:“/设备:CPU:0”设备类型:“CPU”内存限制:268435456位置{}化身:12868789687935921631,名称:“/设备:GPU:0”设备类型:“GPU”内存限制:3546435584位置{总线ID:1链接{ } } 化身:5695922347637991756 physical_device_desc:“设备:0,名称:GeForce GTX 970,pci 总线 ID:0000:01:00.0,计算能力:5.2”]
    • 我还使用 GPU-Z 软件检查了 GPU 的使用情况,用于监控 GPU 工作,我什至没有注意到很小的峰值或 VRAM 利用率。
    • 是的,输出是正确的,这表明你可以使用GPU,如果可能的话不确定是什么问题你可以粘贴你的代码,如果你仍然遇到同样的问题,也可以尝试使用google colab。
    • 现在我只使用 Jupyter Notebook object_detection_tutorial.ipynb 库中提供的示例代码。我只是想用它来检查进行检测需要多长时间,因为它对我的项目至关重要。当我在 5 秒内检测到 1 次时,我看到互联网上有些人报告说每秒检测到 10 次。
    • @Makintosz 啊!,您不是在训练,而是在使用预训练模型。看我的回答。我已经编辑了它,你不是在这里训练模型,所以不需要 GPU。如果我解决了您的问题,请接受答案。
    猜你喜欢
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 2018-05-11
    • 2021-10-05
    • 2018-05-07
    • 1970-01-01
    • 2012-02-25
    • 2013-12-28
    相关资源
    最近更新 更多