2016-06-10 12 views
0

Für eine medizinische Anwendung Ich bin Umschulung der vortrainierter Inception-v3 Netzwerk mit TensorFlow.Visualizing die Eigenschaften eines vortrainierte Netzwerk in TensorFlow

Dieses Netzwerk hat eine letzte Schicht:

pool_3: 0 (2048 Features)

TF des classify_image verwenden, ich herausgefunden, welche diese Merkmale für jede Probe am wichtigsten sind. Es gibt also ein Array mit den Indizes der Top-N-Features, sortiert nach Gewichten.

Der nächste Schritt ist visualisieren Sie den Feature-Vektor, um die Ergebnisse besser zu verstehen.

Wie würde ich das machen? Ist TensorBoard dazu in der Lage? Ich bin etwas verloren. Jeder Vorschlag/Hilfe wird geschätzt!

Antwort

1

Vielleicht hilft Ihnen nur das Drucken der N interessanten Komponenten?

Sie können die pool_3 Vektor mit so etwas wie erhalten:

graph = ... # the session graph (sess.graph) containing Inception model 
features = graph.get_tensor_by_name('inception_v3/pool3:0') # I don't know the exact name, find it in TensorBoard 
features_values = sess.run(features) 
print features_values[top_N_indices] 

Wenn Sie TensorBoard verwenden, können Sie nur Grundstück:

  • skalare Funktionen (Skalar Zusammenfassungen): Sie könnte jedes Merkmal unabhängig damit mit tf.gather(features, [indice])
  • Histogramme der Aktivierung plotten: das wird nicht sehr nützlich sein Ich denke, aber Sie können es versuchen
  • Bilder: könnten Sie vielleicht ein Bild erstellen, um die interessanten Funktionen zu plotten? Das wäre ein bisschen komplex, Sie können sehen this previous question, bezogen auf this issue und this tutorial