2 votes

Estimer les ressources nécessaires pour servir un modèle Keras

J'ai un modèle Keras (.hdf5) que j'aimerais déployer dans le cloud pour prédire. Je souhaite maintenant estimer combien de ressources j'ai besoin pour cela (CPU, GPU, RAM, ...).

Est-ce que quelqu'un a une suggestion de fonctions / règles empiriques qui pourraient aider avec cela ? Je n'ai pas pu trouver quelque chose d'utile. Merci d'avance!

2voto

Dmytro Prylipko Points 726

Je pense que l'estimation la plus réaliste serait de faire tourner le modèle et de voir combien de ressources il prend. top ou htop vous montrera la charge CPU et RAM, mais en ce qui concerne la mémoire GPU, c'est un peu plus compliqué, car TensorFlow (l'option la plus populaire pour le backend Keras) réserve toute la mémoire disponible pour des raisons de performance.

Vous devez dire à TensorFlow de ne pas prendre toute la mémoire disponible mais de l'allouer selon les besoins. Voici comment réaliser cela en Keras :

import tensorflow as tf
import keras.backend as K
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction=0.2  # Allouer initialement seulement 20% de la mémoire
config.gpu_options.allow_growth = True  # faire croître dynamiquement la mémoire utilisée sur le GPU
config.log_device_placement = True  # pour enregistrer le placement du dispositif (sur lequel l'opération s'est exécutée)
                                    # (rien n'est imprimé dans Jupyter, seulement si vous l'exécutez seul)
sess = tf.Session(config=config)
K.set_session(sess)  # définir cette session TensorFlow comme la session par défaut pour Keras

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

Ensuite, exécutez watch nvidia-smi et voyez combien de mémoire sera utilisée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X