torch.tensor GPU调用出错记录

 测试能否在一块GPU上生成tensor后移动到指定gpu上,按照某些博客上面操作后来出错,测试了很多次才找到原因。

os.environ["CUDA_VISIBLE_DEVICES"] = '0'
dev = torch.device('cuda',1)
#测试tensor
torch.set_default_tensor_type(torch.cuda.DoubleTensor)
c = torch.zeros([3,3])
c[0][0] = 0.25
print(c.device, c.dtype, sep='\n')
c = c.cuda(dev)
print(c.device, c.dtype, sep='\n')

 

 原来是代码中指定可见的GPU只有0号,如果调用1号,就会出现错误,将代码修改为即可。

os.environ["CUDA_VISIBLE_DEVICES"] = '0,1'

  

另外设置了默认tensor在GPU后,即使只让程序可见1号GPU,生成的并不指定设备的默认tensor仍然在0号GPU上。

os.environ["CUDA_VISIBLE_DEVICES"] = '1'
torch.set_default_tensor_type(torch.cuda.DoubleTensor)
c = torch.zeros([3,3])
c[0][0] = 0.25
print(c.device, c.dtype, sep='\n')

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值