2017-02-13 5 views
2

Das Problem ist, dass ich ein Tensorflow Graph mit "Maincategories" und "Subcategories" trainieren muss.Tensorflow Python Klassifizierungstraining mit Unterkategorien

Ich weiß bereits, wie man einen Graphen mit "Hauptkategorien" völlig ausbildet.

Zum Beispiel habe ich 3 verschiedene Tierarten: Katze, Hund und Elefant.

Wenn ich ein Diagramm mit Bildern auf diese drei Arten trainieren, wäre es Noten für die drei Typen wie zurückgeben:

Katze 0,7

Hund 0,3

Elefant 0,02

Was ich will tho ist es, diese drei Typen und Unterkategorien für diese Art zu trainieren, zum Beispiel:

Katze: weiß, Fett, ...

Hund: heiser, ...

Und wenn ich jetzt ein Bild mit dieser Grafik klassifizieren, würde Ich mag eine Ausgabe mit der Kategorie Auswahl und den Unterkategorien erhalten, wie folgt aus:

Katze: 0, 7 -> weiß: 0,3 -> Fett: 0,5

Hund: 0,2 .....

derzeit die einzige Art, wie ich sehe, ist ein Diagramm mit der Kategorie Auswahl zu trainieren und trainieren einzelne Grafiken für alle Hauptkategorien mit den Unterkategorien, dann Code wie:

Im Beispiel würde der Catgraph mit den verschiedenen Kategorien als Kategorien trainiert werden.

Dies ist jedoch nicht sehr elegant und ich hoffe, es gibt einen besseren Weg, dies zu tun.

Ich bin dankbar für jede Hilfe, die Sie mir geben könnten.

~ Meow

Antwort

0

Sie können eine Grafik mit zwei Ausgängen trainieren, alles bis auf die letzte Schicht zu teilen (oder bis zu einer Ebene, die Sie mögen). Dann würden Sie für jeden einen (sagen wir) Logloss haben und gegen die Summe der Verluste optimieren. Wenn Sie durch die Lernfähigkeit des Netzwerks eingeschränkt sind, möchten Sie vielleicht einen Verlust mehr als den anderen abwägen.

Denken Sie daran, beide Verluste in der Zusammenfassung zur einfachen Visualisierung zu verfolgen. Sie können die Verluste zur Verlustauflistung hinzufügen.

0

Sie müssen die Unterkategorien einzeln trainieren. Richten Sie die --image_dir auf die Wurzel Ihrer Unterkategorien. HINWEIS: Die Unterkategorien beziehen sich hier auf die Unterordner. Dann erhalten Sie die Ausgabe jeder Unterkategorie wie bei der Hauptkategorie. Ich hoffe, das bringt Licht. Sie können sich auf Tensorflow image retraining

beziehen