Читать книгу 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

PyTorch für Deep Learning

Подняться наверх