Hands-on-Workshop: Convolutional Neural Networks mit TensorFlow/Keras
Classroom Schulung | Deutsch | Anspruch
Schulungsdauer: 2 Tage
Ziele
Das Ziel des Seminars ist es, Teilnehmern, die im Bereich der Bildverarbeitung arbeiten, die Funktionsweise eines Convolutional Neural Networks (CNNs) zu erklären und anhand einer Fallstudie zu zeigen, wie man ein CNN in TensorFlow/Keras aufbaut und trainiert, so dass es selbständig Bilder für eigene Aufgaben klassifizieren kann.
Zielgruppe
Zielgruppe sind technisch arbeitende Mitarbeiter, die an Bildverarbeitungsaufgaben arbeiten und sich in das Thema "Convolutional Neural Networks" einarbeiten möchten, aber auch alle, die am Thema Deep Learning allgemein interessiert sind und ein konkretes Deep-Learning Modell einmal tiefer durchdringen möchten.
Voraussetzungen
Einfache Programmiervorkenntnisse in einer beliebigen Programmiersprache reichen.
Die Codebeispiele werden anhand von sog. Jupyter-Notebooks in der Programmiersprache Python vorgeführt. Hierbei werden wir auch die frei verfügbaren (auch kommerziell frei nutzbaren) Bibliotheken TensorFlow und Keras nutzen.
Agenda
Tag 1: Fokus auf Theorie
- Was ist Deep Learning?
- Was ist ein Convolutional Neural Network? (CNN)
- Wie funktioniert ein Convolutional Neural Network (CNN) genau?
- Wozu dienen die Filterschichten (Conv Layers) in einem CNN?
- Wozu dienen die MaxPooling-Operationen (MaxPool Layers)?
- Was ist das MLP am Ende eines CNNs?
- Wieso sind CNNs so erfolgreich?
- Was macht ein "Neuron" in einem CNN? Welche Teilaufgabe übernimmt es eigentlich?
- Installation der Arbeitsumgebung (TensorFlow/Keras, Jupyter, OpenCV)
- Ein einfaches MLP in Keras erstellen
Tag 2: Fokus auf Praxis
- Wie lädt man eigene Bilder ein?
- Wie baut man ein CNN in Keras?
- Welche Vorverarbeitungsschritte sind notwendig, um eigene Bilder ins CNN einzuspeisen?
- Wie trainiert man das CNN?
- Wie kann man das fertige CNN speichern und wiederherstellen?
- Wie kann ich mit Hilfe des fertig trainierten CNNs Bilder klassifizieren?
- Ausblick: von der Objektklassifikation zur Objektdetektion und Segmentierung
Ziele
Das Ziel des Seminars ist es, Teilnehmern, die im Bereich der Bildverarbeitung arbeiten, die Funktionsweise eines Convolutional Neural Networks (CNNs) zu erklären und anhand einer Fallstudie zu zeigen, wie man ein CNN in TensorFlow/Keras aufbaut und trainiert, so dass es selbständig Bilder für eigene Aufgaben klassifizieren kann.
Zielgruppe
Zielgruppe sind technisch arbeitende Mitarbeiter, die an Bildverarbeitungsaufgaben arbeiten und sich in das Thema "Convolutional Neural Networks" einarbeiten möchten, aber auch alle, die am Thema Deep Learning allgemein interessiert sind und ein konkretes Deep-Learning Modell einmal tiefer durchdringen möchten.
Voraussetzungen
Einfache Programmiervorkenntnisse in einer beliebigen Programmiersprache reichen.
Die Codebeispiele werden anhand von sog. Jupyter-Notebooks in der Programmiersprache Python vorgeführt. Hierbei werden wir auch die frei verfügbaren (auch kommerziell frei nutzbaren) Bibliotheken TensorFlow und Keras nutzen.
Agenda
Tag 1: Fokus auf Theorie
- Was ist Deep Learning?
- Was ist ein Convolutional Neural Network? (CNN)
- Wie funktioniert ein Convolutional Neural Network (CNN) genau?
- Wozu dienen die Filterschichten (Conv Layers) in einem CNN?
- Wozu dienen die MaxPooling-Operationen (MaxPool Layers)?
- Was ist das MLP am Ende eines CNNs?
- Wieso sind CNNs so erfolgreich?
- Was macht ein "Neuron" in einem CNN? Welche Teilaufgabe übernimmt es eigentlich?
- Installation der Arbeitsumgebung (TensorFlow/Keras, Jupyter, OpenCV)
- Ein einfaches MLP in Keras erstellen
Tag 2: Fokus auf Praxis
- Wie lädt man eigene Bilder ein?
- Wie baut man ein CNN in Keras?
- Welche Vorverarbeitungsschritte sind notwendig, um eigene Bilder ins CNN einzuspeisen?
- Wie trainiert man das CNN?
- Wie kann man das fertige CNN speichern und wiederherstellen?
- Wie kann ich mit Hilfe des fertig trainierten CNNs Bilder klassifizieren?
- Ausblick: von der Objektklassifikation zur Objektdetektion und Segmentierung