Tensorflow 通过Keras/TF 2019限制GPU内存使用?

Tensorflow 通过Keras/TF 2019限制GPU内存使用?,tensorflow,keras,deep-learning,gpu,Tensorflow,Keras,Deep Learning,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年写

我读过如下答案:

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年写的任何东西都不起作用!
那么,如何限制内存使用?

似乎我也有同样的问题。你试过这个吗

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
set_session(sess)

此方法将使应用程序根据运行时分配只分配同样多的GPU内存

限制在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)