Schulungsübersicht
Einführung
- Einführung in TensorFlow und Deep Learning
- Anwendungsfälle und Use Cases von TensorFlow
- TensorFlow-Ökosystem und Tools
- Workflows für maschinelles Lernen und Deep Learning
- Übersicht über die Lernziele des Kurses und praktische Übungen
TensorFlow 2.x im Vergleich zu früheren Versionen – Was ist neu?
- Hauptunterschiede zwischen TensorFlow 1.x und 2.x
- Eager Execution
- Vereinfachte APIs und verbesserte Benutzerfreundlichkeit
- Änderungen bei der Modellkonstruktion und -trainierung
- Einführung von Keras als High-Level-API
- Berücksichtigung von Migrationsschritten für bestehende TensorFlow-Anwendungen
- Best Practices für TensorFlow 2.x
Einrichtung von TensorFlow 2.x
- Installation von TensorFlow
- Konfiguration einer Python-Umgebung
- Verifizierung 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
- Behandlung von Installations- und Konfigurationsproblemen
Überblick über die Funktionen und die Architektur von TensorFlow 2.x
- TensorFlow-Architektur und Kernkomponenten
- Tensoren und Tensor-Operationen
- Variablen und Konstanten
- Berechnungsgraphen 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
- Vordwärtspropagation
- Verlustfunktionen
- Rückwärtspropagation
- Gradientenabstieg und Optimierung
- Lernraten und Optimierungsstrategien
- Overfitting und Underfitting
- Regularisierungstechniken
- Trainings-, Validierungs- und Testdatenbestände
Erstellung von Deep-Learning-Modellen mit TensorFlow 2.x
- Erstellung von Tensoren und Variablen
- Aufbau neuronaler Netze mit Keras
- Sequentielle und funktionale Modell-APIs
- Definition benutzerdefinierter Modelle und Schichten
- Konfiguration von Optimizern
- Auswahl geeigneter Verlustfunktionen
- Training von Modellen mit
fit() - Benutzerdefinierte Trainingsloops
- Callbacks und Überwachung des Trainings
- Verwaltung von Modell-Checkpoints
Datenanalyse
- Verständnis von Datenbeständen für maschinelles Lernen
- Untersuchung strukturierter und unstrukturierter Daten
- Datenvisualisierung
- Identifizierung von Mustern und Anomalien
- Bearbeitung fehlender und inkonsistenter Daten
- Aufteilung der Daten in Trainings-, Validierungs- und Testdaten
- Auswahl relevanter Merkmale
- Vorbereitung der Datenbestände für TensorFlow-Modelle
Datenvorverarbeitung
- Normalisierung und Standardisierung von Daten
- Kodierung kategorialer Daten
- Bearbeitung fehlender Werte
- Merkmalskalibrierung
- Bildvorverarbeitung
- Textvorverarbeitung
- Daten-Augmentation
- Aufbau effizienter Eingabepipelines
- Verwendung von
tf.data - Batching, Shuffling, Caching und Vorauslesen
- Vorbereitung der Daten für das Modelltraining
Modellbau
- Auswahl einer geeigneten neuronalen Netzwerkarchitektur
- Definition der Modell-Eingaben und -Ausgaben
- Erstellung dichter neuronaler Netze
- Auswahl von Aktivierungsfunktionen
- Konfiguration des Modells für das Training
- Auswahl von Optimizern und Verlustfunktionen
- Training und Validierung des Modells
- Überwachung der Trainingsmetriken
- Verbesserung der Modellleistung
- Vermeidung von Overfitting
- Implementierung von Regularisierung und Dropout
Implementierung eines Bildklassifikators nach Stand der Technik
- Grundlagen der Bildklassifizierung
- Vorbereitung von Bilddatensätzen
- Normalisierung und Augmentation von Bildern
- Konvolutionelle neuronale Netze
- Konvolutions- und Pooling-Schichten
- Design einer Bildklassifizierungsarchitektur
- Transfer Learning
- Verwendung vortrainierter Modelle
- Fine-Tuning vortrainierter Netze
- Erstellung eines fortgeschrittenen Bildklassifikators
- Bewertung der Klassifizierungsleistung
Training des Modells
- Konfiguration der Trainingsparameter
- Batch-Größe und Epochen
- Auswahl des Optimizers
- Lernrateneinstellung
- Trainings-Callbacks
- Frühes Stoppen (Early Stopping)
- Checkpointen von Modellen
- Überwachung des Trainingsfortschritts
- Erkennung von Overfitting
- Verbesserung der Trainingsleistung
- Berücksichtigung des verteilten Trainings
Training auf einer GPU im Vergleich zu einem TPU
- Architekturen von CPU, GPU und TPU
- Vorteile der Hardware-Beschleunigung
- Konfiguration von TensorFlow für GPU-Training
- Verständnis des TPU-basierten Trainings
- Hardwareauswahl 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
- Genaugkeit, Präzision, Recall und F1-Score
- Bewertungsmetriken für Regression
- Verwechslungsmatrizen
- Validierungsstrategien
- Bewertung von Klassifikationsmodellen
- Bewertung der Modellgeneralisierung
- Identifizierung von Modellmängeln
- Vergleich verschiedener Modellkonfigurationen
Vorhersagen treffen
- Nutzung trainierter Modelle für Inferenz
- Vorbereitung neuer Eingabedaten
- Durchführung von Batch- und Einzelvorhersagen
- Interpretation der Modellausgaben
- Klassifizierungswahrscheinlichkeiten
- Regressionsergebnisse
- Aufbau einer Inferenz-Pipeline
- Umgang mit unbekannten Daten
- Verwaltung von Vorhersagepipelines
Bewertung der Vorhersagen
- Analyse der Vorhersagequalität
- Vergleich der Vorhersagen mit erwarteten Ergebnissen
- Identifizierung von falsch positiven und falsch negativen Ergebnissen
- Fehleranalyse
- Bewertung des Modellsicherheitsgrades
- Visualisierung der Vorhersageergebnisse
- Erkennung von Verzerrungen in Daten und Vorhersagen
- Verbesserung der Modellleistung basierend auf der Vorhersageanalyse
Fehlerbehebung im Modell
- Identifizierung häufiger Trainingsprobleme
- Diagnose falscher Vorhersagen
- Fehlerbehebung in Datenpipelines
- Untersuchung des Verhaltens von Verlust und Metriken
- Erkennung von explodierenden und verschwindenden Gradienten
- Diagnose von Overfitting und Underfitting
- Prüfung der Modellschichten und -ausgaben
- Nutzung von TensorFlow-Tools zur Fehlersuche und Profiling
- Verbesserung der Modellstabilität und -leistung
Modell speichern
- Speichern trainierter Modelle
- TensorFlow-SavedModel-Format
- Speichern und Wiederherstellen von Modellgewichten
- Speichern der Modellarchitektur und -konfiguration
- Laden von Modellen für die Inferenz
- Versionierung von Modellen
- Exportieren von Modellen für die Bereitstellung
- Verwaltung von Modellartefakten
- Vorbereitung von Modellen für Produktionsumgebungen
Bereitstellung eines Modells in der Cloud
- Einführung in die modellbasierte Bereitstellung in der Cloud
- Vorbereitung von TensorFlow-Modellen für den Produktiveinsatz
- Bereitstellung von Modellen über APIs
- Begriffe der Modellbereitstellung
- Containerisierung von TensorFlow-Anwendungen
- Cloud-basierte Inferenz
- Skalierung von Modellbereitstellungs-Workloads
- Überwachung bereitgestellter Modelle
- Verwaltung von Modellversionen
- Berücksichtigung von Aspekten der Produktionsbereitstellung
Bereitstellung eines Modells auf einem mobilen Gerät
- Herausforderungen im mobilen maschinellen Lernen
- TensorFlow Lite
- Konvertierung von TensorFlow-Modellen für die mobile Bereitstellung
- Optimierung von Modellen und Größenreduzierung
- Quantisierung
- Durchführung der Inferenz auf mobilen Geräten
- Verwaltung von Ressourcen mobiler Geräte
- Integration von Modellen in mobile Anwendungen
- Testen der mobilen Inferenzleistung
Bereitstellung eines Modells auf einem eingebetteten System (IoT)
- Maschinelles Lernen auf eingebetteten Geräten
- TensorFlow Lite für eingebettete Anwendungen
- Ressourcenbeschränkungen und Optimierung
- Reduzierung der Modellgröße und der Rechenanforderungen
- Edge-Inferenz
- Verarbeitung von Sensor- und Echtzeitdaten
- Durchführung von Vorhersagen lokal
- Berücksichtigung von Stromverbrauch und Speicher
- Integration von TensorFlow-Modellen in IoT-Workflows
- Testen und Überwachen von Edge-Bereitstellungen
Integration eines Modells mit verschiedenen Sprachen
- Interoperabilität von TensorFlow-Modellen
- Bereitstellung von Modellen über APIs
- Nutzung von TensorFlow-Modellen aus verschiedenen Programmierumgebungen
- Python-basierte Modellintegration
- Integration von Modellen in Webanwendungen
- Modellinferenz über REST-basierte Dienste
- Integration von TensorFlow in bestehende Anwendungen
- Datenaustausch und Serialisierung
- Berücksichtigung von Aspekten der Produktionsintegration
Problembehebung
- Diagnose von TensorFlow-Installationsproblemen
- Problembehebung bei Modellbau-Fehlern
- Fehlerbehebung bei Problemen mit der Datenvorverarbeitung
- Lösung von Trainingsscheitern
- Untersuchung von Konfigurationsproblemen für GPU und TPU
- Diagnose von Speicher- und Leistungsproblemen
- Problembehebung beim Laden und Speichern von Modellen
- Fehlerbehebung bei Bereitstellungsproblemen
- Praktische Übungen zur Problembehebung
Zusammenfassung und Schlussfolgerungen
- Wiederholung der Konzepte von TensorFlow 2.x
- Wiederholung der Workflows für neuronale Netze und Deep Learning
- Wiederholung der Datenvorbereitung und Modellentwicklung
- Wiederholung der Bildklassifizierung
- Wiederholung der Trainings- und Bewertungstechniken
- Wiederholung der Modellfehlerbehebung 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.
- Kenntnisse der Linux-Command-Line.
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