How to run PyTorch on GPU by default?(如何默认在 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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何默认在 GPU 上运行 PyTorch?
基础教程推荐
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
