如何检查Tensorflow是否使用GPU
在这篇文章中,我们将看到如何检查TensorFlow是否使用GUP。
GPU是深度学习的新标准。GPU有更多的逻辑核心,通过它们可以达到更高的并行化水平,与CPU相比,可以提供更好和更快的计算结果。在深度学习任务中,需要训练的参数数量可以达到数十亿。我们知道,在神经网络中,调整权重矩阵的操作,如矩阵乘法,是一个昂贵的操作,需要在CPU上完成。为了更快地执行这些操作,需要同时进行多项操作。GPU有更好的并行化支持,而且深度学习模型所需的内存也很庞大,可以适用于GPU。
你可能有一个GPU,但你的模型可能没有使用它。在这种情况下,训练将默认在CPU上完成。因此,有必要检查Tensorflow是否在运行它所提供的GPU。
如果你想知道TensorFlow是否在使用GPU加速,我们可以简单地使用以下命令来检查。
输出:
输出应该提到一个GPU。如果GPU可用,tf.keras模型将默认在单个GPU上运行。如果你想使用多个GPU,你可以使用一个分布策略。
一旦你得到这个输出,现在去终端输入nvidia-smi。nvidia-smi是一个命令行工具,旨在监控NVIDIA的GPU设备。nvidia-smi是基于Nvidia管理库(NVML)。输入后,会产生与此类似的东西。
该命令将返回一个由Tensorflow正在运行的GPU信息组成的表格。它包含了你所使用的GPU的类型,它的性能,内存的使用和它正在运行的不同进程的信息。要知道你的ML模型是否正在GPU上进行训练,只需记下你的模型的进程ID,并将其与给定表格的进程标签进行比较。如果模型是在GPU上运行的,那么在进程标签中就会提到模型的进程ID。
你也可以将设备日志设置为真,以了解你的操作和张量被分配到哪个设备。这将让你知道哪个GPU在执行你的操作并存储结果。
这应该返回” 在设备/job:localhost/replica:0/task:0/device:GPU:0中执行操作_EagerConst“
检查TensorFlow可用的设备
输出: