如果我没有指定使用CPU / GPU,我的脚本使用哪一个?

在pytorch中,如果我没有写任何关于使用CPU / GPU,我的机器支持CUDA(torch.cuda.is_available()== True):

>我的脚本使用的是什么,CPU或GPU?
>如果CPU,我该怎么做才能让它在GPU上运行?我需要重写一切吗?
>如果是GPU,如果torch.cuda.is_available()== False,这个脚本会崩溃吗?
>这有助于加快培训速度吗?
>我知道Porting PyTorch code from CPU to GPU,但这已经过时了.这种情况在v0.4或即将推出的v1.0中是否会发生变化?

最佳答案 我的方式是这样的(下面是pytorch 0.4):

dtype = torch.cuda.float if torch.cuda.is_available() else torch.float
torch.zeros(2, 2, dtype=dtype)

更新pytorch 0.4:

device = torch.device("cuda" if use_cuda else "cpu")
model = MyRNN().to(device)

PyTorch 0.4.0 Migration Guide.

点赞