转载请注明出处:
PyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他GPU。
有如下两种方法来指定需要使用的GPU。
1. 类似tensorflow指定GPU的方式,使用CUDA_VISIBLE_DEVICES。
1.1 直接终端中设定:
CUDA_VISIBLE_DEVICES=1 python my_script.py
1.2 python代码中设定:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"
2. 使用函数 set_device
import torch
torch.cuda.set_device(id)
该函数见 pytorch-master\torch\cuda\__init__.py。
不过官方建议使用CUDA_VISIBLE_DEVICES,不建议使用 set_device 函数。
方法一:改变系统变量使得仅目标显卡可见
export CUDA_VISIBLE_DEVICES=0 #这里是要使用的GPU编号,正常的话是从0开始
然后再运行pyTorch即可
方法二:使用torch.cuda接口
#在生成网络对象之前:
torch.cuda.set_device(0)
方法三:使用多pytorch的并行GPU接口
net = torch.nn.DataParallel(model, device_ids=[0])
方法四:初始化模型时
net = Net.cuda(0)
---------------------
作者:夕何
来源:CSDN
原文:https://blog.csdn.net/u010698086/article/details/80346177
版权声明:本文为博主原创文章,转载请附上博文链接!