os.environ["CUDA_VISIBLE_DEVICES"]必须放import torch前面,不然不生效

现象

之前的时候,from architectures_utils.noise_gate import NoiseGate包含import torch,所以default=[0]和default=[1]都是用的第一张显卡。。。

parser.add_argument('--gpu',          default=[0], nargs='+',                  type=int, help='Gpu to use.')
from architectures_utils.noise_gate import NoiseGate
os.environ["CUDA_DEVICE_ORDER"]   ="PCI_BUS_ID"
# if not opt.use_data_parallel:
os.environ["CUDA_VISIBLE_DEVICES"]= str(opt.gpu[0]) # 只让程序看到这个卡

要改成import torch在os.environ["CUDA_VISIBLE_DEVICES"]后面

parser.add_argument('--gpu',          default=[0], nargs='+',                  type=int, help='Gpu to use.')
os.environ["CUDA_DEVICE_ORDER"]   ="PCI_BUS_ID"
# if not opt.use_data_parallel:
os.environ["CUDA_VISIBLE_DEVICES"]= str(opt.gpu[0]) # 只让程序看到这个卡
from architectures_utils.noise_gate import NoiseGate

解决

把os.environ["CUDA_VISIBLE_DEVICES"]放import torch前面即可

posted @ 2025-10-08 16:43  JaxonYe  阅读(9)  评论(0)    收藏  举报