首页 > 解决方案 > Keras / TF 2019 限制 GPU 内存使用?

问题描述

我已阅读以下答案:

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.2
set_session(tf.Session(config=config))

但它只是行不通。keras 和 TF 似乎都有很多更新,以至于 2017 年编写的几乎所有内容都不起作用!那么,如何限制内存使用呢?

标签: tensorflowkerasdeep-learninggpu

解决方案


限制在 tensorflow 中保留所有 GPU RAM 的一种方法是增加保留量。此方法将允许您使用相同的 GPU 训练多个 NN,但您无法设置要保留的内存量的阈值。

在导入 keras 之前使用以下代码段,或者直接使用tf.keras

import tensorflow as tf
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
    try:
        for gpu in gpus:
            tf.config.experimental.set_memory_growth(gpu, True)

    except RuntimeError as e:
        print(e)

推荐阅读