Оцените необходимые ресурсы для обслуживания модели Keras - PullRequest
0 голосов
/ 20 января 2019

У меня есть модель Keras (.hdf5), которую я хотел бы развернуть в облаке для прогнозирования. Теперь я хочу оценить, сколько ресурсов мне нужно для этого (CPU, GPU, RAM, ...).

У кого-нибудь есть предложения относительно функций / правил, которые могут помочь с этим? Я не смог найти ничего полезного. Заранее спасибо!

1 Ответ

0 голосов
/ 22 января 2019

Я думаю, что наиболее реалистичной оценкой было бы запустить модель и посмотреть, сколько ресурсов это займет. top или htop покажет вам загрузку ЦП и ОЗУ, но в случае памяти графического процессора это немного сложнее, поскольку TensorFlow (наиболее популярный вариант для бэкэнда Keras) резервирует всю доступную память по соображениям производительности.

Вы должны указать TensorFlow не забирать всю доступную память, а выделять ее по требованию. Вот как это сделать в Керасе:

import tensorflow as tf
import keras.backend as K
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction=0.2  # Initially allocate only 20% of memory
config.gpu_options.allow_growth = True  # dynamically grow the memory used on the GPU
config.log_device_placement = True  # to log device placement (on which device the operation ran)
                                    # (nothing gets printed in Jupyter, only if you run it standalone)
sess = tf.Session(config=config)
K.set_session(sess)  # set this TensorFlow session as the default session for Keras

https://github.com/keras-team/keras/issues/4161#issuecomment-366031228

Затем запустите watch nvidia-smi и посмотрите, сколько памяти будет занято.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...