2015-11-27 11 views
8

mi piacerebbe studiare il posizionamento del dispositivo nella tensorboard utilizzando il seguente codice per la generazione del grafico nel riepilogoDispositivo posizionamento sconosciuto in Tensorboard

# Build the summary operation based on the TF collection of Summaries. 
summary_op = tf.merge_all_summaries() 
saver = tf.train.Saver(tf.all_variables()) 
summary_writer = tf.train.SummaryWriter(log_directory, graph_def=sess.graph_def) 

Questo funziona per la visualizzazione del grafico e sintesi definito nel grafico. Ma quando si seleziona il "posizionamento del dispositivo" nella tensorboard, tutti i nodi vengono assegnati a "dispositivo sconosciuto". Devo scaricare la posizione del dispositivo in qualche altro modo?

risposta

10

Il grafico visualizzatore TensorBoard vede solo le assegnazioni dei dispositivi esplicite che avete fatto nel vostro programma (vale a dire quelli fatti utilizzando with tf.Device("..."): blocchi).

La ragione di ciò è che i nodi in un grafico TensorFlow sono assegnati a dispositivi in ​​più fasi. La prima fase, nel client (ad esempio il programma Python) consente di assegnare esplicitamente e facoltativamente i dispositivi a ciascun nodo, ed è l'output di questa fase che viene scritto nei registri di TensorBoard. Una fase di inserimento successiva viene eseguita all'interno del backend TensorFlow e assegna tutti i nodi a un dispositivo.

Sospetto che voglia analizzare i risultati della successiva fase di collocamento. Al momento non v'è alcun supporto per questo in TensorBoard, ma è possibile estrarre alcune informazioni con la creazione del tf.Session come segue:

sess = tf.Session(config=tf.ConfigProto(
    log_device_placement=True)) 

... e poi le decisioni posizionamento del dispositivo verrà registrato a stderr.

+0

Vedo, questo è quello che sto usando in questo momento. Peccato che non sia ancora implementato! – panmari

Problemi correlati