2016-06-06 18 views
44

Ho installato la versione GPU di tensorflow su una Ubuntu 14.04.Come eseguire Tensorflow sulla CPU

Sono su un server GPU in cui tensorflow può accedere alle GPU disponibili.

Voglio eseguire tensorflow sulle CPU.

Normalmente posso utilizzare env CUDA_VISIBLE_DEVICES=0 per l'esecuzione su GPU no. 0.

Come posso scegliere tra le CPU?

io non sono interessato ai rewritting mio codice con with tf.device("/cpu:0"):

risposta

58

È possibile applicare device_count parametro per tf.Session:

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

Vedi anche file di configurazione protobuf:

tensorflow/core/framework/config.proto

+1

Qualcuno ha detto in esecuzione reti neurali su CPU dopo la fase di formazione è efficiente come loro esecuzione su GPU - - cioè, solo la frase di allenamento ha davvero bisogno della GPU. Sai se questo è vero? Grazie! – Crashalot

+0

questo funziona per me. molto semplice – Shaowu

+2

Questo non funziona per me (tf1.1). La soluzione di fabrizioM lo fa. – user1735003

90

Puoi imposta anche la variabile di ambiente su

CUDA_VISIBLE_DEVICES="" 

senza dover modificare il codice sorgente.

+1

^^ Questa è la risposta giusta. –

+0

Anche questo ha funzionato per me. – VAndrei

+1

Qualcuno ha detto di usare reti neurali su CPU dopo che la fase di addestramento è performante come eseguirle su GPU - vale a dire, solo la frase di addestramento ha davvero bisogno della GPU. Sai se questo è vero? Grazie! – Crashalot

16

Se le risposte di cui sopra non funziona, provare uno:

os.environ['CUDA_VISIBLE_DEVICES'] = '' 

o

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

Grazie, questo è molto meglio di altre opzioni. – user1098761