Limitation de l'allocation de mémoire GPU TensorFlow
Le comportement par défaut de TensorFlow alloue l'intégralité de la mémoire GPU disponible au lancement, ce qui présente un défi dans les environnements informatiques partagés. Lors de l'exécution d'un entraînement simultané sur le même GPU avec plusieurs utilisateurs, il est impératif d'éviter une consommation excessive de mémoire.
Solution : Fraction de mémoire GPU
Pour résoudre ce problème, TensorFlow offre la possibilité de spécifier une fraction de mémoire GPU à allouer. En définissant le champ per_process_gpu_memory_fraction dans un objet tf.GPUOptions, vous pouvez limiter la consommation de mémoire. Voici un exemple :
# Restrict memory allocation to 4GB on a 12GB GPU gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333) # Create a session with the GPU options sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
Cette approche fournit une limite supérieure stricte à l'utilisation de la mémoire GPU pour le processus actuel sur tous les GPU de la même machine. Cependant, notez que cette fraction est appliquée uniformément sur tous les GPU et qu'il n'existe aucune option d'allocation de mémoire par GPU.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!