Book description
Mit diesem praxisorientierten Buch meistern Sie die Methoden des Deep Learning, einer Teildisziplin des Machine Learning, die die Welt um uns herum verändert.Machen Sie sich mit PyTorch, dem populären Python-Framework von Facebook, vertraut, und lernen Sie Schlüsselkonzepte und neueste Techniken, um Ihre eigenen neuronalen Netze zu entwickeln.
Ian Pointer zeigt Ihnen zunächst, wie Sie PyTorch in einer Cloud-basierten Umgebung einrichten. Er führt Sie dann durch die einzelnen Schritte der Entwicklung von neuronalen Architekturen, um praxisrelevante Anwendungen für Bilder, Ton, Text und andere Datenformate zu erstellen. Er erläutert auch das Transfer-Learning mit Bilddaten und das Debuggen der Modelle. Sie erfahren zudem, wie Sie Ihre Deep-Learning-Anwendungen in Docker-Containern und Kubernetes-Clustern in den Produktiveinsatz bringen.
Table of contents
- Cover
- Titel
- Impressum
- Inhalt
- Vorwort
-
1 Einstieg in PyTorch
- Zusammenbau eines maßgeschneiderten Deep-Learning-Rechners
- Grafikprozessor (GPU)
- Hauptprozessor (CPU) und Motherboard
- Arbeitsspeicher (RAM)
- Speicher
- Deep Learning in der Cloud
- Google Colaboratory
- Cloud-Anbieter
- Welchen Cloud-Anbieter sollte ich wählen?
- Verwendung von Jupyter Notebook
- PyTorch selbst installieren
- CUDA downloaden
- Anaconda
- Zu guter Letzt – PyTorch (und Jupyter Notebook)
- Tensoren
- Tensoroperationen
- Tensor-Broadcasting
- Zusammenfassung
- Weiterführende Literatur
-
2 Bildklassifizierung mit PyTorch
- Unsere Klassifizierungsaufgabe
- Traditionelle Herausforderungen
- Zunächst erst mal Daten
- Daten mit PyTorch einspielen
- Einen Trainingsdatensatz erstellen
- Erstellen eines Validierungs- und eines Testdatensatzes
- Endlich, ein neuronales Netzwerk!
- Aktivierungsfunktionen
- Ein Netzwerk erstellen
- Verlustfunktionen
- Optimierung
- Training
- Validierung
- Ein Modell auf der GPU zum Laufen bringen
- Alles in einem
- Vorhersagen treffen
- Speichern von Modellen
- Zusammenfassung
- Weiterführende Literatur
-
3 Neuronale Konvolutionsnetze (CNNs)
- Unser erstes Konvolutionsnetz
- Konvolutionen
- Pooling
- Die Dropout-Schicht
- Die Geschichte der CNN-Architekturen
- AlexNet
- Inception/GoogLeNet
- VGG
- ResNet
- Weitere Architekturen
- Vortrainierte Modelle in PyTorch nutzen
- Die Struktur eines Modells untersuchen
- Die Batch-Normalisierungs-Schicht
- Welches Modell sollten Sie verwenden?
- One-Stop-Shopping für Modelle: PyTorch Hub
- Zusammenfassung
- Weiterführende Literatur
-
4 Transfer Learning und andere Kniffe
- Transfer Learning mit ResNet
- Die optimale Lernrate finden
- Differenzielle Lernraten
- Datenaugmentation
- Transformationen in Torchvision
- Farbräume und Lambda-Transformationen
- Benutzerdefinierte Transformationsklassen
- Klein anfangen und schrittweise vergrößern!
- Ensemble-Modelle
- Zusammenfassung
- Weiterführende Literatur
-
5 Textklassifizierung
- Rekurrente neuronale Netzwerke
- Long-Short-Term-Memory-(LSTM-)Netzwerke
- Gated Recurrent Units (GRUs)
- BiLSTM-Netzwerke
- Einbettungen
- Torchtext
- Ein Twitter-Datensatz
- Field-Objekte definieren
- Einen Wortschatz aufbauen
- Erstellung unseres Modells
- Die Trainingsschleife modifizieren
- Tweets klassifizieren
- Datenaugmentation
- Zufälliges Einfügen
- Zufälliges Löschen
- Zufälliges Austauschen
- Rückübersetzung
- Datenaugmentation und Torchtext
- Transfer Learning?
- Zusammenfassung
- Weiterführende Literatur
-
6 Eine Reise in die Welt der Klänge
- Töne
- Der ESC-50-Datensatz
- Den Datensatz beschaffen
- Audiowiedergabe in Jupyter
- Den ESC-50-Datensatz erkunden
- SoX und LibROSA
- torchaudio
- Einrichten eines eigenen ESC-50-Datensatzes
- Ein CNN-Modell für den ESC-50-Datensatz
- Frequenzbereich
- Mel-Spektrogramme
- Ein neuer Datensatz
- Ein vortrainiertes ResNet-Modell
- Lernrate finden
- Datenaugmentation für Audiodaten
- Transformationen mit torchaudio
- SoX-Effektketten
- SpecAugment
- Weitere Experimente
- Zusammenfassung
- Weiterführende Literatur
-
7 PyTorch-Modelle debuggen
- 3 Uhr morgens. Wie steht es um Ihre Daten?
- TensorBoard
- TensorBoard installieren
- Daten an TensorBoard übermitteln
- Hooks in PyTorch
- Mittelwert und Standardabweichung visualisieren
- Class Activation Mapping
- Flammendiagramme
- py-spy installieren
- Flammendiagramme interpretieren
- Eine langsame Transformation beheben
- Debuggen von GPU-Problemen
- Die GPU überwachen
- Gradient-Checkpointing
- Zusammenfassung
- Weiterführende Literatur
-
8 PyTorch im Produktiveinsatz
- Bereitstellen eines Modells
- Einrichten eines Flask-Webdiensts
- Modellparameter laden
- Erstellen eines Docker-Containers
- Unterschiede zwischen lokalem und Cloud-Speicher
- Logging und Telemetrie
- Deployment mit Kubernetes
- Einrichten der Google Kubernetes Engine
- Aufsetzen eines Kubernetes-Clusters
- Dienste skalieren
- Aktualisierungen und Bereinigungen
- TorchScript
- Tracing
- Scripting
- Einschränkungen in TorchScript
- Mit libTorch arbeiten
- libTorch einrichten
- Ein TorchScript-Modell importieren
- Quantisierung
- Dynamische Quantisierung
- Weitere Quantisierungsmöglichkeiten
- Lohnt sich das alles?
- Zusammenfassung
- Weiterführende Literatur
-
9 Praxiserprobte PyTorch-Modelle in Aktion
- Datenaugmentation: Vermischen und Glätten
- Mixup
- Label-Glättung
- Computer, einmal in scharf bitte!
- Einführung in die Super-Resolution
- Einführung in Generative Adversarial Networks (GANs)
- Der Fälscher und sein Kritiker
- Trainieren eines GAN
- Die Gefahr des Mode Collapse
- ESRGAN
- Weitere Einblicke in die Bilderkennung
- Objekterkennung
- Faster R-CNN und Mask R-CNN
- Adversarial Samples
- Black-Box-Angriffe
- Abwehr adversarialer Angriffe
- Die Transformer-Architektur
- Aufmerksamkeitsmechanismus
- Attention Is All You Need
- BERT
- FastBERT
- GPT-2
- GPT-2 vorbereiten
- Texte mit GPT-2 erzeugen
- Beispielhafte Ausgabe
- ULMFiT
- Welches Modell verwenden?
- Selbstüberwachtes Training mit PyTorch Lightning auf Basis von Bildern
- Rekonstruieren und Erweitern der Eingabe
- Daten automatisch labeln
- PyTorch Lightning
- Der Imagenette-Datensatz
- Einen selbstüberwachten Datensatz erstellen
- Ein Modell mit PyTorch Lightning erstellen
- Weitere Möglichkeiten zur Selbstüberwachung (und darüber hinaus)
- Zusammenfassung
- Weiterführende Literatur
- Index
- Über den Autor
- Über den Übersetzer
- Fußnoten
Product information
- Title: PyTorch für Deep Learning
- Author(s):
- Release date: September 2020
- Publisher(s): dpunkt
- ISBN: 9783960091349
You might also like
book
Generatives Deep Learning
Generative Modelle haben sich zu einem der spannendsten Themenbereiche der Künstlichen Intelligenz entwickelt: Mit generativem Deep …
book
Deep Learning illustriert
Das Buch bietet einen einfachen Zugang zum Aufbau von Deep-Learning-Modellen und erleichtert das Lernen mit farbenfrohen, …
book
Praxiseinstieg Machine Learning mit Scikit-Learn und TensorFlow
Eine Reihe technischer Durchbrüche beim Deep Learning haben das gesamte Gebiet des maschinellen Lernens in den …
book
Deep Learning – Grundlagen und Implementierung
Dieses Buch vermittelt Ihnen das konzeptionelle und praktische Rüstzeug, um ein tiefes Verständnis für die Funktionsweise …