【TensorFlow】训练网络时 指定gpu的使用率

当使用TensorFlow训练网络时,可能会遇到GPU显存不足的问题。可以通过指定GPU、动态申请内存和限定GPU使用率来优化。可以设置环境变量CUDA_VISIBLE_DEVICES选择GPU,或者直接在代码中指定。此外,还可以调整TensorFlow的行为,使其在GPU上按需分配内存,并限制GPU的使用率,确保训练过程的顺利进行。
摘要由CSDN通过智能技术生成

训练网络时,TensorFlow会占满gpu显存,在我的电脑上就是网络跑不起来,内存不够用,今天又遇到了这个情况,所以总结一下解决这个问题的方法。

用TensorFlow训练网络时对gpu的设置:

  1. 指定固定的gpu,我这里只有一个就不用进行这一步了。
  2. 在每个gpu上,让gpu动态申请内存,用多少申请多少。
  3. 直接限制gpu的使用率,自己设置数值

一、指定gpu

1、用环境变量指定

目前有0,1两个个GPU,找到空闲的GPU号,可以使用环境变量CUDA_VISIBLE_DEVICES:

环境变量的定义格式: 
CUDA_VISIBLE_DEVICES=1 
CUDA_VISIBLE_DEVICES=0,1 

运行时输入以下命令运行程序:使用空闲的GPU 0

$ CUDA_VISIBLE_DEVICES=0 python trian.py 


2、直接在代码中指定

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"

二、动态申请内存

config = tf.ConfigProto()  
config.gpu_options.allow_growth = True  
session = tf.Session(config=config) 

三、限定gpu使用率

gpu_options=tf.GPUOptions(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值