Im vorherigen Kapitel haben Sie die SWAGGER API kennen gelernt mit deren Hilfe das neuronale Netz getestet werden kann. Da die Bedienung über die SWAGGER Oberfläche nicht ideal ist und die REST API Aufrufe sich dafür anbieten eine eigene Anwendung zu schreiben hat ein Kollege von mit die AI Pipeline Image App geschrieben. Die AI Pipeline Image App vereinfacht die Bedienung der REST API Schnittstelle der Training Suite deutlich und bietet darüber hinaus noch ein paar zusätzliche Funktionen an die die Arbeit mit den zurück gegebenen Ergebnissen des neuronalen Netzes vereinfachen. Die kleine Web-Anwendung ist mit dem Ziel geschrieben worden, dass diese die Grundlage bietet für weitere Eigenentwicklungen und so die Hürde senkt eine eigene Web-Anwendung zu entwickeln die die Training Suite eigene API Schnittstelle nutzt.

Konfiguration und Installation der AI Pipeline Image App

Die AI Pipeline Image App ist eine NodeJS Web-Anwendung die die Komplexität in der Bedienung der REST API Schnittstelle der Training Suite kapselt und den Nutzer die Bedienung erheblich erleichtert. Es muss nicht mehr direkt mit der SWAGGER API Schnittstelle gearbeitet werden sondern alle wichtigen Funktionen werden direkt als Menüpunkte in der AI Pipeline Image App (AIPIA) angeboten. So können ganz einfach und vor allem schnell ohne besondere IT Erfahrungen Bilder an die REST API Schnittstelle der Training Suite für eine Analyse durch das bereits trainierte neuronale Netz gesendet werden. Das Ergebnis also die Vorhersage ob eine Information auf dem Bild vorkommt oder nicht wird direkt in der AIIA angezeigt. Auch können die Ergebnisse der Vorhersage als CSV Datei direkt herunter geladen werden. Dies war eine Anforderung diverser Fachbereiche die die Daten anschließend weiter verarbeiten wollten.

Hinweis: Zeitaufwand

Die Zeit die für die Installation der AI Pipeline Image App wie nachfolgend beschrieben beträgt ca. 25 Minuten. Die meiste Zeit davon nimmt die Installation von Software in Anspruch und dazu noch ein paar Minuten um die Anpassung der IP Adresse in mehreren Konfigurationsdateien vorzunehmen.

Damit die AI Pipeline Image App installiert werden kann müssen zunächst einmal ein paar Module installiert werden. Dazu bitte einfach die nachfolgenden Befehle der Reihe nach im Terminal Fenster ausführen. Die Pakete die jetzt installiert werden sind eventuell etwas großzügiger ausgefallen als notwendig aber bei dieser Anleitung geht es ja darum das am Ende alles Funktioniert und nicht darum wie optimiert alles für den einzelnen ist.

Bitte jetzt die folgenden Pakete der Reihe nach installieren.

Befehl: sudo apt install npm -y

Befehl: sudo apt install python3-pip -y

Befehl: pip install Flask

Befehl: pip install Flask-SQLAlchemy

Befehl: pip install flask-restful

Befehl: pip install flask-cors

Befehl: pip install python-Levenshtein

Es hat sich gezeigt, damit die AI Pipeline Image App ohne Probleme installiert werden kann muss unter Ubuntu 20.04 zum Zeitpunkt als diese Anleitung erstellt wurde extra die NodeJS Version 14.0x installiert werden. Die Installation von NodeJS in der Version 14.x erfolgt mit den nachfolgenden Befehlen.

Befehl: sudo apt-get install curl

Befehl: curl -sL https://deb.nodesource.com/setup_14.x | sudo bash

Befehl: sudo apt -y install nodejs

Befehl: sudo apt --fix-broken install

Befehl: sudo apt -y install nodejs

Befehl: node -v

Nach dem alle Pakete installiert wurden muss zunächst einmal die AI Pipeline Image App von GitHub herunter geladen werden.

Hinweis: Status AI Pipeline Image App

Aktuell befindet sich die AI Pipeline Image App noch in der Entwicklung und konnte so noch nicht die Qualitätsanforderungen des TechOffice Munich von BMW erfüllen und im TechOffice Munich GitHub Repository veröffentlicht werden. Daher steht die App in ihrem aktuellen Stand in meinem privaten Repository bis auf weiteres zur Verfügung. Verbesserungen und Vorschläge für diese Web-Anwendung sind natürlich sehr willkommen.

Mit dem folgenden Befehl wird die AI Pipeline Image App von GitHub herunter geladen.

Befehl: git clone https://github.com/custom-build-robots/AI-Pipeline-Image-App.git

Nach dem die Anwendung von GitHub herunter geladen wurden muss diese noch installiert werden. Das geschieht mit den drei nachfolgenden Befehlen.

Befehl: cd AI-Pipeline-Image-App

Befehl: cd app

Befehl: npm install

Konfiguration der AI Pipeline Image App

Damit die AI Pipeline Image App funktioniert müssen noch ein paar kleine Anpassungen vorgenommen werden. Dabei geht es primär darum die IP Adresse des Rechners in der APP selber zu hinterlegen die für die Kommunikation mit der AI Pipeline Image App verwendet werden soll.

