错误描述:
在配置文件以及输出日志明确可以看到device=7,但程序仍跑在0号卡。
解决办法:
CUDA_VISIBLE_DEVICES=6,7 python train-seg.py #在python语句前加这句
相当于程序只看得见6,7号卡,自然不会用其他号卡了。但是需要注意此时卡的顺序需要改变的。
经过我的实验,发现,若以以上为准,指定device=1,那么程序将在6号卡运行,若CUDA_VISIBLE_DEVICES=5,6,7,此时指定device=1,程序将在5号卡运行,device=2,将在6号卡运行。
参考文章:为什么pytorch死活要用0号卡