我正在使用DSVM Ubuntu计算机上的REST API Web应用程序。服务器运行Flask,Apache和Keras。
我使用的是具有56GB RAM和单个K80 GPU的GPU机器。
问题在于即使使用小批量大小来预测我的模型,GPU也会耗尽内存。
没有任何运行,12GB GPU使用超过10GB。也许这是因为Apache的问题。
正在运行nvidia-smi
会显示以下内容:
| 0 38915 C python 370MiB |
| 0 98378 C /usr/sbin/apache2 10860MiB |
答案 0 :(得分:1)
我假设您正在为Keras使用TensorFlow后端。 TensorFlow默认分配几乎所有GPU内存,以减少潜在的内存碎片。从the TensorFlow guide to using the GPU开始,您可以限制TensorFlow分配的总内存:
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.3
set_session(tf.Session(config=config))