Schulungsübersicht
Einführung
- Einführung in TensorFlow und Deep Learning
- Anwendungsfälle und Einsatzbereiche von TensorFlow
- TensorFlow-Ökosystem und Werkzeuge
- Workflows für Machine Learning und Deep Learning
- Überblick über die Kursziele und praktische Übungen
TensorFlow 2.x im Vergleich zu früheren Versionen – Was ist neu
- Wesentliche Unterschiede zwischen TensorFlow 1.x und 2.x
- Eager Execution
- Vereinfachte APIs und verbesserte Benutzerfreundlichkeit
- Änderungen im Modellbau und im Training
- Einführung in Keras als High-Level-API
- Überlegungen zur Migration bestehender TensorFlow-Anwendungen
- Best Practices für TensorFlow 2.x
Einrichtung von TensorFlow 2.x
- Installation von TensorFlow
- Konfiguration der Python-Umgebung
- Prüfung der TensorFlow-Installation
- Installation und Verwaltung erforderlicher Abhängigkeiten
- Konfiguration von CPU- und GPU-Umgebungen
- Verwendung von TensorFlow mit Jupyter Notebooks
- Grundlegende TensorFlow-Befehle und Operationen
- Fehlerbehebung bei Installations- und Konfigurationsproblemen
Überblick über Funktionen und Architektur von TensorFlow 2.x
- TensorFlow-Architektur und Kernkomponenten
- Tensoren und Tensoroperationen
- Variablen und Konstanten
- Computational Graphs und Eager Execution
- Automatische Differenzierung
- TensorFlow-APIs und Module
- Keras-Integration
- Datenpipelines mit
tf.data - Serialisierung von Modellen und TensorFlow SavedModel
- TensorFlow-Ökosystem und Entwicklungsworkflow
Funktionsweise neuronaler Netze
- Grundlagen künstlicher neuronaler Netze
- Neuronen, Schichten und Netzwerkarchitekturen
- Aktivierungsfunktionen
- Forward Propagation
- Loss-Funktionen
- Backpropagation
- Gradient Descent und Optimierung
- Lernraten und Optimierungsstrategien
- Overfitting und Underfitting
- Regularisierungstechniken
- Trainings-, Validierungs- und Testdatensätze
Erstellen von Deep-Learning-Modellen mit TensorFlow 2.x
- Erstellen von Tensoren und Variablen
- Aufbau neuronaler Netze mit Keras
- Sequentielle und funktionale Modell-APIs
- Definition benutzerdefinierter Modelle und Schichten
- Konfiguration von Optimierern
- Auswahl geeigneter Loss-Funktionen
- Training von Modellen mit
fit() - Benutzerdefinierte Trainingszyklen
- Callbacks und Überwachung des Trainings
- Verwaltung von Modell-Checkpoints
Datenanalyse
- Verständnis von Datensätzen für Machine Learning
- Erfassung strukturierter und unstrukturierter Daten
- Datenvisuallisierung
- Identifikation von Mustern und Anomalien
- Bearbeitung fehlender und inkonsistenter Daten
- Aufteilen von Daten in Trainings-, Validierungs- und Testdaten
- Auswahl relevanter Merkmale (Features)
- Vorbereitung von Datensätzen für TensorFlow-Modelle
Datenvorverarbeitung
- Datennormalisierung und -standardisierung
- Kodierung kategorialer Daten
- Behandlung fehlender Werte
- Feature Scaling
- Bildvorverarbeitung
- Textvorverarbeitung
- Data Augmentation
- Aufbau effizienter Eingabepipelines
- Verwendung von
tf.data - Batching, Shuffling, Caching und Prefetching
- Datenvorbereitung für das Modelltraining
Modellbau
- Auswahl einer geeigneten Architektur neuronaler Netze
- Definition von Modell-Eingängen und -Ausgängen
- Erstellung von dichten neuronalen Netzen
- Auswahl von Aktivierungsfunktionen
- Konfiguration des Modells für das Training
- Auswahl von Optimierern und Loss-Funktionen
- Training und Validierung des Modells
- Überwachung von Trainingsmetriken
- Verbesserung der Modellleistung
- Vermeidung von Overfitting
- Implementierung von Regularisierung und Dropout
Implementierung eines state-of-the-art-Bildklassifikators
- Grundlagen der Bildklassifikation
- Vorbereitung von Bilddatensätzen
- Bildnormalisierung und -augmentation
- Konvolutionelle neuronale Netze (CNN)
- Konvolutions- und Pooling-Schichten
- Gestaltung einer Architektur für die Bildklassifikation
- Transfer Learning
- Nutzung vortrainierter Modelle
- Fine-Tuning vortrainierter Netze
- Aufbau eines erweiterten Bildklassifikators
- Bewertung der Klassifikationsleistung
Training des Modells
- Konfiguration der Trainingsparameter
- Batchgröße und Epochen
- Auswahl des Optimierers
- Einplanung der Lernrate
- Trainings-Callbacks
- Early Stopping
- Checkpointing von Modellen
- Überwachung des Trainingsfortschritts
- Erkennung von Overfitting
- Verbesserung der Trainingsleistung
- Überlegungen zur verteilten Trainings
Training auf einer GPU vs. einer TPU
- Architekturen von CPU, GPU und TPU
- Vorteile der Hardwarebeschleunigung
- Konfiguration von TensorFlow für GPU-Training
- Verständnis von TPU-basiertem Training
- Auswahl der Hardware für verschiedene Workloads
- Verschieben von Berechnungen zwischen Geräten
- Verwaltung von Speicher und Rechenressourcen
- Vergleich der Trainingsleistung
- Verteilte und beschleunigte Trainingsstrategien
Bewertung des Modells
- Auswahl geeigneter Bewertungsmetriken
- Genauigkeit, Präzision, Recall und F1-Score
- Bewertungsmetriken für Regression
- Verwechslungsmatrizen
- Validierungsstrategien
- Bewertung von Klassifikationsmodellen
- Bewertung der Generalisierungsfähigkeit des Modells
- Identifikation von Modellschwächen
- Vergleich verschiedener Modellkonfigurationen
Vorhersagen erstellen
- Nutzung trainierter Modelle für Inferenz
- Vorbereitung neuer Eingabedaten
- Durchführung von Batch- und individuellen Vorhersagen
- Interpretation der Modellausgaben
- Klassifikationswahrscheinlichkeiten
- Regressionsvorhersagen
- Aufbau eines Inferenz-Workflows
- Verarbeitung unbekannter Daten
- Verwaltung von Vorhersage-Pipelines
Bewertung der Vorhersagen
- Analyse der Vorhersagequalität
- Vergleich der Vorhersagen mit erwarteten Ergebnissen
- Identifikation von Fehlpositiven und Fehlnegativen
- Fehleranalyse
- Bewertung des Modellselbstvertrauens
- Visualisierung von Vorhersageergebnissen
- Erkennung von Verzerrungen in Daten und Vorhersagen
- Verbesserung der Modellleistung basierend auf der Vorhersageanalyse
Fehlerbehebung im Modell
- Identifikation gängiger Trainingsprobleme
- Diagnose fehlerhafter Vorhersagen
- Debugging von Datenpipelines
- Untersuchung des Verhaltens von Loss und Metriken
- Erkennung von explodierenden und verschwindenden Gradienten
- Diagnose von Overfitting und Underfitting
- Inspektion von Modellschichten und -ausgaben
- Nutzung von TensorFlow-Debugging- und Profiling-Werkzeugen
- Verbesserung der Modellstabilität und -leistung
Speichern eines Modells
- Speichern trainierter Modelle
- TensorFlow SavedModel-Format
- Speichern und Wiederherstellen von Modellgewichten
- Speichern der Modellarchitektur und -konfiguration
- Laden von Modellen für die Inferenz
- Modellversionierung
- Exportieren von Modellen für die Bereitstellung
- Verwaltung von Modellartefakten
- Vorbereitung von Modellen für Produktivumgebungen
Bereitstellung eines Modells in der Cloud
- Einführung in die Cloud-basierte Modellbereitstellung
- Vorbereitung von TensorFlow-Modellen für den Produktivbetrieb
- Bereitstellung von Modellen über APIs
- Grundkonzepte der Modellbereitstellung
- Containerisierung von TensorFlow-Anwendungen
- Cloud-basierte Inferenz
- Skalierung von Modellbereitstellungs-Workloads
- Überwachung bereitgestellter Modelle
- Verwaltung von Modellversionen
- Überlegungen zur Bereitstellung im Produktivbetrieb
Bereitstellung eines Modells auf einem Mobilgerät
- Herausforderungen des mobilen Machine Learning
- TensorFlow Lite
- Konvertierung von TensorFlow-Modellen für den mobilen Einsatz
- Modelloptimierung und Größenreduzierung
- Quantisierung
- Durchführung von Inferenz auf Mobilgeräten
- Verwaltung der Ressourcen von Mobilgeräten
- Integration von Modellen in mobile Anwendungen
- Testen der mobilen Inferenzleistung
Bereitstellung eines Modells auf einem Embedded-System (IoT)
- Machine Learning auf Embedded-Geräten
- TensorFlow Lite für Embedded-Anwendungen
- Ressourcenbeschränkungen und Optimierung
- Reduzierung der Modellgröße und der Rechenanforderungen
- Edge-Inferenz
- Verarbeitung von Sensor- und Echtzeitdaten
- Lokale Durchführung von Vorhersagen
- Berücksichtigung von Leistung und Speicher
- Integration von TensorFlow-Modellen in IoT-Workflows
- Testen und Überwachung von Edge-Bereitstellungen
Integration eines Modells mit verschiedenen Programmiersprachen
- Interoperabilität von TensorFlow-Modellen
- Bereitstellung von Modellen über APIs
- Nutzung von TensorFlow-Modellen in verschiedenen Programmierumgebungen
- Modellintegration auf Python-Basis
- Integration von Modellen in Webanwendungen
- Modellinferenz über REST-basierte Dienste
- Integration von TensorFlow in bestehende Anwendungen
- Datenaustausch und Serialisierung
- Überlegungen zur Integration im Produktivbetrieb
Fehlerbehebung
- Diagnose von TensorFlow-Installationsproblemen
- Fehlerbehebung bei Modellbaufehlern
- Debugging von Problemen bei der Datenvorverarbeitung
- Auflösung von Trainingsausfällen
- Untersuchung von Konfigurationsproblemen mit GPU und TPU
- Diagnose von Speicher- und Leistungsproblemen
- Fehlerbehebung beim Laden und Speichern von Modellen
- Debugging von Bereitstellungsproblemen
- Praktische Übungen zur Fehlerbehebung
Zusammenfassung und Schlussfolgerung
- Wiederholung der Konzepte von TensorFlow 2.x
- Wiederholung der Workflows für neuronale Netze und Deep Learning
- Wiederholung der Datenvorbereitung und Modellentwicklung
- Wiederholung der Bildklassifikation
- Wiederholung der Trainings- und Bewertungstechniken
- Wiederholung der Modelldebugging und -optimierung
- Wiederholung der Bereitstellung in Cloud, Mobile und IoT
- Best Practices für die TensorFlow-Entwicklung
- Letzte praktische Übung
- Fragen und Diskussion
Voraussetzungen
- Programmiererfahrung in Python.
- Erfahrung mit der Linux-Befehlszeile.
Zielgruppe
- Entwickler
- Data Scientists
Erfahrungsberichte (4)
Die Ausbildung war gut organisiert und strukturiert. Ich habe sie mit systematischem Wissen und einer fundierten Übersicht der behandelten Themen successfully absolviert.
Magdalena - Samsung Electronics Polska Sp. z o.o.
Kurs - Deep Learning with TensorFlow 2
Maschinelle Übersetzung
Das Wissen des Trainers und die Tatsache, dass sie sehr zugänglich waren. Sie konnten wichtiges Wissen leicht vermitteln.
Mateusz Stachyra - Samsung Electronics Polska Sp. z o.o.
Kurs - Deep Learning with TensorFlow 2
Maschinelle Übersetzung
Ich mochte es, dass wir auch die Grundlagen behandelt haben
Tomasz - Samsung Electronics Polska Sp. z o.o.
Kurs - Deep Learning with TensorFlow 2
Maschinelle Übersetzung
Der Trainer erklärte den Inhalt gut und war die ganze Zeit sehr fesselnd. Er machte Pausen, um Fragen zu stellen, und ließ uns in einigen praktischen Sitzungen selbstständig zu Lösungen kommen. Er passte den Kurs auch hervorragend an unsere Bedürfnisse an.
Robert Baker
Kurs - Deep Learning with TensorFlow 2.0
Maschinelle Übersetzung