Tensorflow:如何实时监控模型培训期间的GPU性能?

Gho*_*der 9 performance gpu tensorflow

我是Ubuntu和GPU的新手,最近在我们的实验室中使用了带有Ubuntu 16.04和4个NVIDIA 1080ti GPU的新PC.该机器还配备了i7 16核心处理器.

我有一些基本问题:

  1. 为GPU安装了Tensorflow.那么我认为它会自动优先考虑GPU的使用情况?如果是这样,它是否一起使用全部4或者是否使用1然后在需要时再招募另一个?

  2. 我可以在模型训练期间实时监控GPU使用/活动吗?

我完全理解这是基本的硬件,但对这些具体问题的明确答案将是很好的.

编辑:

根据这个输出 - 这真的说我的每个GPU上的几乎所有内存都被使用了吗?

在此输入图像描述

Ish*_*nal 12

  1. Tensorflow自动不使用所有GPU,它只使用一个GPU,特别是第一个GPU /gpu:0

    您必须编写多个gpus代码才能使用所有可用的gpus.cifar mutli-gpu的例子

  2. 每0.1秒检查一次使用情况

    watch -n0.1 nvidia-smi


sin*_*ium 6

尝试这个命令:

nvidia-smi --query-gpu=utilization.gpu --format=csv --loop=1
Run Code Online (Sandbox Code Playgroud)

这是一个演示:

在此输入图像描述


Zst*_*ack 6

我建议使用nvtop,它显示实时状态并且比 nvidia-smi 更容易观看。它还显示在图表中。

$ sudo apt install nvtop
$ nvtop
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 我很喜欢这个,非常有用。 (3认同)