如何检查Tensorflow是否使用GPU

如何检查Tensorflow是否使用GPU

在这篇文章中,我们将看到如何检查TensorFlow是否使用GUP。

GPU是深度学习的新标准。GPU有更多的逻辑核心,通过它们可以达到更高的并行化水平,与CPU相比,可以提供更好和更快的计算结果。在深度学习任务中,需要训练的参数数量可以达到数十亿。我们知道,在神经网络中,调整权重矩阵的操作,如矩阵乘法,是一个昂贵的操作,需要在CPU上完成。为了更快地执行这些操作,需要同时进行多项操作。GPU有更好的并行化支持,而且深度学习模型所需的内存也很庞大,可以适用于GPU。

你可能有一个GPU,但你的模型可能没有使用它。在这种情况下,训练将默认在CPU上完成。因此,有必要检查Tensorflow是否在运行它所提供的GPU。

如果你想知道TensorFlow是否在使用GPU加速,我们可以简单地使用以下命令来检查。

import tensorflow as tf
tf.config.list_physical_devices('GPU')

输出:

如何检查Tensorflow是否使用GPU

输出应该提到一个GPU。如果GPU可用,tf.keras模型将默认在单个GPU上运行。如果你想使用多个GPU,你可以使用一个分布策略。

一旦你得到这个输出,现在去终端输入nvidia-smi。nvidia-smi是一个命令行工具,旨在监控NVIDIA的GPU设备。nvidia-smi是基于Nvidia管理库(NVML)。输入后,会产生与此类似的东西。

nvidia-smi

如何检查Tensorflow是否使用GPU

该命令将返回一个由Tensorflow正在运行的GPU信息组成的表格。它包含了你所使用的GPU的类型,它的性能,内存的使用和它正在运行的不同进程的信息。要知道你的ML模型是否正在GPU上进行训练,只需记下你的模型的进程ID,并将其与给定表格的进程标签进行比较。如果模型是在GPU上运行的,那么在进程标签中就会提到模型的进程ID。

你也可以将设备日志设置为真,以了解你的操作和张量被分配到哪个设备。这将让你知道哪个GPU在执行你的操作并存储结果。

tf.debugging.set_log_device_placement(True)

这应该返回” 在设备/job:localhost/replica:0/task:0/device:GPU:0中执行操作_EagerConst“

检查TensorFlow可用的设备

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

输出:

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 13414683734401945856
xla_global_id: -1
]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程