Verwaltungsinformationen
Titel | Serving-Produktionsmodelle |
Dauer | 60 Minuten |
Modulen | B |
Unterrichtstyp | Anleitung |
Fokussierung | Praktisch – Organisationelle KI |
Themenbereich | Gebäude-Produktionsmodell API |
Suchbegriffe
maschinelles Lernen, Container,
Lernziele
- Sich mit der Containerisierung vertraut machen
- Lernen von TFX Serving
- Möglichkeit, lokale und Azure-Container-Instanzen zu verwenden
Erwartete Vorbereitung
Lernveranstaltungen, die vorab abgeschlossen werden müssen
Keine.
Obligatorisch für Studenten
- Installieren Sie WSL 2 vor der Installation von Docker
- Sie können die Windows-Hyper-V-Option verwenden, aber dies unterstützt nicht die GPU
- Sie müssen Ubuntu (oder andere geeignete Varianten) mit dem Befehl WSL CLI wsl --install -d ubuntuinstallieren
- Für einige Maschinen muss die WSL auch mit dem Befehl wsl --update aktualisiert werden ( Weitere Informationen zu diesem Update)
- Sie müssen die neuesten NVIDIA/CUDA-Treiber installiert haben
- Docker für Windows installieren: https://docs.docker.com/desktop/install/windows-install/
- Erstellen eines Azure-Kontos mit Zugriff auf Azure Container Instances (ACI)
Optional für Studenten
Referenzen und Hintergründe für Studierende
- Aditya Khosla, Nityananda Jayadevaprakash, Bangpeng Yao und Li Fei-Fei. Neuartiger Datensatz für Feingewebte Bildkategorisierung. Erster Workshop zur Fein-Grained Visual Categorization (FGVC), IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2011.
Empfohlen für Lehrer
- Führen Sie die Aufgaben, die als obligatorisch und optional für die Schüler aufgeführt sind.
Unterrichtsmaterialien
Anleitung für Lehrer
Produktionsmodelle mit TFX Serving
- Dieses Tutorial wird den Schülern vorstellen, ein entwickeltes trainiertes Modell zu nehmen, das in einem Jupyter-Notizbuch (mit Tensorflow 2.x und Keras) entwickelt wurde, und das Modell im Tensorflow-Format zu speichern. Das Tutorial beginnt mit der Entwicklung eines grundlegenden CNN, um das Brot eines Hundes zu identifizieren. Wir speichern das Modell dann als Tensorflow-Modell. Das Tutorial wird dann den TFX-Ansatz (Tensorflow Extended https://www.tensorflow.org/tfx/serving/docker) für MLOps verwenden, bei dem wir uns in diesem Tutorial auf TRX-Serviceing-Komponente konzentrieren, die erholsame APIs zur Verwendung/Abfrage in Produktionsumgebungen erstellen. Um dies zu tun, werden wir ein Docker TFX Serving Image erstellen und dieses Image bereitstellen:
- Lokal (localhost)
- Über Azure Container Instances (ACI), bei denen eine öffentliche IP-Adresse abgefragt werden kann
- Es sind vorherige Installationen erforderlich, bitte beachten Sie die obligatorischen Vorbereitungen für Studenten unten.
- Der Datensatz ist der Stanford Hunde-Datensatz, in dem wir zwei Klassen von Hunden verwenden, Jack Russel und Rhodesian Ridgeback, der komplette Datensatz finden Sie hier, Wir haben auch die in diesem Tutorial verwendete Untermenge im Dataset Abschnitt unten bereitgestellt.
- Wir haben auch alle Docker CLI Befehle am Ende dieser Tutorial WIKI Seite zur Verfügung gestellt.
Gliederung/Zeitplan
Dauer (Min.) | Beschreibung |
---|---|
20 | Problem 1: Erstellen eines CNN-Modells mit einer Teilmenge des Stanford-Hunds-Datensatzes, wobei dieses Modell als Tensorflow-Modell gespeichert wird |
10 | Problem 2: Bereitstellung des Tensorflow-Modells in einer Rest-API lokal (mit Docker) und Abfrage des Modells |
20 | Problem 3: Bereitstellung des Tensorflow-Modells für eine Rest-API mithilfe von Azure Container Instances (ACI) (mit Docker) und Abfrage des Modells |
10 | Rückblick auf den Forward-Pass-Prozess |
Docker CLI Befehle
Die folgenden Kommandozeilenschnittstellenbefehle werden in diesem Tutorial verwendet, um die Modelle auszuführen.
Lokal ausführen
Schritt 1: Tensorflow ziehen
Docker Zug Tensorflow/serving:latest-gpu
Schritt 2: Führen Sie das Bild aus
Docker run --gpus all -p 8501:8501 --name tfserving_classifier --mount type=bind,source=c:\production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/serving:latest-gpus
oder ohne GPU
Docker run -p 8501:8501 --name tfserving_classifier --mount type=bind,source=c:\production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/serving:latest-gpu
Ausführen auf Azure mit ACI
Schritt 1: Ändern Sie das lokale Bild so, dass das Modell enthalten ist
Docker run -d --name serve_base tensorflow/serving:latest-gpu Docker cp c:\production\ serving_base:/models/img_classifier Docker ps -a...# um id zu erhalten Docker Commit --change „ENV MODEL_NAME img_classifier“ & lt;id geht hier> tensorflow_dogs_gpu Docker kill serve_base
Schritt 2: Bereitstellen von Image in Azure ACI
Docker-Login azure Docker-Kontext erstellen aci deleteme Docker-Kontext verwenden deleteme Docker run -p 8501:8501 kquille/tensorflow_dogs_gpu:kq
Schritt3 Zugriff auf die ACI-Protokolle, IP-Adresse, und dann stoppen und entfernen Sie den ACI-Dienst =====
Docker logs jolly-ride Docker ps Docker stop jolly-ride Docker rm jolly-ride
Danksagung
Keith Quille (TU Dublin, Tallaght Campus)
Das Human-Centered AI Masters-Programm wurde von der Fazilität „Connecting Europe“ der Europäischen Union im Rahmen des Zuschusses „CEF-TC-2020-1 Digital Skills 2020-EU-IA-0068“ kofinanziert.