torch的一些初始化仍然要用第0块显卡,在代码中使用.cuda('cuda:1')
或者to.device('cuda:1')
时,torch仍然会用第0块显卡来初始化。
解决方法:
(1)该方法要在import torch
之前,更新版本也可能发生变化
import os
os.environ['CUDA_VISIBLE_DEVICES'] = gpu_ids
(2) 在命令行中执行代码时指定
CUDA_VISIBLE_DEVICES=gpu_ids python3 train.py
说实话以上方法不一定哪一个有用。