Nach dem Sie sich bereits durch die Einführung in das Thema welche Hardware brauche ich und welche Systeme gibt es fertig aufgebaut zu kaufen gearbeitet haben geht es jetzt los mit dem Thema der Software und deren installation auf dem Deep Learning Rechner. Bevor die drei wesentlichen No-Code AI Pipeline Module installiert werden können muss das Ubuntu Betriebssystem von der Software her dafür vorbereitet werden. Alle notwendigen Softwarepakete und deren Installation wird Schritt für Schritt in diesem Beitrag erklärt. Dazu müssen Sie lediglich die Befehle in ihrer Reihenfolge wie beschrieben ausführen. Am Ende von diesem Beitrag sind alle notwendigen Komponenten installiert und die AI Pipeline kann installiert werden.

Die Installation der No-Code AI Pipeline

Diese Anleitung beschreibt jetzt Schritt für Schritt wie notwendige Software die eine Voraussetzung für die Installation der No-Code AI Pipeline der BMW Group ist auf ihrem Ubuntu Rechner installiert wird. Ich gehe bei dieser Anleitung davon aus, dass eine aktuelle NVIDIA GPU in ihrem System vorhanden ist. Allerdings ist das keine zwinge Voraussetzung und ich weise wenn notwendig darauf hin wie die Installation der CPU Version von statten gehen würde. Das Ziel dieser Installationsanleitung ist es auch das mehrere Nutzer die einzelnen Module der AI Pipeline remote über das interne Netzwerk erreichen und nutzen können. Die Anwender können so die einzelnen Module über deren Weboberflächen im Chrome Browser aufrufen und so die No-Code AI Pipeline über das Intranet bzw. private Netzwerk verwenden.

Auch wird in einem kleinen Unterkapitel darauf eingegangen welches Tools der zukünftige Administrator der AI Pipeline nutzen kann um den aufgesetzten Linux Rechner remote von z. B. Windows aus fernwarten zu können.

Hinweis: Zeitaufwand

Die Zeit die für die Softwareinstallation in diesem Artikel benötigt wird hängt etwas davon ab wie viel Erfahrung der einzelne mit Ubuntu bereits hat und wie schnell die Internetanbindung ist.

Aus meiner Erfahrung heraus werden ca. 30 Minuten benötigt bei einer 25 Mbit Internetanbindung.

Bei der Installation muss ja dem Fortschrittsbalken nicht die ganze Zeit zugeschaut werden und die Zeit kann für die ein oder andere Tasse Kaffee genutzt werden 😉

Änderungshistorie:

Der beitrag wurde am 11.08.2022 aktualisiert. Die Verwendung von CUDA 11.7 wurde ausführlich getestet und der Beitrag ergänzt.

Ubuntu – Vorbereitung der Installation

Die Grundlage mit der es jetzt los geht ist ein frisch installiertes Ubuntu 18.04 oder 20.04 Betriebssystems auf dem Rechner / Server auf dem jetzt Software installiert wird mit dem Ziel die AI Pipeline anschließend einzurichten.

Hinweis: Ubuntu Version

Bitte nur Ubuntu 20.04 oder die Version 18.04 verwenden für die Installation der No-Code AI Pipeline da sonst die NVIDIA Docker Version später im Installationsprozess ein Problem macht!

Dieses Installationsanleitung wurde mit der Ubuntu Version 20.04 geschrieben.

Ubuntu System aktualisieren

Bevor ein paar kleine Tools und größere Softwarepakete installiert werden können muss das Ubuntu System auf den aktuellen Stand gebracht werden. Mit den jetzt folgenden Befehl wird zuerst die interne Softwareverwaltung von Ubuntu aktualisiert. So kann Ubuntu feststellen, ob es z. B. aktuellere Softwareversionen in den angebundenen und somit bekannten Repositorien gibt als bereits installiert.

Befehl: sudo apt-get update

Wurde die interne Softwareverwaltung aktualisiert können die Updates mit dem jetzt folgenden Befehl eingespielt werden. So ist das System anschließend auf dem neuesten Stand und deutlich sicherer als wenn alte Versionen der Programme für längere Zeit ohne einer Aktualisierung installiert sind.

Befehl: sudo apt-get upgrade

Die beiden vorherigen Befehle sollten Sie regelmäßig ausführen um die Ubuntu Installation aktuell zu halten und um es eventuellen Angreifern nicht so leicht zu machen Schwachstellen zu finden die diese ausnutzen könnten.

Good2Have – Linux Tools installieren

Jetzt folgt die Installation von ein paar Tools die einmal die Arbeit unter Linux erleichtern und die benötigt werden um die AI Pipeline überhaupt installieren zu können.

