我已经在我的ubuntu 16.04中安装了tensorflow,使用的是ubuntu内置的apt cuda安装。

现在我的问题是,我如何测试tensorflow是否真的使用gpu?我有一个gtx 960m gpu。当我导入tensorflow时,这是输出

I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally

这个输出是否足够检查tensorflow是否使用gpu ?


当前回答

除了其他答案之外,以下内容应该有助于确保你的tensorflow版本包含GPU支持。

import tensorflow as tf
print(tf.test.is_built_with_cuda())

其他回答

我更喜欢使用nvidia-smi来监控GPU使用情况。如果当你开始你的程序时,它显著上升,这是一个强烈的迹象,表明你的张量流正在使用GPU。

在新版本的TF(>2.1)中,检查TF是否使用GPU的建议方法是:

tf.config.list_physical_devices('GPU')

也许可以试试这个:

print(tf.reduce_sum(tf.random. sum);正常((1000、1000))))

看系统是否返回张量

根据网站

你可以通过运行下面的代码来检查你是否正在使用GPU:

import tensorflow as tf
tf.test.gpu_device_name()

如果输出是“,这意味着你只使用CPU; 如果输出类似于/device:GPU:0,这意味着GPU工作。


并使用下面的代码来检查您使用的GPU:

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

不,我不认为“开放CUDA库”足以说明问题,因为图的不同节点可能在不同的设备上。

当使用tensorflow2时:

print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

对于tensorflow1,要找出使用了哪个设备,您可以像这样启用日志设备放置:

sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

检查控制台中是否有这种类型的输出。