End-2-End vom Keras TensorFlow-Modell zur Produktion
Durch das stark wachsende Datenvolumen hat sich das Rollenverständnis von Data Scientists erweitert. Statt Machine-Learning-Modelle für einmalige Analysen zu erstellen, wird häufiger in konkreten Entwicklungsprojekten gearbeitet, in denen Prototypen in produktive Anwendungen überführt werden.
Keras ist eine High-Level-Schnittstelle, die ein schnelles, einfaches und flexibles Prototypisieren von Neuronalen Netzwerken mit TensorFlow ermöglicht. Zusammen mit Luigi lassen sich beliebig komplexe Datenverarbeitungs-Workflows in Python erstellen. Das führt dazu, dass auch Nicht-Entwickler den End-2-End-Workflow des Keras-TensorFlow-Modells zur Produktionsreife leicht implementieren können.
Agenda- ab 8.30 Uhr Registrierung und Begrüßungskaffee
- 9.30 Uhr Beginn
- Intro
- Machine Learning
- Was ist Machine Learning?
- Der typische ML Workflow
- Was sind neuronale Netze?
- Jupyter Lab mit Python
- Eine Einführung in TensorFlow
- Keras als High-Level API für TensorFlow
- Praxisteil: Deep Learning Modelle mit Keras
- Datengeneratoren
- Datasets explorativ analysieren
- Hold-Out vs. Cross Validation
- 11.00 - 11.15 Uhr: Kaffeepause
- Praxisteil: Deep Learning Modelle mit Keras
- Feed-Forward Netzarchitektur
- Convolutional Neural Networks als Deep Learning Ansatz
- Evaluation und Visualisierung des Modells
- 12.30 - 13.30 Uhr: Mittagspause
- Pipelines mit Luigi
- Anforderungen an produktive Modelle
- Übersicht über Luigi und dessen Module
- Bau eines Beispiel-Workflows
- Praxisteil: Den Keras-Workflow mit Luigi implementieren
- Einzelschritte als Tasks implementieren
- Export des Tensorflow-Modells aus Keras
- 15.30 - 15.45 Uhr: Kaffeepause
- Praxisteil: TensorFlow-Serving
- Übersicht über TensorFlow-Serving
- Ladestrategien konfigurieren
- Deployment des Modells
- ca. 17.00 Uhr: Ende
Technische Anforderungen:
- Notebook mit Adminrechten und Docker (und genügend freiem Speicherplatz, ca. 3GB)
- Um optimal vorbereitet zu sein, sollten alle Workshop-Teilnehmer folgendes ausführen:
- docker pull codecentric/from-keras-to-production-baseimage
- docker pull codecentric/tensorflow-serving-baseimage
Falls Sie ein Gerät Ihrer Firma verwenden, überprüfen Sie vorher bitte, ob eines der folgenden, gelegentlich vorkommenden Probleme bei Ihnen auftreten könnte:
- Workshop-Teilnehmer hat keine Administrator-Rechte
- Corporate Laptops mit übermäßig penibler Sicherheitssoftware
- Gesetzte Corporate-Proxies, über die man in der Firma kommunizieren muss, die aber in einer anderen Umgebung entsprechend nicht erreicht werden.
Vorkenntnisse
* Python: Grundkenntnisse
* Machine Learning: Fortgeschrittene Kenntnisse
* Deep Learning: Grundkenntnisse
Lernziele
* Wie baut man Neuronale Netze mit Keras und TensorFlow?
* Wie exportiert man trainierte Modelle?
* Wie bringt man trainierte Modelle in eine Produktionsumgebung?
* Wie baut man einen kompletten Datenverarbeitungs-Workflow mit Luigi?
* Worauf muss man achten, wenn man trainierte Modelle produktiv nutzen möchte?