针对pytorch的代码,可以使用以下代码进行指定运行在哪张显卡上。
可以从后面输出一个矩阵的cuda看出调用的是哪张卡。
import torch
# 设置torch的调用显卡(有效)
torch.cuda.set_device(1)
# 输出当前卡的信息
A=torch.arange(12,dtype=torch.float32)
B=A.cuda()
print(B.device)
print("A=\n",A)
以上方法,实际验证,针对pytorch有效。其他设置指定显卡的方法,仅供参考,可能其他地方有效。
import torch
import os
print(torch.cuda.get_device_name(0)) # 查看使用的设备名称
torch.cuda.is_available() # 验证cuda是否正常安装并能够使用
ng = torch.cuda.device_count() # 查看有几张卡
print("Devices:%d" %ng)
# 设置使用哪张卡
# os.environ["CUDA_VISIBLE_DEVICES"] = '0,1' #使用多块显卡
os.environ["CUDA_VISIBLE_DEVICES"] = '1,' #只使用编号为0的显卡
# 输出每张卡的信息
infos = [torch.cuda.get_device_properties(i) for i in range(ng)]
print(infos)
# 输出当前卡的信息
A=torch.arange(12,dtype=torch.float32)
B=A.cuda()
print(B.device)
print("A=\n",A)