一般常见的指定GPU的方式有两种:
1、终端命令:
CUDA_VISIBLE_DEVICES=1,2,3 python3 test.py
2、程序引用:
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '1,2,3'
针对第二种方法,当模型分为几个文件时,只需要在主文件中设置一处即可,多余的设置会出现问题。例如,在A.py中配置了os.environ['CUDA_VISIBLE_DEVICES'] = '0'
又在main.py中配置了os.environ['CUDA_VISIBLE_DEVICES'] = '1,2'
那么pytorch会一直在GPU0上运行,从而导致无法指定GPU的问题。
目前,在新版本的pytorch中以上两个方法均可正确实施。