PyTorch中查看GPU使用情况以及一些重要函数

文章介绍了如何查询服务器的CPU和GPU信息,包括CPU个数、型号以及使用nvidia-smi等命令检查GPU驱动、显卡型号和CUDA版本。在PyTorch中,通过torch.cuda相关函数可以查看和管理GPU,如检查GPU是否可用、获取设备数量和详细信息,并展示了如何设置CUDA_VISIBLE_DEVICES来指定使用特定GPU。
部署运行你感兴趣的模型镜像

简介

pytorch多卡相应内容学习总结,本着勤能补拙的态度,希望能够更好地提升自我能力。

1. 服务器信息查询

  1. CPU查询
# 查看CPU信息
cat /proc/cpuinfo | grep "physical id" | uniq | wc -l #查看CPU个数
cat /proc/cpuinfo | grep "cpu cores" | uniq #查看CPU核数
cat /proc/cpuinfo | grep 'model name' |uniq #查看CPU型号
  1. GPU查询
# 查看GPU信息
sudo dpkg --list | grep nvidia-* # 查看驱动版本
lshw -c video #查看显卡型号
$ lspci | grep -i nvidia # 可以查询所有nvidia显卡
$ lspci -v -s [显卡编号] # 可以查看显卡具体属性
$ nvidia-smi # 可以查看显卡的显存利用率
$ cat /etc/issue # 查看Linux发布版本号
$ lsb_release -a # 查看Linux发布版本号
$ uname -sr # 查看内核版本号
$ uname -a # 查看内核版本号

lspci是一种实用程序,用于在系统中显示有关pci总线的信息以及连接到它们的设备。

  1. CUDA版本
nvidia-smi # 右上角CUDA Version,但可能不准确,推荐使用下面命令
nvcc -V

在这里插入图片描述
nvcc -V查询为主

  1. 实时查看nvidia-smi
nvidia-smi -l 1 # 以每秒刷新一次进行信息,结果为1s一次输出nvidia-smi,不流畅,建议使用吓一条命令
watch -n 1 nvidia-smi # 会在同一位置处1s更新窗口信息

2. torch.cuda

  1. 显卡信息查看
torch.cuda.is_available() # 查看是否有可用GPU
torch.cuda.device_count() # 查看GPU数量
torch.cuda.get_device_capability(device) # 查看指定GPU容量
torch.cuda.get_device_name(device) # 查看指定GPU名称
torch.cuda.empty_cache() # 清空程序占用的GPU资源
torch.cuda.manual_seed(seed) # 设置随机种子
torch.cuda.manual_seed_all(seed) # 设置随机种子
torch.cuda.get_device_properties(i) # i为第几张卡,显示该卡的详细信息

平时在模型中可以增肌信息输出

s = f'MODEL 🚀 torch {torch.__version__} '
    n = torch.cuda.device_count()
    space = ' ' * (len(s)+1)
    for d in range(n):
        p = torch.cuda.get_device_properties(d)
        s += f"{'' if d == 0 else space}CUDA:{d} ({p.name}, {p.total_memory / 1024 ** 2}MB)\n"  # bytes to MB
    print(s)

效果
在这里插入图片描述

  1. 指定使用显卡
    通过os.environ["CUDA_VISIBLE_DEVICES"]指定所要使用的显卡:
import os
os.environ['CUDA_VISIBLE_DEVICES'] = "2,1,3,4"
print("torch.cuda.device_count() {}".format(torch.cuda.device_count()))

这种设置方式,2号卡就变成了主卡。CUDA_VISIBLE_DEVICES 表示当前可以被python环境程序检测到的显卡。os.environ["CUDA_VISIBLE_DEVICES"] = "2,1,3,4"进行指定使用设备,这样会修改pytorch感受的设备编号,pytorch感知的编号还是从device:0开始。如上会把2号显卡改为device:01号显卡改为device:1

如果有多个显卡,设置了os.environ["CUDA_VISIBLE_DEVICES"]后,其他没有设置的显卡将不会在本次代码中显示。os.environ["CUDA_VISIBLE_DEVICES"]需要设置在代码开头。

另外,使用终端也可以直接选择选择显卡,输入CUDA_VISIBLE_DEVICES=0 python train.py也可以

一些冷门知识补充(自取)

http://t.csdn.cn/mQH9y

您可能感兴趣的与本文相关的镜像

PyTorch 2.9

PyTorch 2.9

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting_1997

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值