美文网首页
解决:CUDA_ERROR_OUT_OF_MEMORY 问题

解决:CUDA_ERROR_OUT_OF_MEMORY 问题

作者: 胜负55开 | 来源:发表于2019-11-27 18:45 被阅读0次

前言:在用Keras或直接Tensorflow训练大型网络时,经常会报如题目中"显存不足"不足的错误。其实绝大多数情况:只是tensorflow一个人把所有的显存都先给占了(程序默认的),导致其他需要显存的程序部分报错!

完整的处理很简单,可分下面简单的3步:

  • 先用:nvidia-smi 查看当前服务器上有哪些空闲着的显卡,我们就把网络的训练任务限定在这些显卡上;(只有看GPU Fan的"显卡编号"即可)
  • 在程序中设定要使用的GPU显卡(编号即可);
  • 修改Keras的后端:把Tensorflow关于"贪婪占内存"的默认给改掉。

其实操作很简单,看下面的例子即可:假定直接用的Keras

import os   # 设置程序所使用的显卡(编号)
import tensorflow as tf
import keras
import keras.backend.tensorflow_backend as KTF   # 修改Tensorflow的后端

# 设置程序使用的GPU编号:我用6号和7号显卡
os.environ['CUDA_VISIBLE_DEVICES'] = '6,7'

# 修改Keras的后端:Tensorflow中的一些"不好的"默认设置:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True  # 按需使用显存,而不是一次性先全占着!
config.gpu_options.per_process_gpu_memory_fraction = 0.7   # 最大显存占用率70%
config.allow_soft_placement = True  # 可以自带选择当前可用的GPU设备:6或7都能用;
config.log_device_placement = False  # 程序运行中的各种打印,是否顺便显示出于哪台设备?—— 一般不用 

sess = tf.Session(config=config)
KTF.set_session( sess )  # 设置Tensorflow的Session,同时也就设置好了Keras!

# -------------------- 下面就正常的模型搭建、编译、训练 -------------------- #
model.add( layers.xx ) ....

model.compile() ....

model.fit() ...

另外,有时batch_size的大小也会导致显存问题!一般不要太大,也不要太小。

相关文章

  • 解决:CUDA_ERROR_OUT_OF_MEMORY 问题

    前言:在用Keras或直接Tensorflow训练大型网络时,经常会报如题目中"显存不足"不足的错误。其实绝大多数...

  • Chapter -12 Exercise(1-7)

    如果在启动TensorFlow程序时获得CUDA_ERROR_OUT_OF_MEMORY,可能会发生什么? 你能为...

  • 报错集锦

    问题一: 解决: 问题二: 解决: 问题三: 解决: 问题四: 解决: 问题五: 解决:

  • 解决 问题 解决

    你解决一个问题,就像当于解决无数个问题。听到这句话的时候我已经毕业了。回想之前的学习经历,一张试卷,碰到难题就放那...

  • 自言自语——疯言疯语

    遇到问题,解决问题,短期解决的问题,长期解决的问题,眼前的问题,未来的问题,暂时可以解决的问题,暂时来看可以解决的...

  • Android Studio 中的小Bug(持续更新)

    问题1 解决办法 问题2 解决办法 问题3 解决办法 问题4 解决问题办法

  • 忙起来

    忙碌,能解决很多问题 解决你胡思乱想的问题 解决你彷徨迷茫的问题 解决你痴心妄想的问题 解决你自卑弱小的问题 解决...

  • 《慧杰语录》——每日必读

    劳动,解决吃饭的问题。 工作,解决生存的问题。 能力,解决存在的问题。 素质,解决关系的问题。 奋斗,解决态度的问...

  • PythonCookBook 读书笔记2-数字,日期,时间

    1 问题 解决方案 讨论 2 问题 解决方案 讨论 3 问题 解决方案 讨论 4 问题 解决方案 讨论 5 问题 ...

  • 解决问题的四种境界

    解决问题 找到根本原因解决问题 提炼并解决一类问题 教别人解决问题

网友评论

      本文标题:解决:CUDA_ERROR_OUT_OF_MEMORY 问题

      本文链接:https://www.haomeiwen.com/subject/klkmwctx.html