解释:就是使用os.environ["CUDA_VISIBLE_DEVICES"] = "1"后,后面使用起来仍然是cuda0.
解决:在最开头就使用
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0,2"
# xxxxxx其它代码
不过需要注意的是,这样设置之后,GPU的编号会变
解释:torch.device("cuda:0")所选择的GPU跟nvidia-smi中的GPU编号不一样
解决:指定编号方式
import os
os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID"
# xxxxxx其它代码