Dazu gehört einmal die Installation des Git-Client. Dieser wird benötigt um auf die Repositorien des Tech-Office Munich also die Labelingtool Lite und Training Suite von Linux aus komfortable zugreifen zu können und diese für die Installation herunter laden zu können.

Befehl: sudo apt install git -y

CURL ist erforderlich um später aus dem Internet die ein oder andere Datei bzw. Konfiguration herunter laden zu können. Daher wird dieses Tool ebenfalls installiert.

Befehl: sudo apt install curl -y

Häufig ist es so, dass man nicht lokal vor dem Rechner die ganze Zeit sitzt auf dem die AI Pipeline installiert wurde. Daher ist es gut wenn die Möglichkeit besteht sich remote am Terminal des Linux Rechners anmelden zu können. Damit das möglich wird muss der Open-SSH-Server installiert werden.

Soll auf den Linux Rechner remote über das Intranet unter Verwendung einer SSH Verbindung zugegriffen werden, dann ist die Installation des Open SSH Servers erforderlich.

Befehl: sudo apt install openssh-server -y

Für alle die noch nicht so vertraut sind mit dem Terminal Fenste rund den vielen Befehlen die dort ausgeführt werden können empfehle ich immer den Midnight Commander zu installieren. Die Installation des Midnight Commanders ist daher für alle interessant die im Terminalfenster eine Art grafische Oberfläche nutzen möchten um Dateien zu kopieren, zu löschen oder zu bearbeiten.

Ich empfehle daher immer die Installation des Midnicht Commanders kurz MC genannt gleich zu Beginn eines jeden Projektes.

Sehr hilfreich ist auch die folgende Webseite die z. B. die wichtigsten Funktionstasten des MC erläutert.

URL: https://wiki.ubuntuusers.de/Midnight_Commander/

Mit dem folgenden Befehl wird der Midnight Commander installiert.

Befehl: sudo apt install mc -y

Der Midnight Commander wird im Terminalfenster mit dem folgenden Befehl ausgeführt.

Befehl: mc

Der Midnight Commander sieht wie im nachfolgenden Bild gezeigt aus. Sehr schön ist die Aufteilung in eine linke und rechte Seite zu sehen. Zwischen diesen beiden Seiten und somit dahinter liegenden Pfaden können komfortabel z. B. Dateien hin und her kopiert werden.

No Code AI Pipeline Midnight Commander

No Code AI Pipeline Midnight Commander

Mit den F-Tasten auf Ihrer Tastatur rufen Sie die wichtigsten Befehle des Midnight Commanders auf. Die kleine Übersicht soll Ihnen dabei helfen den Einstieg in die Bedienung des MC leichter zu meistern.

  • F4: Öffnet die auswählte Datei z. B. im Text Editor Nano.
  • F5: Kopiert eine Datei oder Ordner die z. B. im linken Fenster ausgewählt ist in den im rechten Fenster geöffneten Pfad.
  • F6: Verschiebt eine Datei oder Ordner die z. B. im linken Fenster ausgewählt ist in den im rechten Fenster geöffneten Pfad.
  • F7: Legt einen neuen Ordner an.
  • F8: Löscht die Datei oder den Ordner der aktuell ausgewählt ist.
  • F10: beendet den Midnight Commander

Jetzt sind Sie mit dem MC vertraut und die Net-Tools müssen noch installiert werden. Diese sind erforderlich um kurz via Konsole die IP Adresse oder MAC Adresse des Rechners im Netzwerk zu erfragen.

Befehl: sudo apt install net-tools -y

Später im Verlauf dieser Installationsanleitung wird noch die Compiler-Suite GCC benötigt und daher wird dieser gleich zu Beginn jetzt installiert.

Befehl: sudo apt install gcc -y

Google Chrome wird benötigt um später die Trainingsumgebung ohne Probleme öffnen und nutzen zu können. Das soll heißen, dass die AI Pipeline Module nur mit dem Chrome Browser genutzt werden können. Dabei spielt es keine Rolle ob man direkt am Linux Rechner sitzt oder z. B. von einem Windowsrechner die AI Pipeline im Chrome Browser über das Netzwerk aufruft.

Hinweis: Kopieren von Befehlen

Beim Kopieren der Befehle die über mehrere Zeilen, gehen wie nachfolgend zu sehen ist, kann es zu formatierungsfehlern beim Kopieren des jeweiligen Befehls kommen. Erstreckt sich der Befehl also über zwei Zeilen so kann es beim Kopieren des Befehls passieren, dass ein Zeilenumbruch mitkopiert wird. Dieser Zeilenumbruch führt zu einem Fehler beim Einfügen des Befehls in das Terminalfensters und späteren Ausführen des Befehls. Hier bitte unbedingt darauf achten das solche durch die Formatierung entstehenden Fehler beim Kopieren und wieder Einfügen im Terminalfenster von Ihnen erkannt und korrigiert werden.

