В pytorch, если я ничего не пишу об использовании CPU / GPU, и моя машина поддерживает CUDA (torch.cuda.is_available() == True):
torch.cuda.is_available() == True
torch.cuda.is_available() == False
Мой путь такой (ниже pytorch 0.4):
dtype = torch.cuda.float if torch.cuda.is_available() else torch.float torch.zeros(2, 2, dtype=dtype)
UPDATE pytorch 0.4:
device = torch.device("cuda" if use_cuda else "cpu") model = MyRNN().to(device)
from PyTorch 0.4.0 Руководство по миграции .
Вы должны написать свой код так, чтобы он использовал обработку графическим процессором, если torch.cuda.is_available == True.
Итак:
if torch.cuda.is_available(): model.cuda() else: # Do Nothing. Run as CPU.
PyTorch по умолчанию использует процессор, если только вы не используете методы .cuda() в своих моделях и torch.cuda.XTensor варианты тензоров PyTorch.
.cuda()
torch.cuda.XTensor