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