1.查看Pytorch的相关信息
1.1 激活虚拟环境
conda activate xxx
1.2 查看pytorch版本
import torch
print(torch.__version__) #注意是双下划线
1.3 查看可用GPU数量
print(torch.cuda.device_count())
2.终端查看GPU状态
2.1 查看当前GPU的状态
nvidia-smi
2.2 实时监控GPU状态
watch -n 1 nvidia-smi
3.查看其他组件信息
3.1 torchvision版本
import torchvision
print(torchvision.__version__)
3.2 查看cuda版本
import torch
print(torch.version.cuda)
3.3 查看cudnn版本
cudnn是英伟达(NVIDIA)推出的用于深度学习的加速库,全称为"CuDNN",即"CUDA Deep Neural Network Library"。它是基于CUDA架构的深度学习加速库,提供了一系列优化的算法和函数,用于加速卷积神经网络(CNN)等深度学习任务的计算过程。通过使用cudnn,可以在支持NVIDIA GPU的系统上加速深度学习模型的训练和推断,从而显著提高模型的计算效率和性能。这使得深度学习研究人员和开发者能够更快速地实现和训练复杂的神经网络模型。
import torch
print(torch.backends.cudnn.version())
3.4 查看cuda的可用性
import torch
print(torch.duda.is_available())
3.5 查看cudnn的可用性
a = torch.tensor(1.)
print(a.cuda()) # 正常返回 tensor(1., device='cuda:0') 交给GPU处理
from torch.backends import cudnn
print(cudnn.is_available()) # True
print(cudnn.is_acceptable(a.cuda())) # True
3.6 查看GPU算力
import torch
# 参数指定查看的GPU编号
# 返回一个二元组 <主要版本,次要版本>
print(torch.cuda.get_device_capability(0))
4.其他Pytorch操作
4.1 CPU到GPU的计算转移
(1) tensor.to()
注意的是,
tensor.to()方法不会修改原始的张量,而是返回一个新的张量,因此你需要将返回的张量赋值给一个新的变量。同时,如果目标设备和数据类型与原始张量相同,tensor.to()方法可能会返回原始张量的引用,而不是创建一个新的张量。
import torch
a = torch.ones(3, 5)
b = a.to(device="cuda")
print(a, "\n", b)
output:
tensor([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
tensor([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]], device='cuda:0')
(2) tensor.cuda()
a = torch.tensor([1., 2.]).cuda()
(3) tensor.type()
dtype = torch.cuda.FloatTensor
x = torch.rand(2,2).type(dtype)
(4) torch.from_numpy(np_labels).cuda()
先将numpy中的数据格式转换为tensor,然后转换
import torch
import numpy as np
b = np.ones(2)
a = torch.from_numpy(b).cuda()
print(a)