在Colab中运行代码时显示GPU使用情况

时间:2020-06-28 08:49:51

标签: python gpu google-colaboratory

我有一个在Google Colab上运行的程序,我需要在其中监视GPU的运行情况。我知道通常您会在命令行中使用nvidia-smi来显示GPU的使用情况,但是由于Colab一次只允许一次运行一个单元,所以这不是一种选择。目前,我正在使用GPUtil并通过GPUtil.getGPUs()[0].loadGPUtil.getGPUs()[0].memoryUsed监视GPU和VRAM的使用情况,但是我找不到与其余代码同时执行的方式我的代码,因此使用数量远低于实际数量。在其他代码运行时,是否可以打印出GPU使用情况?

4 个答案:

答案 0 :(得分:7)

使用wandb记录系统指标:

!pip install wandb
import wandb
wandb.init()

哪个输出URL,您可以在其中查看不同系统指标的各种图形。

答案 1 :(得分:1)

更清晰的解释。

  1. 权衡和偏见并创造 您的帐户。
  2. 运行以下命令。
!pip install wandb
import wandb
wandb.init()
  1. 转到笔记本中的链接以获取授权-复制API密钥。
  2. 将键粘贴到笔记本输入字段中。
  3. 授权后,您将在笔记本中找到另一个链接-在此处查看您的模型+系统矩阵。

答案 2 :(得分:1)

您可以在后台运行脚本来跟踪 GPU 使用情况。

第 1 步:创建文件以监控 jupyter 单元中的 GPU 使用情况。

%%writefile gpu_usage.sh
#! /bin/bash
#comment: run for 10 seconds, change it as per your use
end=$((SECONDS+10))

while [ $SECONDS -lt $end ]; do
    nvidia-smi --format=csv --query-gpu=power.draw,utilization.gpu,memory.used,memory.free,fan.speed,temperature.gpu >> gpu.log
    #comment: or use below command and comment above using #
    #nvidia-smi dmon -i 0 -s mu -d 1 -o TD >> gpu.log
done

第 2 步:在后台另一个单元格中执行上述脚本。

%%bash --bg

bash gpu_usage.sh

第 3 步:运行推理。

请注意,脚本会记录前 10 秒的 GPU 使用情况,请根据您的模型运行时间进行更改。

GPU 利用率结果将保存在 gpu.log 文件中。

答案 3 :(得分:0)

还有另一种查看gpu使用情况的方法,但此方法仅适用于查看内存使用情况。转到单击运行时-> 管理会话。这让您可以查看需要多少内存,以便您可以增加批量大小。