pytorch 在cpu的变量转到GPU的方法

tensor数据的cuda方法返回变量值的device为cuda,并不会直接移动当前变量到GPU。

举例:

B = A.cuda()

其中A为CPU变量,那么执行上面语句后,A依旧在CPU上,创建的新的数据B是A在GPU上面的拷贝,当然单独执行A.cuda(),A也依旧在CPU上面。

import torch
 
A = torch.empty(4,1,2,2)
 
print(A.device)
 
print(A)
 
print(A.cuda().device)
 
print(A.cuda())
 
# A.cuda()
A = A.cuda()
print(A.device)
# A = A.to('cuda:0')