在人工智能的学习当中训练模型是必不可缺的一个环节,而在GPU上训练模型通常要比在CPU上训练快40~50倍,并且GPU算力资源的成本较高,所以我们要确认高价买来的GPU资源是否被有效的利用。下面我们将介绍几种检测GPU资源是否被利用的方法。
(1)使用命令行工具
nvidia-smi是NVIDIA显卡自带的管理工具,可以查看GPU的显存、温度、功耗、利用率等信息。
首先输入nvidia-smi命令查看未训练模型时的GPU状态。
然后开始训练模型。
训练一段时间后继续输入nvidia-smi命令查看GPU状态,这里可以看到GPU的温度以及功耗相较于未训练模型时有显著提高。
再对比GPU的进程我们发现最下方多出了一个Python进程。
通过以上步骤我们可以得知GPU资源是已被利用的状态,需要注意的是必须安装NIVDIA显卡相对应的驱动否则将无法使用。还有一些工具可以进行相关操作例如,nvtop、nvitop。
(2)利用PyTorch自带的框架检测
通过以下命令可以判断是否有可用的CUDA设备。
下面是在无可用CUDA设备的运行结果。
如果存在可用的CUDA设备可通过以下命令来获取GPU的数量。
同时可以查看到所对应的GPU名称。
通过以上操作可以获取到PyTorch程序是否可以在GPU上运行,需要注意的是在安装PyTorch时需安装相对应的CUDA版本,否则PyTorch程序是不可以在GPU上运行的。
如果不使用PyTorch框架则还可以通过TensorFlow框架来检测。
因为所使用的设备无GPU,所以输出为空列表。
(3)通过专业的监控软件
使用例如,MSI AfterBurner、HWiNFO等专业的监控工具可以显示实时的GPU指标。
(4)通过操作系统的任务管理器
通过系统自带的任务管理器可以查看到当前状态下的GPU指标,操作过程同方案一类似产看训练模型前后的GPU状态进行对比。