首页 > 解决方案 > 对象检测速度慢且不使用 GPU

问题描述

我需要使用 Tensorflow 对象检测 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 Tensorflow:1.12、1.14 GPU:GTX 970

标签: python-3.xtensorflowimage-recognitionobject-detection-api

解决方案


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

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

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

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

编辑:在与 OP 讨论评论后,我看到了建议的代码,它使用的是预训练模型,所以这里没有进行任何训练。您正在使用模型而不是训练新模型。所以没有使用gpu。


推荐阅读