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?
基础教程推荐
- Kivy 使用 opencv.调整图像大小 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
