PyTorch für Deep Learning
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Оглавление
Ian Pointer. PyTorch für Deep Learning
PyTorch für Deep Learning
Inhalt
Vorwort. Deep Learning in der heutigen Zeit
Aber was genau ist Deep Learning, und brauche ich einen Doktortitel, um es verstehen zu können?
PyTorch
Warum nicht TensorFlow?
Ziel und Ansatz
Voraussetzungen
Wegweiser durch dieses Buch
Veränderungen gegenüber der englischsprachigen Ausgabe
Softwareversionen
Weitere Ressourcen
In diesem Buch verwendete Konventionen
Verwenden von Codebeispielen
Danksagungen
KAPITEL 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
Amazon Web Services
Azure
Google Cloud Platform
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
KAPITEL 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
KAPITEL 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
KAPITEL 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
KAPITEL 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
KAPITEL 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
Frequenzmaskierung
Zeitmaskierung
Weitere Experimente
Zusammenfassung
Weiterführende Literatur
KAPITEL 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
KAPITEL 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
KAPITEL 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
ESRGAN zum Laufen bringen
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
CutOut und RandomErasing
Verunstalten
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
Kolophon
Fußnoten. Vorwort
KAPITEL 2 Bildklassifizierung mit PyTorch
KAPITEL 3 Neuronale Konvolutionsnetze (CNNs)
KAPITEL 4 Transfer Learning und andere Kniffe
KAPITEL 5 Textklassifizierung
KAPITEL 6 Eine Reise in die Welt der Klänge
KAPITEL 7 PyTorch-Modelle debuggen
KAPITEL 8 PyTorch im Produktiveinsatz
KAPITEL 9 Praxiserprobte PyTorch-Modelle in Aktion
Отрывок из книги
Anwendungen für Bild-, Ton- und Textdaten entwickeln und deployen
Ian Pointer
.....
Den ESC-50-Datensatz erkunden
SoX und LibROSA
.....