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')