Im vorherigen Beitrag haben Sie die Training-Suite auf ihrem Rechner konfiguriert und installiert. Im jetzt folgenden Beitrag geht es darum zu erläutern wie die Training Suite genutzt werden kann. Das Ziel ist es mit den eigenen Bildern die zuvor in dem Labeltool Lite mit Labeln versehen wurden jetzt ein neuronales Netz zu trainieren. Für den Fall das Sie jetzt sorgen haben das diese Bedienungsanleitung sehr technisch wird sind fehl am Platz und ich kann sie beruihgen die Basic Einstellungen nehmen ihnen viel im Hintergrund an Parametrisierung ab. Bei der Entwicklung der Training-Suite war es den BMW Kollegen wichtig, dass das Herzstück der No-Code AI Pipeline ganz einfach zu bedienen ist mit dem Ziel die Komplexität vom Anwender fern zu halten.
Das erste Training starten
Jetzt geht es aber los das wir das erste Training eines neuronalen Netzes anlegen möchten. Dazu muss die Training-Suite gestartet werden falls das noch nicht passiert ist. Nachfolgend noch einmal die Befehle aus dem vorherigen Beitrag wie die Training Suite manuell gestartet werden kann. Ich würde aber immer empfehlen die Autostartfunktion zu aktivieren.
GPU Version starten
Befehl: sudo docker-compose -f run_gpu.yml up
CPU Version starten
Befehl: sudo docker-compose -f run_cpu.yml up
Nach dem die Docker Container gestartet sind ist die Training Suite über die <IP-Adresse>:<4200> erreichbar. Bitte denken Sie daran immer den Chrome Browser zu verwenden um Probleme zu vermeiden.
Beispiel URL: 192.168.2.174:4200
Einführung – Web-Oberfläche der Training Suite
Nach dem Öffnen der Web-Oberfläche der Training-Suite sollte sich im Browser wie in der folgenden Abbildung im linken Teil des Bildes zu sehen ist ein großer roter Knopf mit Pfeil zeigen.
- Klicken Sie jetzt auf den großen roten Knopf mit Pfeil damit der nächste Screen geladen wird und der „+“ Knopf zum Anlegen eines neuen Projektes erscheint.
- Anschließend drücken Sie den Button mit dem + Symbol um ein neues Trainings Projekt anzulegen.
Nach dem klicken auf das + Button zum Anlegen eines neuen Projektes sollte sich wie in der folgenden Abbildung links oben gezeigt die Oberfläche der Training-Suite präsentieren.
Es folgen jetzt drei Screens in denen ein paar Parameter gesetzt werden müssen. Anschließend startet das Training des neuronalen Netzes in der Training-Suite.
- Dieser Bildschirm zeigt die Weboberflächenansicht eines noch leeren Trainingprojektes.
- Bitte in der Drop Down Box „Dataset Folder“ die Trainingsdaten auswählen die für das Training des neuronalen Netzes herangezogen werden sollen. Also der Ordner mit ihren Bildern plus den Labeln.
- Bei der Drop Down Box „Label Types“ das Format JSON auswählen da in diesem Format die Labels in dem Labeltool Lite gespeichert wurden.
- Jetzt auf den Button Next klicken.
Jetzt öffnet sich der nächste Screen in dem noch ein paar Weitere Parameter gesetzt werden müssen.
Hinweis: Projektname
Wird die Training-Suite von mehreren Mitarbeitern genutzt, so ist es wichtig sich eine Namenkonvention zu überlegen wie die Trainingsprojekte und damit auch die trainieren neuronalen Netze heißen sollen. Denn nur so ist es möglich später die trainieren neuronalen Netze auseinander zu halten und die verschiedenen Versionen und Stände zu erkennen.
In der folgenden Abbildung sind jetzt die nächsten Punkte zu sehen die parametrisiert werden müssen um das Training überhaupt starten zu können.
- Für den Container Namen und damit auch für das neuronale Netz bitte einen sprechenden Namen mit Versionierung wählen.
- Sinn macht es hier auch immer im Namen oder separat in einer Exceldatei sich zu notieren auf welchen Trainingsdaten das neuronale Netz trainiert wurde.
- In der Drop Down Box Networks bitte ein vortrainiertes neuronales Netz aus dem Tensorflow Modle Zoo wählen.
- Anschließend auf den Button Next klicken.
Jetzt folgt der letzte Screen der in der folgenden Abbildung zu sehen ist bevor das Training des neuronalen Netzes startet.
- Hier setzen Sie einen Wert von 5.000 bis 10.000 für die Anzahl der Training Steps. Das ist eine bewährte Anzahl um loszulegen und die ersten Schritte zu gehen.
- Wichtig ist noch die Check Box „Allow Memory Growth“ eine noch experimentelle Funktion von Tensorflow. Tensorflow belegt dann nur so viel Speicher auf der Grafikkarte wie aktuell für das Training dieses neuronalen Netzes benötigt wird. So können mehre Projekte bzw. Trainings parallel auf der Grafikkarte durch ihre Mitarbeiter gestartet werden. Wenn die Checkbox nicht gesetzt ist dann belegt Tensorflow für ein Projekt auch den gesamten Speicher der Grafikkarte
- Später bzw. für Experten ist noch der Schalter Basic interessant. Wird dieser umgelegt also aktiviert dann können die Hyperparameter für das Training des neuronalen Netzes von Hand gesetzt werden. Mit diesen Parametern kann viel stärker auf die Art und Weise wie das neuronale Netz trainiert wird Einfluss genommen werden.
- Jetzt auf den Button „Done“ klicken damit das Training des neuronalen Netzes startet.
Jetzt startet das Training und der Screen wie in der folgenden Abbildung gezeigt erscheint.
- Diese Anzeige zeigt den Status des Trainings ob dieses noch aktiv trainiert oder erfolgreich abgeschlossen wurde.
- Wenn das Training erfolgreich abgeschlossen wurde kann über dieses Button das fertig trainierte neuronale Netz herunter geladen werden.
- Mit diesem Button öffnet sich das Tensorboard zu genau diesem Training. Allerdings muss das Training noch aktiv laufen.
- Hier wird die Ausgabe der Konsole angezeigt die Rückschlüsse ermöglicht wie das Training aktuell läuft.
- Mit diesem Button kann ein Training abgebrochen werden. Manchmal hängt sich der Trainingsprozess auf und dann muss man solch einen Geister-Trainingsjob löschen.
Jetzt läuft das Training und auch im Terminal Fenster am zentralen Server können Sie sich mit dem folgenden Befehl anschauen wie die NVIDIA Grafikkarte arbeitet.
Befehl: watch -n 1 nvidia-smi
Mit dem watch –n 1 Kommando wir dank dem NVIDIA Tool nvidia-smi die Speicherbelegung und GPU Auslastung der Grafikkarte jede Sekunde aktualisiert.
- Die Ausgabe des nvidia-smi Befehls sieht wie in der folgenden Abbildung links gezeigt aus.
- Rechts in der dolgenden Abbildung ist die Monitoring Ausgabe des Trainingsprozesses zu sehen. Dieser kann einem bei einer eventuellen Fehlersuche ganz gut weiter helfen.
Während der Trainingsprozess noch aktiv ist kann man sich über den Knopf der in Abbildung „No Code AI Pipeline Training Suite new job monitor“ die Nummer 3 trägt das TensorBoard zu diesem Trainingsprozess anzeigen lassen. Hier erfährt man dann viele Details wie gut das Training läuft bzw. gelaufen ist. Diese Anzeige wie sie in der folgenden Abbildung zu sehen ist kann nur aufgerufen werden solange das Training noch aktiv ist (In einer neueren Version der Training Suite soll diese Information erhalten bleiben.).
Jetzt bietet die Training Suite noch die Möglichkeit die tranierten neuronalen Netze über die SWAGGER API von hand einmal auszuprobieren. Allerdings würde ich die AI Pipeline Image App dafür empfehlen zu installieren und zu nutzen wie in einem weiteren Beitrag erklärt.
Dennoch möchte ich im nachfolgenden Artikel auf die SWAGGER API eingehen und wie mit deren Hilfe die Qualität des frisch trainierten neuronalen Netzes getestet werden kann.
Artikelübersicht - Wie setze ich die AI Pipeline auf:
AI Pipeline - Vorstellung der AnleitungAI Pipeline - Die No-Code AI Pipeline ein Überblick
AI Pipeline - Die drei Bestandteile der No-Code AI Pipeline
AI Pipeline - Grundlagen zum Thema AI Hardware
AI Pipeline - Hardware Beispiel-Konfigurationen
AI Pipeline - Software Installation der No-Code AI Pipeline
AI Pipeline - Labeltool Lite - Installation
AI Pipeline - Labeltool Lite Vorbereitung der Trainingsdaten
AI Pipeline - Labeltool Lite - Bedienung
AI Pipeline - Tensorflow-Object-Detection-Training-GUI - Installation
AI Pipeline - Tensorflow-Object-Detection-Training-GUI - Ausführen
AI Pipeline – Tensorflow-Object-Detection-Training-GUI - Bedienung
AI Pipeline - Tensorflow-Object-Detection-Training-GUI - Inference API testen des neuronalen Netzes
AI Pipeline - AI Image App Einrichten und Bedienen - Teil 1-2
AI Pipeline - AI Image App Einrichten und Bedienen - Teil 2-2
AI Pipeline - Trainingsdaten Download
AI Pipeline - Bilder und Video Anonymization API
Hallo, ich habe ihre Anleitung befolgt und bekomme im letzten Schritt leider immer folgende Meldung im Terminal: bash <(wget -qO-…
Hi Dennis, vielen Dank für den Hinweis, ich habe die URLs angepasst so das diese wieder gehen. Ich bin gespannt…
Ich weiss, es ist noch im Aufbau. Aber hier ist ein Broken Link: https://www.ai-box.eu/smurf_training_data_small.zip Freue mich drauf, die ganze Serie…