Je veux exécuter un script écrit en Python et en utilisant Tensorflow. Puisque le serveur est partagé avec d'autres collègues, je voudrais limiter mon script à utiliser au plus 1/3 de la mémoire GPU du serveur.Tensorflow alloue tous les GPU malgré le contraire
Pour accomplir cela, je fais ce qui suit:
with tf.Graph().as_default(): gpu_options = tf.GPUOptions(allow_growth=True, per_process_gpu_memory_fraction=0.3) session_conf = tf.ConfigProto( allow_soft_placement=True, log_device-placement=False, gpu_options=gpu_options) with tf.Session(conf=session_conf) as sess: # some stuff
Mais quand je vérifie l'utilisation de la mémoire GPU via nvidia-smi
commande, il dit que tout cela est alloué. Il y a 2 GPU sur le serveur et il semble que mon script les alloue tous les deux. Qu'est-ce que je fais mal ? Ce que j'ai écrit ci-dessus ne sont pas les premières lignes de code du script. Je fais d'abord un peu de traitement de données. Mais si je le dis au tout début, ça ne change pas non plus.