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

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

服务器GPU状态查询

  • 查看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型号
  • 查看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总线的信息以及连接到它们的设备。

  • 查看显卡型号:
lspci | grep -i nvidia #得到NVIDIA显卡的信息

  输出信息完全看不出来是什么显卡,但是可以看到有一个1db5

  在http://pci-ids.ucw.cz/read/PC/10de/1db5网址中输入1db5能够查看到显卡型号:

  • watch命令实时查看:

  如果想要实时查看显卡信息,可以组合watch命令:

$ watch -n 1 nvidia-smi

  1表示每隔1秒,nvidia-smi表示查看显卡。watch这个命令是一个非常强大的命令,后面可以不接nvidia-smi这个查看显卡显存利用率相关信息的命令。

torch.cuda主要函数

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) # 设置随机种子

指定显卡

  通过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

  上述对GPU的设置一定要放在所有调用CUDA的代码之前,否者会不生效。torch.cuda.device_count()用于查看可用GPU的数量。

  通过os.environ["CUDA_VISIBLE_DEVICES"]设置系统变量后,可能会使torch.cuda.device_count()结果不准确。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
1月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(五):nn.AdaptiveAvgPool2d()函数详解
PyTorch中的`nn.AdaptiveAvgPool2d()`函数用于实现自适应平均池化,能够将输入特征图调整到指定的输出尺寸,而不需要手动计算池化核大小和步长。
109 1
Pytorch学习笔记(五):nn.AdaptiveAvgPool2d()函数详解
|
1月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(六):view()和nn.Linear()函数详解
这篇博客文章详细介绍了PyTorch中的`view()`和`nn.Linear()`函数,包括它们的语法格式、参数解释和具体代码示例。`view()`函数用于调整张量的形状,而`nn.Linear()`则作为全连接层,用于固定输出通道数。
82 0
Pytorch学习笔记(六):view()和nn.Linear()函数详解
|
1月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(四):nn.MaxPool2d()函数详解
这篇博客文章详细介绍了PyTorch中的nn.MaxPool2d()函数,包括其语法格式、参数解释和具体代码示例,旨在指导读者理解和使用这个二维最大池化函数。
118 0
Pytorch学习笔记(四):nn.MaxPool2d()函数详解
|
1月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(三):nn.BatchNorm2d()函数详解
本文介绍了PyTorch中的BatchNorm2d模块,它用于卷积层后的数据归一化处理,以稳定网络性能,并讨论了其参数如num_features、eps和momentum,以及affine参数对权重和偏置的影响。
148 0
Pytorch学习笔记(三):nn.BatchNorm2d()函数详解
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
Pytorch学习笔记(二):nn.Conv2d()函数详解
这篇文章是关于PyTorch中nn.Conv2d函数的详解,包括其函数语法、参数解释、具体代码示例以及与其他维度卷积函数的区别。
134 0
Pytorch学习笔记(二):nn.Conv2d()函数详解
|
1月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
386 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch学习笔记(八):nn.ModuleList和nn.Sequential函数详解
PyTorch中的nn.ModuleList和nn.Sequential函数,包括它们的语法格式、参数解释和具体代码示例,展示了如何使用这些函数来构建和管理神经网络模型。
79 1
|
3月前
|
机器学习/深度学习 人工智能 PyTorch
掌握 PyTorch 张量乘法:八个关键函数与应用场景对比解析
PyTorch提供了几种张量乘法的方法,每种方法都是不同的,并且有不同的应用。我们来详细介绍每个方法,并且详细解释这些函数有什么区别:
64 4
掌握 PyTorch 张量乘法:八个关键函数与应用场景对比解析
|
3月前
|
机器学习/深度学习 PyTorch 数据处理
PyTorch数据处理:torch.utils.data模块的7个核心函数详解
在机器学习和深度学习项目中,数据处理是至关重要的一环。PyTorch作为一个强大的深度学习框架,提供了多种灵活且高效的数据处理工具
34 1
|
3月前
|
Serverless API 异构计算
函数计算产品使用问题之gpu实例函数该如何创建
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。