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

Mat*_* So 11 python gpu google-colaboratory

我有一个在 Google Colab 上运行的程序,我需要在它运行时监控 GPU 的使用情况。我知道您通常会nvidia-smi在命令行中使用来显示 GPU 使用情况,但由于 Colab 只允许一次运行一个单元格,因此这不是一种选择。目前,我使用GPUtil和监控GPU和显存的使用情况与GPUtil.getGPUs()[0].loadGPUtil.getGPUs()[0].memoryUsed,但我不能找到这些代码件在同一时间,我的代码的其余部分执行的方式,因此使用数字比实际应该要低得多是。有没有办法在其他代码运行时打印 GPU 使用情况?

Mat*_* So 15

用于wandb记录系统指标:

!pip install wandb
import wandb
wandb.init()
Run Code Online (Sandbox Code Playgroud)

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

  • 更清楚一点的解释。转到权重和偏差并创建您的帐户运行上述命令转到笔记本中的链接进行授权 - 复制 API 密钥将密钥粘贴到笔记本输入字段中然后您将找到一个链接 - 并查看您的模型 + 系统矩阵。 (5认同)

cli*_*est 13

如果您有 Colab Pro,可以打开位于左侧的终端,用黑色背景表示为“>_”。

即使某些单元正在运行,您也可以从那里运行命令

编写命令以实时查看 GPU 使用情况:

watch nvidia-smi

  • 它通常不可用,说:注册 Colab Pro 以访问终端功能 (5认同)
  • 是的,@stason,你是对的,抱歉我没有澄清这个条件,因为我还没有在 Colab Free 上测试过它 (2认同)

Vin*_*rma 10

更清楚一点的解释。

  1. 转到权重和偏差并创建您的帐户。
  2. 运行以下命令。
!pip install wandb
import wandb
wandb.init()
Run Code Online (Sandbox Code Playgroud)
  1. 转到笔记本中的链接进行授权 - 复制 API 密钥。
  2. 将密钥粘贴到笔记本输入字段中。
  3. 授权后,您将在笔记本中找到另一个链接 - 在那里查看您的型号 + 系统矩阵。


kHa*_*hit 5

您可以在后台运行脚本来跟踪 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
Run Code Online (Sandbox Code Playgroud)

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

%%bash --bg

bash gpu_usage.sh
Run Code Online (Sandbox Code Playgroud)

第 3 步:运行推理。

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

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