Modellkonvertierung: ONNX zu Hailo
Ein Netzwerk, das trainiert und als ONNX-Datei exportiert wurde, kann für die Ausführung auf einer Hailo-TPU in ein Hailo-Modell konvertiert werden.
Die Konvertierung läuft im Hailo-Konvertierungscontainer. Sie ist daher nur verfügbar, wenn zusätzlich zu LumiScan Training das Hailo PlugIn (Installer-LumiScanTraining-HailoPlugIn) installiert ist. Fehlt das PlugIn, meldet die Anwendung, dass der Befehl podman oder das erforderliche Konvertierungsabbild nicht gefunden werden konnte.
Programmstart
Starten Sie LumiScan Training wie in LumiScan Training Installation beschrieben. Während die Anwendung lädt, wird der Begrüßungsbildschirm angezeigt (Abb. 11).
Nach dem Laden öffnet sich das Hauptfenster (Abb. 12). Die Modellkonvertierung wird über die Schaltfläche Model Conversion gestartet.
Kalibrierbilder vorbereiten
Während der Konvertierung wird das Netzwerk quantisiert. Zur Bestimmung der im Netzwerk vorkommenden Wertebereiche ist ein Satz von Kalibrierbildern erforderlich.
| Die Kalibrierbilder müssen dieselbe Auflösung wie die Trainingsbilder haben. Bilder mit abweichender Auflösung können zu einem unbrauchbaren Modell führen. |
Qualität und Repräsentativität der Kalibrierbilder beeinflussen die Genauigkeit des konvertierten Modells. Daher:
-
Nehmen Sie die Bilder unter realen Produktionsbedingungen auf — mit derselben Kamera, Optik, Arbeitsdistanz und denselben Objekten wie im späteren Betrieb.
-
Beziehen Sie repräsentative Beleuchtungsbedingungen ein. Verwenden Sie beispielsweise unterschiedliche Belichtungszeiten, wenn auch im Betrieb die Belichtungszeit variiert, oder nehmen Sie Bildserien unter verschiedenen Umgebungslichtbedingungen auf.
Speichern Sie die Bilder in einem einzigen Ordner, im Folgenden Kalibrierordner genannt. Unterstützte Bildformate sind unter anderem .png, .jpg, .jpeg, .bmp und .tiff.
Konvertierung durchführen
Klicken Sie auf Model Conversion, um den Dialog Model Conversion (ONNX → Hailo) zu öffnen (Abb. 13). Wählen Sie über die jeweiligen Browse-Schaltflächen die drei in Tabelle 3 beschriebenen Pfade aus.
| Feld | Beschreibung |
|---|---|
ONNX model file |
Das trainierte Netzwerk im ONNX-Format. Es befindet sich in der Regel in dem Ordner, der in den JSON-Einstellungen unter |
Calibration folder |
Der Ordner mit den im vorherigen Abschnitt beschriebenen Kalibrierbildern. |
Output folder |
Der Ordner, in dem das konvertierte Modell und zugehörige Dateien gespeichert werden. Standardmäßig ist der Ordner ausgewählt, der die ONNX-Datei enthält. |
Klicken Sie auf Start Conversion, um die Konvertierung zu starten (Abb. 14).
Während die Konvertierung läuft:
-
Wechselt der Status zu Converting….
-
Ändert sich die Schaltfläche Start Conversion zu Stop Conversion, mit der die laufende Konvertierung abgebrochen werden kann.
-
Sind die Eingabefelder deaktiviert.
-
Wird der Fortschritt der Konvertierung in der Log-Konsole am unteren Fensterrand angezeigt.
| Die erste Konvertierung kann länger dauern, da zunächst die Podman-Maschine gestartet wird, falls sie nicht bereits läuft. |
Der Konvertierungscontainer kann direkt auf das Laufwerk C: zugreifen. Befinden sich die ONNX-Datei, der Kalibrierordner oder der Ausgabeordner auf einem anderen Laufwerk, beispielsweise E:, oder auf einer Netzwerkfreigabe, werden die erforderlichen Dateien vor der Konvertierung automatisch in den Container übertragen. Die Ergebnisse werden nach Abschluss der Konvertierung zurückübertragen. Eine zusätzliche Konfiguration ist nicht erforderlich. Die Log-Konsole zeigt die zusätzlichen Übertragungsschritte an; die Gesamtdauer der Konvertierung kann je nach Umfang der Kalibrierdaten zunehmen.
|
Ist die Konvertierung abgeschlossen, erscheint die Meldung Conversion finished successfully.
Im Ausgabeordner werden folgende Dateien erzeugt, wobei <name> der Name der ONNX-Datei ist:
-
<name>.hef- Modell für die Hailo-TPU. -
<name>.har- Zwischenarchiv, das während der Konvertierung erstellt wird. -
<name>_hailo.onnx- für Hailo angepasstes ONNX-Modell. -
convert_parameters.json- Für die Konvertierung verwendete Parameter.
Schlägt die Konvertierung fehl, wird der Exit-Code in der Statuszeile angezeigt; zusätzliche Informationen stehen in der Log-Konsole.
Probleme bei der Modellkonvertierung sind Schritt für Schritt unter Fehlerbehebung beschrieben:
Treten bei der Modellkonvertierung andere Probleme auf, wenden Sie sich an HD Vision Systems.