Als erstes wird der Server der AI Pipeline Image App angepasst. Dazu bitte die testAPI.py Datei einmal öffnen.

Die Datei ist in dem folgenden Pfad der AI Pipeline Image App zu finden.

Pfad: ~/AI-Pipeline-Imge-App/server/testAPI.py

Die Datei bitte in einem Testeditor öffnen und die dort hinterlegte IP Adresse durch die IP Adresse des eigenen Rechners anpassen auf dem die REST API der Training Suite erreichbar ist. Ganz am Ende wird noch die IP Adresse der AI Pipeline Image App selber eingetragen für die Kommunikation innerhalb der AI Pipeline Image App.

In der folgenden Abbildung sind zwei Stellen zu sehen an denen die IP Adresse durch die des eigenen Servers ersetzt werden muss. Bitte ändern Sie hier nicht den Port sondern belassen diesen so wie er ist. In Summe müssen an vier stellen die IP Adressen geändert werden.

No Code AI Pipeline - Image App IP adress setup

No Code AI Pipeline – Image App IP adress setup

Nach dem in der testAPI.py Datei die IP Adressen angepasst wurden muss noch in der Web-App selber die IP Adresse des AI Pipeline Image App Servers hinterlegt werden.

Dazu bitte die Datei in dem folgenden Pfad der AI Pipeline Image App öffnen.

Pfad: ~/AI-Pipeline-Imge-App/app/src/app/services/api.service.ts

In der api.service.ts Datei muss ziemlich am Anfang an genau einer Stelle in der Datei die IP Adresse des AI Pipeline Image App Servers hinterlegt werden.

In der folgenden Abbildung ist die Stelle zu sehen an der die IP Adresse angepasst werden muss. Wenn der Port in der testAPI.py Datei angepasst wurde dann muss auch hier der Port angepasst werden damit die Enden wieder zusammen passen.

No Code AI Pipeline - Image App IP adress setup service.ts

No Code AI Pipeline – Image App IP adress setup service.ts

Jetzt sollte alles soweit vorbereitet sein das eine einwandfreie Kommunikation zwischen Training Suite und AI Pipeline Image App sowie innerhalb der AI Pipeline Image App selber sichergestellt ist.

Damit folgt jetzt in nächsten Abschnitt die Beschreibung wie der Startprozess der einzelnen Komponenten abzulaufen hat.

Ausführen der AI Pipeline Image App

Nach dem die AI Pipeline Image App erfolgreich installiert wurde kann diese ausgeführt werden. Bitte den nachfolgenden Hinweiskasten unbedingt beachten.

Hinweis: Training Suite starten

Damit die AI Pipeline Image App überhaupt funktioniert muss als Voraussetzung die Training Suite gestartet werden und im Hintergrund laufen. Denn auf die REST API Schnittstelle der Training Suite setzt die AI Pipeline Image App auf. Andernfalls kommt es zu einem Fehler da die Kommunikation mit der REST API der Trainings Suite nicht klappt.

Nach dem die Training Suite gestartet ist muss zunächst der Python Server der AI Pipeline Image App (AIPIA) gestartet werden. Dieser übernimmt die Kommunikation mit der Training Suite, deren REST API Schnittstelle und die Kommunikation mit der Web Anwendung AIPIA übernimmt.

Die folgende Grafik zeigt den Ablauf der Kommunikation zwischen den einzelnen Services / Programmen der AI Pipeline Image App.

<Bild muss noch erstellt werden>

Bitte jetzt in einem extra Terminal Fenster in den folgenden Pfad wechseln.

Pfad: ~/AI-Pipeline-Image-App/server

Innerhalb dieses Pfades jetzt den nachfolgenden Befehl ausführen um den Server der AI Pipeline Image App zu starten.

Befehl: python3 testApi.py

Jetzt erst kann die Web-App also die AI Pipeline Image App gestartet werden. Der nachfolgende Befehl startet die AI Pipeline Image App die auf den zuvor gestarteten Python Server aufsetzt für die Kommunikation mit dem Training Suite eigenen REST API Schnittstelle.

Bitte jetzt in einem extra Terminal Fenster in den folgenden Pfad wechseln.

Pfad: ~/AI-Pipeline-Image-App/app

Innerhalb dieses Pfades jetzt den nachfolgenden Befehl ausführen um die Web App also die AI Pipeline Image App zu starten.

Befehl: npm start

Jetzt ist die AI Pipeline Image App gestartet und kann über die IP Adresse des Rechners gefolgt vom Port <IP Adresse>:<Port> geöffnet werden.

Beispiel URL: 192.168.2.174:5010

Im Browser (bitte immer den Chrome Browser verwenden) ist jetzt die AI Pipeline Image App zu sehen und sollte wie in der folgenden Abbildung gezeigt initial aussehen. Noch sieht die Anwendung leer aus da zunächst ein paar Parameter an der App ausgewählt werden müssen.

No Code AI Pipeline - Image App initial load screen

No Code AI Pipeline – Image App initial load screen

Im nächsten Beitrag wird die Benutzung der AI Pipeline Image App erläutert.

 


Artikelübersicht - Wie setze ich die AI Pipeline auf:

AI Pipeline - Vorstellung der Anleitung
AI 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