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()结果不准确。

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
20天前
|
人工智能 并行计算 PyTorch
【PyTorch&TensorBoard实战】GPU与CPU的计算速度对比(附代码)
【PyTorch&TensorBoard实战】GPU与CPU的计算速度对比(附代码)
77 0
|
20天前
|
机器学习/深度学习 存储 PyTorch
【AMP实操】解放你的GPU运行内存!在pytorch中使用自动混合精度训练
【AMP实操】解放你的GPU运行内存!在pytorch中使用自动混合精度训练
84 0
|
20天前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch基础之网络模块torch.nn中函数和模板类的使用详解(附源码)
PyTorch基础之网络模块torch.nn中函数和模板类的使用详解(附源码)
85 0
|
20天前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch基础之激活函数模块中Sigmoid、Tanh、ReLU、LeakyReLU函数讲解(附源码)
PyTorch基础之激活函数模块中Sigmoid、Tanh、ReLU、LeakyReLU函数讲解(附源码)
93 0
|
20天前
|
机器学习/深度学习 并行计算 算法框架/工具
Anaconda+Cuda+Cudnn+Pytorch(GPU版)+Pycharm+Win11深度学习环境配置
Anaconda+Cuda+Cudnn+Pytorch(GPU版)+Pycharm+Win11深度学习环境配置
196 3
|
7月前
|
并行计算 Ubuntu PyTorch
Xshell远程连接配置 Ubuntu 18.04.6 + Anaconda + CUDA + Cudnn + Pytorch(GPU+CPU)(上)
Xshell远程连接配置 Ubuntu 18.04.6 + Anaconda + CUDA + Cudnn + Pytorch(GPU+CPU)
172 0
|
20天前
|
机器学习/深度学习 并行计算 PyTorch
【多GPU炼丹-绝对有用】PyTorch多GPU并行训练:深度解析与实战代码指南
本文介绍了PyTorch中利用多GPU进行深度学习的三种策略:数据并行、模型并行和两者结合。通过`DataParallel`实现数据拆分、模型不拆分,将数据批次在不同GPU上处理;数据不拆分、模型拆分则将模型组件分配到不同GPU,适用于复杂模型;数据和模型都拆分,适合大型模型,使用`DistributedDataParallel`结合`torch.distributed`进行分布式训练。代码示例展示了如何在实践中应用这些策略。
372 2
【多GPU炼丹-绝对有用】PyTorch多GPU并行训练:深度解析与实战代码指南
|
20天前
|
机器学习/深度学习 算法 大数据
基于PyTorch对凸函数采用SGD算法优化实例(附源码)
基于PyTorch对凸函数采用SGD算法优化实例(附源码)
42 3
|
20天前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch, 16个超强转换函数总结 ! !
PyTorch, 16个超强转换函数总结 ! !
38 1
|
7月前
|
并行计算 Ubuntu PyTorch
Xshell远程连接配置 Ubuntu 18.04.6 + Anaconda + CUDA + Cudnn + Pytorch(GPU+CPU)(下)
Xshell远程连接配置 Ubuntu 18.04.6 + Anaconda + CUDA + Cudnn + Pytorch(GPU+CPU)
140 0