温馨提示×

Ubuntu系统如何监控PyTorch运行状态

小樊
58
2025-06-09 11:50:33
栏目: 智能运维

在Ubuntu系统中监控PyTorch运行状态,可以采用以下几种方法:

1. 使用nvidia-smi

如果你使用的是NVIDIA GPU进行训练,nvidia-smi是一个非常有用的工具。它可以显示GPU的使用情况、内存消耗、温度等信息。

watch -n 1 nvidia-smi 

这个命令会每秒刷新一次GPU的状态。

2. 使用htop

htop是一个交互式的进程查看器,可以显示CPU和内存的使用情况。

sudo apt-get install htop htop 

htop界面中,你可以看到所有正在运行的进程及其资源使用情况。

3. 使用top

top是另一个常用的进程查看器,可以显示CPU和内存的使用情况。

top 

top界面中,你可以看到所有正在运行的进程及其资源使用情况。

4. 使用psutil

psutil是一个跨平台的库,可以用来获取系统使用情况和进程信息。你可以在Python脚本中使用它来监控PyTorch进程。

首先,安装psutil

pip install psutil 

然后在你的Python脚本中添加以下代码:

import psutil import os def monitor_process(pid): process = psutil.Process(pid) while True: print(f"CPU Usage: {process.cpu_percent(interval=1.0)}%") print(f"Memory Usage: {process.memory_info().rss / 1024 ** 2} MB") print("-" * 40) if __name__ == "__main__": pid = os.getpid() # 获取当前脚本的PID monitor_process(pid) 

5. 使用TensorBoard

TensorBoard是TensorFlow的可视化工具,但也可以用来监控PyTorch的运行状态。你需要安装tensorboardtorch.utils.tensorboard

pip install tensorboard torch.utils.tensorboard 

然后在你的PyTorch脚本中添加以下代码:

from torch.utils.tensorboard import SummaryWriter writer = SummaryWriter('runs/experiment_1') for epoch in range(10): # 你的训练代码 writer.add_scalar('Loss/train', loss, epoch) writer.add_scalar('Accuracy/train', accuracy, epoch) writer.close() 

最后,启动TensorBoard:

tensorboard --logdir=runs 

在浏览器中打开http://localhost:6006,你可以看到训练过程中的各种指标。

6. 使用pytorch-metrics

pytorch-metrics是一个用于评估PyTorch模型的库,可以用来监控训练过程中的各种指标。

首先,安装pytorch-metrics

pip install pytorch-metrics 

然后在你的PyTorch脚本中使用它:

from pytorch_metrics import Accuracy accuracy = Accuracy() for epoch in range(10): # 你的训练代码 predictions = model(inputs) accuracy.update(predictions, targets) print(f"Epoch {epoch}: Accuracy: {accuracy.compute()}") 

通过这些方法,你可以在Ubuntu系统中有效地监控PyTorch的运行状态。

0