J'ai installé la version GPU de tensorflow sur un Ubuntu 14.04.
Je suis sur un serveur GPU où tensorflow peut accéder aux GPU disponibles.
Je veux exécuter tensorflow sur les processeurs.
Normalement, je peux utiliser env CUDA_VISIBLE_DEVICES=0
pour exécuter sur GPU no. 0.
Comment puis-je choisir entre les processeurs à la place?
Je ne suis pas intéressé à réécrire mon code avec with tf.device("/cpu:0"):
python
tensorflow
Alexander R Johansen
la source
la source
CUDA_VISIBLE_DEVICES
la variable d'environnement au lieu de changer la configuration dans le code?Vous pouvez également définir la variable d'environnement sur
sans avoir à modifier le code source.
la source
Si les réponses ci-dessus ne fonctionnent pas, essayez:
la source
tf.keras.Sequential
modèles.Pour moi, seul le réglage
CUDA_VISIBLE_DEVICES
sur-1
fonctionne précisément :Travaux:
Ne fonctionne pas :
la source
En utilisant simplement le code ci-dessous.
la source
Dans certains systèmes, il faut spécifier:
AVANT d'importer tensorflow.
la source
Vous pourriez utiliser
tf.config.set_visible_devices
. Une fonction possible qui vous permet de définir si et quels GPU utiliser est:Supposons que vous soyez sur un système avec 4 GPU et que vous ne souhaitiez utiliser que deux GPU, celui avec
id = 0
et celui avecid = 2
, alors la première commande de votre code, immédiatement après l'importation des bibliothèques, serait:Dans votre cas, pour n'utiliser que le CPU, vous pouvez appeler la fonction avec une liste vide :
Par souci d'exhaustivité, si vous souhaitez éviter que l'initialisation du runtime n'alloue toute la mémoire du périphérique, vous pouvez utiliser
tf.config.experimental.set_memory_growth
. Enfin, la fonction de gestion des appareils à utiliser, occupant dynamiquement la mémoire des GPU, devient:la source
Une autre solution possible au niveau de l'installation serait de rechercher la variante CPU uniquement: https://www.tensorflow.org/install/pip#package-location
Dans mon cas, cela donne maintenant:
Sélectionnez simplement la bonne version. Points bonus pour l'utilisation d'un venv comme expliqué par exemple dans cette réponse .
la source