2017-06-22 3 views
1

Ich würde gerne verstehen, wie die kürzlich veröffentlichten object_detection Modelle für den Einsatz in Tensorflow mit dem langfristigen Ziel, eine der Meta-Architekturen zu modifizieren, vorbereitet sind.Object_detection Implementierungsdetails

Gibt es eine Beschreibung darüber, wie die Meta-Architekturen (z. B. Faster R-CNN oder SSD) implementiert sind, oder liest der Code die einzige Möglichkeit, das herauszufinden? Insbesondere verstehe ich, wie diese Meta-Architekturen im Allgemeinen definiert sind (wie es in entsprechenden Artikeln beschrieben wird), aber ich verstehe nicht, wie sie in Tensorflow implementiert sind.

Selbst eine sehr allgemeine Übersicht, die beschreibt, wie der Ablauf in diesem Zusammenhang (oder mit einem nicht verwandten Modell) funktioniert, wäre sehr nützlich. (Ich bin mir bewusst, die kurzen object_detectiondocs und die detection architecture guide, aber das ist es nicht.)

Besonders überwältigend ist, wenn bei diesen object_detection Modellen sucht, sagen sie, von einem Keras Hintergrund ist, dass die Modelle definiert sind, unter Verwendung von relatively- große proto und config Dateien mit wenigen Kommentaren, während Nicht-Standard-Layer beteiligt sind. Darüber hinaus ist das Verfahren zum Erhalten der z. B. der Datei frozen_inference_graph.pb, die beim Training aus den Dateien proto und config verwendet wird, überhaupt nicht offensichtlich.

Alle Quellen von Informationen oder Hinweise werden sehr geschätzt.

+0

der Quellcode ist zu lang, und sehr schwer zu lesen, ich habe versucht, es auf mich selbst zu lesen, gab aber auf. Ich hoffe wirklich, dass der Autor es reorganisieren kann –

Antwort

1

Ich ging letzte Woche für die Faster R-CNN und SSD-Pipeline durch die Code-Basis. Ich würde empfehlen, dass Sie die Codebasis durchgehen. Die Funktionen/Methoden sind sehr gut dokumentiert und wenn Sie die Details aus den entsprechenden Papieren kennen, kann es leicht verstanden werden. Um zu verstehen, wie sich Informationen aus den Dateien auf das Modell auswirken, empfehle ich, die verschiedenen Builder (im Builder-Ordner) durchzugehen. Wenn Sie ein SSD-Modell für das Training verwenden, überprüfen Sie die entsprechenden function in model_builder.py. Hier werden alle Informationen von config zum Erstellen der Instanzen der verschiedenen Klassen verwendet. model_builder.py wird durch die train() Funktion innerhalb trainer.py

So aufgerufen Sie kurz zu beantworten, als jemand, der eine Woche zurück der beste Ansatz, den ich in den Schuhen war empfehlen für Sie durch den Code gehen :).

Verwandte Themen