Читать книгу PyTorch für Deep Learning - Ian Pointer - Страница 5
На сайте Литреса книга снята с продажи.
Inhalt
ОглавлениеVorwort
1Einstieg 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
2Bildklassifizierung 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
3Neuronale 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
4Transfer 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
5Textklassifizierung
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
6Eine 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
7PyTorch-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
8PyTorch 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
9Praxiserprobte 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