假如我有四张GPU,编号是0,1,2,3
import torch
import os
# 此为默认顺序,主卡默认为0
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1,2,3"
# 将第三张GPU设为主卡
os.environ["CUDA_VISIBLE_DEVICES"] = "2,0,1,3"
#更换主卡必须在调用显卡之前使用
#如果第一张GPU被占用了
os.environ["CUDA_VISIBLE_DEVICES"] = "1,2,3"
# 定义你的模型
model = YourModel()
# 如果你也有多个GPU可用,将模型放到DataParallel中
if torch.cuda.device_count() > 1:
device_ids = [0,1,2] #
model = nn.DataParallel(model, device_ids=device_ids).cuda()
# 将数据也放到GPU上
input_data = input_data.cuda()
# 在GPU上进行训练
output = model(input_data)