web-dev-qa-db-fra.com

Comment exécuter Tensorflow sur le CPU

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 le 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"):

94

Vous pouvez appliquer un paramètre _device_count_ par _tf.Session_:

_config = tf.ConfigProto(
        device_count = {'GPU': 0}
    )
sess = tf.Session(config=config)
_

Voir aussi le fichier de configuration protobuf:

tensorflow/core/framework/config.proto

101

Vous pouvez également définir la variable d’environnement sur

CUDA_VISIBLE_DEVICES=""

sans avoir à modifier le code source.

150
fabrizioM

Si les réponses ci-dessus ne fonctionnent pas, essayez:

os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
65
Aravindh Kuppusamy

Pour moi, seul le réglage de CUDA_VISIBLE_DEVICES sur -1 fonctionne:

Travaux:

import os
import tensorflow as tf

os.environ['CUDA_VISIBLE_DEVICES'] = '-1'

if tf.test.gpu_device_name():
    print('GPU found')
else:
    print("No GPU found")

# No GPU found

Est-ce que pas fonctionne:

import os
import tensorflow as tf

os.environ['CUDA_VISIBLE_DEVICES'] = ''    

if tf.test.gpu_device_name():
    print('GPU found')
else:
    print("No GPU found")

# GPU found
15
Andrzej Gis

Juste en utilisant le code ci-dessous.

import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
3
Yi Shang