allow_growth控制tensorflow显存动态增长 无效问题

问题:tensorflow1.15环境使用config.gpu_options.allow_growth = True,控制显存动态增长,发现无效,显存仍然会被完全占用

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

分析:暂未找到原因,类似问题:gpu_options doesn't work · Issue #32814 · tensorflow/tensorflow · GitHub

Well, it seems like this issue goes away even though I'm not sure whether that I'm guessing is the right reason.
Previously, in the middle of models, I initialize some variables manually instead of using tf.global_variables_initializer.
Now, I only initialize those variables that are not initialized at the very time, and suddenly, it works, now the model wouldn't take the whole GPU memory, at least it works for now.
 

解决方案:通过环境变量TF_FORCE_GPU_ALLOW_GROWTH设置为true控制显存动态增长:

import os
os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true'

Guess you like

Origin blog.csdn.net/dou3516/article/details/120227431