Kopieren Sie jetzt den nachfolgenden Befehl um die Installationsdatei von Chrome herunter zu laden.

Befehl: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

Mit dem folgenden Befehl installieren Sie Google Chrome auf ihrem Linux Rechner.

Befehl: sudo apt install ./google-chrome-stable_current_amd64.deb

Ab jetzt sollten sie Google Chrome auf ihrem Rechner ausführen können. Wenn das alles soweit geklappt hat kommt jetzt die Installation der CUDA 11 Treiber für ihre NVIDIA Grafikkarte.

CUDA 11.7.0 Installation

Damit die Training Suite ohne Probleme funktioniert muss die CUDA Version 11.7.0 oder neuer installiert werden. Ältere Versionen sollten theoretisch funktionieren aber für die aktuellen NVIDIA Grafikkarten wie die RTX 3090 oder die RTX A6000 wird CUDA 11 benötigt.

Der nachfolgende Link führt zum Archiv der verfügbaren CUDA Versionen.

URL: https://developer.nvidia.com/cuda-toolkit-archive

Mit der folgenden URL ist ein direkter Absprung in die für die Installation der Training Suite notwendige CUDA Version für Ubuntu möglich.

URL: https://developer.nvidia.com/cuda-11-7-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local

Die getroffene Auswahl auf der NVIDIA Seite sollte dann wie im nachfolgenden Bild gezeigt aussehen.

Hinweis:

Bei mir hat die Installation am besten beklappt, wenn ich die Option deb (local) ausgewählt habe. Dann hatte ich bei einer Vielzahl an installationen die wenigsten Probleme mit den Downloads etc.

No Code AI Pipeline NVIDIA CUDA 11.7.0 selection

No Code AI Pipeline NVIDIA CUDA 11.7.0 selection

Für die Installation müsse die Befehle, die im vorherigen Bild zu sehen sind, einer nach dem anderen im Terminalfenster ausgeführt werden. Bitte beim Kopieren der Befehle darauf achten, dass dieser komplett kopiert wird und nicht am Ende eventuell ein paar Zeichen abgeschnitten wurden.

Nach der erfolgreichen Installation der CUDA 11.x Treiber bitte den Rechner einmal neustarten. Das klappt z. B. mit dem folgenden Befehl aus dem Terminalfenster heraus.

Befehl: reboot

Nach dem der Rechner wieder hochgefahren ist geht es mit dem folgenden Befehl weiter. Führen Sie diesen jetzt aus und die NVIDA Konsolenausgabe sollte mit ein paar Informationen zu ihrer Grafikkarte zu sehen sein. Wenn diese Anzeige angezeigt wird ist dies eine Bestätigung dass die CUDA Unterstützung richtig installiert wurde und die Grafikkarte oder wenn es mehrere sind erkannt wurden.

Befehl: nvidia-smi

Die Ausgabe sollte wie im nachfolgenden Bild gezeigt aussehen und die bei Ihnen angezeigte CUDA Version kann hier von der in der Abbildung gezeigten abweichen.

No Code AI Pipeline NVIDIA SMI output

No Code AI Pipeline NVIDIA SMI output

Im folgenden Abschnitt geht es jetzt weiter mit der Installation von Docker.

Docker installieren

Da das Labeltool Lite und die Training Suite in Docker Containern läuft muss noch Docker installiert werden. Docker wird mit dem nachfolgenden Befehl installiert.

Befehl: sudo apt install docker.io

Jetzt sollte Docker installiert sein. Welche Version genau installiert und ob alles geklappt hat können Sie mit dem folgenden Befehl jetzt testen. Wenn Sie diesen Befehl ausführen sollte die Versionsnummer der installierten Docker Umgebung angezeigt werden.

Befehl: docker --version

Die Anzeige der Docker Version im Terminal Fenster sollte wie im nachfolgenden Bild gezeigt aussehen.

No Code AI Pipeline docker version

No Code AI Pipeline docker version

Nach der erfolgreichen Installation von Docker muss jetzt noch Docker Compose installiert werden.

Docker Compose installieren

Neben Docker muss noch Docker-Compose installiert werden. Mit dem folgenden Befehl wird Docker-Compose auf ihrem Rechner installiert.

Befehl: sudo apt install docker-compose

Mit dem nachfolgenden Befehl kann die frisch installierte Version von Docker-Compose angezeigt werden.

Befehl: docker-compose --version

Die Anzeige der Docker-Compose Version im Terminal Fenster sollte wie im nachfolgenden Bild gezeigt aussehen.

