在CentOS上監控PyTorch運行狀態,可以采用以下幾種方法:
htop
或top
這些工具可以實時顯示系統資源的使用情況,包括CPU和內存。
sudo yum install htop
htop
nvidia-smi
如果你使用的是NVIDIA GPU,nvidia-smi
是一個非常有用的工具,它可以顯示GPU的使用情況、溫度、功耗等信息。
nvidia-smi
torch.cuda
APIPyTorch提供了torch.cuda
API來監控GPU的使用情況。你可以在代碼中添加一些打印語句來查看GPU的內存使用情況和計算負載。
import torch
# 檢查是否有可用的GPU
if torch.cuda.is_available():
device = torch.device("cuda")
print(f"Using GPU: {torch.cuda.get_device_name(0)}")
# 創建一個大的張量并將其移動到GPU
tensor = torch.randn(1000, 1000).to(device)
print(f"Memory allocated on GPU: {torch.cuda.memory_allocated(device) / (1024 ** 3):.2f} GB")
else:
print("No GPU available, using CPU instead.")
device = torch.device("cpu")
# 運行一些計算
result = tensor.matmul(tensor)
print(f"Memory used during computation: {torch.cuda.memory_allocated(device) / (1024 ** 3):.2f} GB")
TensorBoard
TensorBoard是TensorFlow的可視化工具,但也可以用于PyTorch。你可以使用torch.utils.tensorboard
模塊來記錄和查看訓練過程中的各種指標。
首先,安裝TensorBoard:
pip install tensorboard
然后在你的PyTorch代碼中添加以下內容:
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter('runs/experiment_1')
# 在訓練循環中記錄損失和其他指標
for epoch in range(num_epochs):
loss = train_model(...) # 你的訓練代碼
writer.add_scalar('Loss/train', loss, epoch)
writer.close()
最后,在終端中啟動TensorBoard:
tensorboard --logdir=runs
然后在瀏覽器中打開http://localhost:6006
即可查看TensorBoard界面。
psutil
psutil
是一個跨平臺的庫,用于訪問系統使用情況和進程信息。你可以在Python腳本中使用它來監控內存和CPU的使用情況。
首先,安裝psutil
:
pip install psutil
然后在你的代碼中添加以下內容:
import psutil
import os
process = psutil.Process(os.getpid())
print(f"Memory usage: {process.memory_info().rss / (1024 ** 2):.2f} MB")
print(f"CPU usage: {process.cpu_percent(interval=1.0):.2f}%")
通過這些方法,你可以在CentOS上有效地監控PyTorch的運行狀態。