我正在使用Keras在tensorflow上运行一个大型模型,并且在训练结束时jupyter笔记本内核停止并且在命令行中我有以下错误:
2017-08-07 12:18:57.819952: E tensorflow/stream_executor/cuda/cuda_driver.cc:955] failed to alloc 34359738368 bytes on host: CUDA_ERROR_OUT_OF_MEMORY
我觉得这很简单 - 我的内存耗尽。我有4个NVIDIA 1080ti GPU。我知道TF只使用一个,除非指定。因此,我有两个问题:
有关如何利用Keras中所有GPU的良好工作示例
在Keras中,似乎可以更改gpu_options.allow_growth = True,但我看不清楚到底是怎么做的(我知道这是一个帮助吸血鬼,但我对DL完全不熟悉GPU)的
答案 0 :(得分:0)
试试这个:
import keras.backend as K
config = K.tf.ConfigProto()
config.gpu_options.allow_growth = True
session = K.tf.Session(config=config)