python-3.x - 对象检测速度慢且不使用 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代码,如果它检测到GPU,那么你可以使用GPU进行训练,否则会出现一些问题,
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
还有一件事,仅仅因为你的 CPU 正在使用并不意味着 GPU 不在工作。CPU 总是很忙,GPU 也应该在训练时出现峰值。
如果您不确定输出,请将上述代码的输出粘贴到注释中。
编辑:在与 OP 讨论评论后,我看到了建议的代码,它使用的是预训练模型,所以这里没有进行任何训练。您正在使用模型而不是训练新模型。所以没有使用gpu。