在PyTorch中,你可以使用[torch.cuda.set_device(device)
来设置要使用的GPU。device
参数是你想要使用的GPU的索引号,例如,如果你有两个GPU,那么它们的索引号分别是0和1。
在你的代码中,你可以在加载模型到GPU之前,添加一行代码来设置要使用的GPU。例如,如果你想要在GPU-1上运行你的程序,你可以这样做:
import torch
import torchvision
# 设置要使用的GPU
torch.cuda.set_device(1)
# 加载预训练的Faster R-CNN模型
model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True)
model = model.cuda() # 将模型移动到GPU上
model.eval() # 设置模型为评估模式
# ...其余代码不变...
GPU的索引号是从0开始的,所以GPU-1实际上是第二个GPU。如果想要在第一个GPU上运行你的程序,应该使用torch.cuda.set_device(0)
。
此外,需要确保的所有CUDA张量也在同一个GPU上。在代码中,你在contains_face
函数中创建了一个CUDA张量。你应该确保这个张量在你选择的GPU上,可以通过在torch.cuda.set_device(1)
后面添加frame = frame.cuda()
来实现这一点。