1

我正在使用来自谷歌市场的谷歌深度学习 VM,我选择了 NvdiaK80 GPU。我正在尝试使用对象检测 API 训练对象检测模型。但是,我注意到 tensorflow 默认不使用 GPU(要检查的代码如下)

我在这里的假设是这个实例附带了所有必需的 NVIDIA 驱动程序,因此它不是驱动程序相关的问题。

进一步调查显示我安装了 2 个 Tensorflow(tensorflow 1.12.0 和 tensorflow-GPU 1.12.0)。所以我卸载了CPU版本。但是它仍然没有帮助。

我使用下面的代码来检查 tensorflow 是否正在使用 GPU

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

作为参考,我正在使用以下代码进行对象检测训练,该代码在深度学习 VM 上运行良好,但未使用 GPU。

python $Tensor_path/legacy/train.py --logtostderr -- 
train_dir=$Train_path/training/ -- 
pipeline_config_path=$Train_path/training/
ssd_inception_v2_pets.config

输出(我希望正在使用的 GPU 设备细节)

[name: "/cpu:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 18292259467280600161
]
4

1 回答 1

2

我可以通过删除旧实例并从新实例重新开始来解决这个问题。我的猜测是安装对象检测 API 时 tensorflow GPU 安装损坏了。按照此处的步骤安装https://cloud.google.com/solutions/creating-object-detection-application-tensorflow

这条线很可能是罪魁祸首

pip install --upgrade 
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.1.0-cp27-none- 
linux_x86_64.whl
于 2018-12-24T05:21:38.163 回答