0

我正在 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 |
4

1 回答 1

1

我假设您正在为 Keras 使用 TensorFlow 后端。默认情况下,TensorFlow 会分配几乎所有的 GPU 内存,以减少潜在的内存碎片。从TensorFlow 指南到使用 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))
于 2018-01-31T21:45:13.853 回答