1、PyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他GPU。
有如下两种方法来指定需要使用的GPU。
- 类似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”
见网址:http://www.cnblogs.com/darkknightzh/p/6591923.html
- 使用函数 set_device
import torch
torch.cuda.set_device(id)
该函数见 pytorch-master\torch\cuda__init__.py。
不过官方建议使用CUDA_VISIBLE_DEVICES,不建议使用 set_device 函数。
By : https://blog.csdn.net/qq_34690929/article/details/79923648
2、如何使用特定显卡跑pyTorch
方法一:改变系统变量使得仅目标显卡可见
export CUDA_VISIBLE_DEVICES=0 #这里是要使用的GPU编号,正常的话是从0开始
1
然后再运行pyTorch即可
方法二:使用torch.cuda接口
#在生成网络对象之前:
torch.cuda.set_device(0)
1
2
方法三:使用多pytorch的并行GPU接口
net = torch.nn.DataParallel(model, device_ids=[0])
1
方法四:初始化模型时
net = Net.cuda(0)
---------------------
By:https://blog.csdn.net/u010698086/article/details/80346177