验证pytorch是否为GPU版本

简单来讲,torch.cuda.is_available()输出为True应该就是gpu版本的torch,但是有些情况下(算力不支持,etc.)就算torch是gpu版本也是用不了gpu进行推理反传的。

所以需要使用gpu验证一下,具体来讲执行如下代码:

import torch
torch.cuda.is_available()  ## 输出应该是True

t=torch.nn.Linear(3,3)
t.to("cuda:0")

input=torch.randn((3,3)).requires_grad_().to("cuda:0")
output=t(input)

loss=torch.sum(output)
torch.autograd.grad(loss,input,retain_graph=True)  ## 输出应该是一个gpu上的梯度矩阵
loss.backward()

上述代码输出正常,并且没有报错说明可以使用GPU推理反传梯度.

于此同时 (不要在命令行里退出上述python进程) 可以简单看一下nvidia-smi:
验证pytorch是否为GPU版本_第1张图片
发现有进程占用gpu,将刚才的python进程kill之后(退出命令行):
验证pytorch是否为GPU版本_第2张图片
验证完毕

你可能感兴趣的:(深度学习,nlp,nvidia,深度学习,pytorch)