2016-03-15 14 views
9

TensorBoard è un ottimo strumento, ma può essere più robusto? L'immagine sotto mostra la visualizzazione in TensorBoard.Come posso aggiungere etichette alle immagini TensorBoard?

Si chiama dalla seguente codice:

tf.image_summary('images', images, max_images=100) 

Come suggerisce l'API, l'ultima cifra è il "numero dell'immagine", da 0 a 99 in questo caso, poiché ho specificato max_images = 100. desidero chiedere, se posso aggiungere l'etichetta di questa immagine nel testo? Questa sarebbe una grande funzionalità in quanto consente agli utenti di vedere in tempo reale le immagini e le rispettive etichette durante l'allenamento. Nel caso in cui alcune immagini siano totalmente errate, è possibile implementare una correzione. In altre parole, vorrei che il testo corrispondente nell'immagine seguente fosse:

images/image/9/5 
images/image/39/6 
images/image/31/0 
images/image/30/2 
where last digit is the label. 

Grazie!

enter image description here

risposta

6

non sono stato in grado di trovare un modo per farlo utilizzando solo tensorflow, così invece faccio la seguente:

  1. Creare un segnaposto per le immagini di sintesi (ad esempio, come un (10, 224, 224, 3) per dieci immagini riassuntive).
  2. Creare il riepilogo immagine basato su quel segnaposto.
  3. Durante la convalida (o la formazione, se ti piace), trascina le immagini e le etichette per il tuo sommario in python usando qualcosa come session.run([sample_images, sample_labels]).
  4. Iterate attraverso il batch e utilizzate OpenCV per scrivere l'etichetta sull'immagine utilizzando cv2.putText.
  5. Eseguire il riepilogo op fornendo le immagini etichettate per il segnaposto.
+1

Mentre questo potrebbe essere un buon trucco per immagini di grandi dimensioni, potrebbe non funzionare bene per (28,28) immagini. – jkschin

+4

Non c'è motivo per cui il riepilogo debba essere 28x28. Puoi usare qualsiasi dimensione tu voglia. Puoi iniziare con una tela bianca 128x28, copiare l'esempio di allenamento in alto a sinistra e utilizzare il restante rettangolo 100x28 per disegnare il testo. –

+0

Beh, devo dire che questo è un vero trucco! – jkschin