为什么Google深度学习VM上的Tensorflow不使用GPU?

时间:2018-12-22 10:36:16

标签: tensorflow gpu google-dl-platform

我正在使用Google市场上的Google深度学习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
]

1 个答案:

答案 0 :(得分: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