深度学习Tensorflow: CUDA_ERROR_OUT_OF_MEMORY解决办法

目前在用深度学习训练,训练中设置batch size后可以正常跑通,但是在训练一轮save_model时,总出现这个错误,即使我调batch size到1也依旧会报错。

发现是在 调用logger时出现问题。深度学习Tensorflow: CUDA_ERROR_OUT_OF_MEMORY解决办法_第1张图片

 查询后了解到是因为TensorFlow中的eager_execution默认调用最大GPU(但我的GPU显存不足以满足需求,所以报错)。经过查询,再logger.py调用tf处,加入


    os.environ["CUDA_VISIBLE_DEVICES"]="1" #选择你使用的GPU
 
    tf.compat.v1.disable_eager_execution() #禁用_eager_execution
    config=tf.compat.v1.ConfigProto()
    config.gpu_options.per_process_gpu_memory_fraction = 0.9 #阈值,TensorFlow 会话在执行时最多占用 90% 的 GPU 显存。
    sess=tf.compat.v1.Session(config=config) # 创建一个 TensorFlow 会话 sess,并传入配置对象 config。这样会话就会按照指定的配置创建和执行。

随后解决问题。

你可能感兴趣的:(深度学习,tensorflow,人工智能)