【深度学习高效小trick】使用指定的GPU(组)搞深度学习:CUDA_VISIBLE_DEVICES || os.environ[‘CUDA_VISIBLE_DEVICES‘]=‘1‘

目录

1. 命令讲解

2. 高效使用


大家使用的服务器中有多个GPU,而这个大服务器又在被很多人使用,比如你的课题组的同学。

为了资源合理分配,不占用别人正在使用的GPU,我们可以指定自己要使用的GPU组(也就是在你的代码中使用的某一个或某几个GPU),这样就很有效的避免了GPU的资源占用,实现资源的最大化,也不用因为占用特别大的GPU被课题组的“拉黑举报”了!HHH~~~

选择特定的GPU组运行程序可在程序运行命令前,如【train.py】开头部分使用如下命令:

CUDA_VISIBLE_DEVICES=0

0为服务器中的GPU编号,可以为0, 1, 2, 3等,表明对该程序LInux服务器可见的GPU编号。

1. 命令讲解

CUDA_VISIBLE_DEVICES=1     

【代码注释】我们设置服务器中只有编号为1的GPU组对程序是可见的。

在程序中,系统会对我们刚才设置的GPU组进行重新编号,从【0】开始。当我们在程序中【device】位置设置成【GPU 0】 ,那么,我们就会使用原服务器中的编号为1的GPU。

CUDA_VISIBLE_DEVICES=2,1,4 

【代码注释】我们设置服务器中只有编号为2、1、4三块GPU组成的GPU组对程序是可见的。

在程序中,系统会对我们刚才设置的GPU组进行重新编号,从【0】开始,一直到【2】结束。此时【0】对应的是原服务器中的编号为2的GPU,【1】对应的是原服务器中的编号为1的GPU,【2】对应的是原服务器中的编号为4的GPU。

当我们在程序中【device】位置设置成【GPU 1】,那么,我们就会使用原服务器中的编号为1的GPU。

【注意】系统给我们GPU组排列的顺序是从【0】开始,是对我们预先设置好的GPU组进行重排布。

2. 高效使用

临时使用代码设置:

【Linux端】CUDA_VISIBLE_DEVICES设置成你要使用GPU组

export CUDA_VISIBLE_DEVICES=1

【windows】 CUDA_VISIBLE_DEVICES设置成你要使用GPU组

set CUDA_VISIBLE_DEVICES=1

永久使用代码设置:

 【Linux端】

在~/.bashrc 的最后加上export CUDA_VISIBLE_DEVICES=1,然后source ~/.bashrc

【windows】 

打开【我的电脑】在环境变量设置的地方,直接添加就可以

 还有一种方法是在你的【train.py】文件里开头位置这代码

import os

下面加上下面的这句话:

os.environ['CUDA_VISIBLE_DEVICES']='1'

这句话的意思是,本次运行【train.py】文件使用的是第一块和第二块显卡,具体使用第几块就看自己的需求了。

最后的效果是这样的:

然后再次运行就可以了。


高效使用服务器的GPU的方法就到这结束了,欢迎关注蓝胖胖,咱们一起成长~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝胖胖▸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值