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