tensorflow显卡配置

问题描述

当多个调用tensorflow的程序同时运行时,经常会出现显存空间不够的报错。

如下图,此时在cmd(win)/termial(ubuntu)调用:

nvidia-smi

查看静态(当时)的显卡情况:可以看到下面显示八个GPU,每个GPU的内存都将近占满,但是仅仅第一个GPU在使用(使用率92%)。

或者输入一下命令动态刷新(每1s刷新一次)GPU情况:

watch -n 1 nvidia-smi

内存不足的原因:当你的程序调用tensorflow后且未指定GPU,tensorflow会自动默认占用全部GPU的内存,但仅仅使用部分。

PS,八块K80显卡,20w的硬件~~~~

 解决办法:

1. 指定固定的GPU:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = '0'   #指定第一块GPU可用 '-1'代表CPU,'1,2,3'代表第2-4块卡。

2.如下配置

config = tf.ConfigProto()
config.gpu_options.allow_growth = True      #程序按需申请内存
sess = tf.Session(config = config)
#当allow_growth设置为True时,分配器将不会指定所有的GPU内存,而是根据需求增长

3.在执行训练脚本前使用:

export CUDA_VISIBLE_DEVICES=1
#来限制可见的GPU数目
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值