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

标签 python pytorch

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

  1. 我的脚本使用什么,CPU 还是 GPU?
  2. 如果是 CPU,我应该怎么做才能让它在 GPU 上运行?我需要重写所有内容吗?
  3. 如果是 GPU,如果 torch.cuda.is_available() == False 脚本会崩溃吗?
  4. 这是否有助于加快训练速度?
  5. 我知道 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 .

关于python - 如果我没有指定使用 CPU/GPU,我的脚本使用的是哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50495053/

相关文章:

python - Pandas:将函数应用于每对列

machine-learning - 如何解决 pytorch 中的 ' CUDA out of memory. Tried to allocate xxx MiB'?

pytorch - 为什么我收到错误 : "Boolean value of Tensor with more than one value is ambiguous"

python - 使用聚合值、多列解析 CSV 文件

python - 计算 scipy 稀疏矩阵的稀疏传递闭包

python - 如何在python中将字符串放在文件的前面

python - 使用 Python 进行网页抓取,出现 HTTP 错误 404 : Not Found

pytorch - 训练 DNN 时如何监控 GPU 内存使用情况?

python - 如何使用 Poetry 指定特定于平台的依赖关系?

tensorflow - softmax_cross_entropy_with_logits 的 PyTorch 等价