当前位置: 代码迷 >> 综合 >> caffe2,tensorflow,pytorch中指定固定显卡训练
  详细解决方案

caffe2,tensorflow,pytorch中指定固定显卡训练

热度:85   发布时间:2023-12-13 09:11:42.0

有一台服务器,服务器上有多块GPU可以供使用,此时只希望使用某几块GPU。
一般来说,深度学习的代码中只会指出GPU的数量,却没有指出使用哪几块,在初次接触的时候很是让人头疼,搜索都没有相关的解决办法。

解决方案:可以使用环境变量CUDA_VISIBLE_DEVICES来解决问题(让机器只可见某几块GPU,然后指定GPU数量)。

方法一:临时修改环境变量(随改随用,一次有效)

export CUDA_VISIBLE_DEVICES=0 (只可见0号显卡)
export CUDA_VISIBLE_DEVICES=0,2(只可见0,2号显卡)

方法二:永久修改环境变量
打开 .bashrc 文件,在里面添加环境变量

export CUDA_VISIBLE_DEVICES=1

然后

source .bashrc

即可

方法三:在代码里修改
可以在文件开头加入如下代码:

import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "1"       # 使用1号显卡

也可以制定使用某几块GPU

import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "0, 2"    

禁用GPU

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"