如何默认在 GPU 上运行 PyTorch? [英] How to run PyTorch on GPU by default?

查看:25
本文介绍了如何默认在 GPU 上运行 PyTorch?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用 cuda 运行 PyTorch.我为所有张量设置了 model.cuda()torch.cuda.LongTensor().

I want to run PyTorch using cuda. I set model.cuda() and torch.cuda.LongTensor() for all tensors.

如果我使用了 model.cuda(),我是否必须明确地使用 .cuda 创建张量?

Do I have to create tensors using .cuda explicitly if I have used model.cuda()?

有没有办法让所有计算默认在 GPU 上运行?

Is there a way to make all computations run on GPU by default?

推荐答案

我认为您不能指定默认情况下要使用 cuda 张量.但是,您应该查看 pytorch 官方示例.

I do not think you can specify that you want to use cuda tensors by default. However you should have a look to the pytorch offical examples.

在 imagenet 训练/测试脚本中,他们在名为 DataParallel.这个包装器有两个优点:

In the imagenet training/testing script, they use a wrapper over the model called DataParallel. This wrapper has two advantages:

  • 它处理多个 GPU 上的数据并行性
  • 它处理将 cpu 张量转换为 cuda 张量

正如您在 L164 中所见,您不必手动将输入/目标投射到 cuda.

As you can see in L164, you don't have to cast manually your inputs/targets to cuda.

请注意,如果您有多个 GPU 并且您想使用单个 GPU,请启动任何带有 CUDA_VISIBLE_DEVICES 前缀的 python/pytorch 脚本.例如CUDA_VISIBLE_DEVICES=0 python main.py.

Note that, if you have multiple GPUs and you want to use a single one, launch any python/pytorch scripts with the CUDA_VISIBLE_DEVICES prefix. For instance CUDA_VISIBLE_DEVICES=0 python main.py.

这篇关于如何默认在 GPU 上运行 PyTorch?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