No Code AI Pipeline docker compose version

No Code AI Pipeline docker compose version

Netzwerk Dateifreigabe mit SAMBA (optional)

Damit Sie einfach von z. B. Windows aus auf die Dateien ihres Ubuntu Rechners und später auf die Trainingsdaten für Backups, die Qualitätssicherung etc. zugreifen können bietet es sich an SAMBA für die Dateifreigabe im Netzwerk zu installieren. Den SAMBA Server installieren Sie mit folgenden Befehl.

Befehl: sudo apt-get install samba -y

Nach dem SAMBA installiert ist müssen Sie noch im Ordner /etc/samba die Datei smb.conf anpassen. Dazu öffnen Sie diese im Text-Editor Nano mit dem folgenden Befehl.

Befehl: sudo nano /etc/samba/smb.conf

Ganz an das Ende der Datei fügen Sie die folgenden Zeilen ein. Mit dieser kleinen Anpassung geben Sie den /home/ Ordner ihres Ubuntu Rechners im Netzwerk frei.

[Roboter-Auto]

comment = Samba on Ubuntu

path = /home/

read only = no

browsable = yes

Damit der Zugriff ohne Probleme klappt muss noch eine kleine Konfiguration am Samba Server vorgenommen werden. Der Samba Server verwendet nicht das Passwort des im System angelegten Users. Daher müssen Sie zu Ihrem User den Sie unter Ubuntu angelegt haben noch ein Passwort vergeben für den Samba Server. Nur so können Sie ohne Probleme von z. B. Windows aus auf die Freigabe im Netzwerk zugreifen.

Führen Sie den folgenden Befehl aus um der Samba-Konfiguration zu ihrem bereits im System vorhandenen User ein extra Passwort für den Samba-Service zu hinterlegen.

Befehl: sudo smbpasswd -a <the username>

Jetzt könne Sie mit dem nachfolgenden Befehl den Samba-Service neustarten und z. B. von einem Windows Rechner aus auf die Dateifreigabe unter Ubuntu zugreifen.

Befehl: sudo service smbd restart

Windows – Software Helfer

Häufig wird es so sein, dass der Linux Rechner auf dem die AI Pipeline installiert wurde in einem eigenen Raum oder Rechenzentrum steht und nicht immer jemand vor dem Rechner sitzt. Auch mit dem Homeoffice und remote arbeiten macht es Sinn einmal zu verstehen wie der Rechner auch remote gewartet werden kann.

Dazu möchte ich ein paar kleine Helfer nachfolgend vorstellen die mir bereits sehr viel Zeit und Aufwand gespart haben bei der Administration meiner remote stehenden Server die ich privat betreibe.

PuTTY – remote Terminal Tool

Von Windows aus kann mit Putty sehr komfortabel auf den Linux Rechner remote über das Netzwerk zugegriffen werden. Putty stellt über eine SSH-Verbindung ein Terminalfester zur Verfügung über welches das System komplett wie wenn man davor sitzen würde administriert werden kann.

Putty kann über die folgende Website herunter geladen werden.

URL: https://www.putty.org/

Ist PuttY installiert sieht die Oberfläche wie im nachfolgenden Bild gezeigt aus.

PuTTY

PuTTY

WinSCP – remote File Transfer

Mit dem kleinen Helfer WinSCP kann von Windows aus z. B. sehr einfach auf das Filesystem des Ubuntu Rechners zugegriffen werden. So ist es dann möglich Dateien zwischen den beiden Systemen über eine SSH Verbindung auszutauschen. Dieses Vorgehen ermöglicht es ihnen schnell einmal ein paar Bilder zu übertragen oder eben eine Konfigurationsdatei zu ändern oder zu sichern.

WinSCP kann über die folgende Webseite herunter geladen werden.

URL: https://winscp.net/eng/downloads.php

Ist WinSCP einmal installiert sieht die Oberfläche wie im folgenden Bild gezeigt aus.

WinSCP

WinSCP

Zusammenfassung und Platzbedarf

Mit dem Abschluss des Abschnittes der Installationsanleitung sind die wesentlichen Voraussetzungen geschaffen die No-Code AI Pipeline einzurichten. Das System ist auf dem neuesten Stand und wenn eine NVIDIA GPU verbaut ist kann diese ab jetzt prinzipiell zum Training von neuronalen Netzen genutzt werden.

Der bis hier hin gemessene Platzbedarf auf dem Systemlaufwerk für die zusätzlich installierte Software beläuft sich auf ca. 11,2 GB.

Initialer belegter Speicher Aktuell belegter Speicher Verbrauchter Speicher
8,4 GB 19,6 GB 11,2 GB

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