PyTorch für Deep Learning

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

  1. Cover
  2. Titel
  3. Impressum
  4. Inhalt
  5. Vorwort
  6. 1 Einstieg in PyTorch
    1. Zusammenbau eines maßgeschneiderten Deep-Learning-Rechners
    2. Grafikprozessor (GPU)
    3. Hauptprozessor (CPU) und Motherboard
    4. Arbeitsspeicher (RAM)
    5. Speicher
    6. Deep Learning in der Cloud
    7. Google Colaboratory
    8. Cloud-Anbieter
    9. Welchen Cloud-Anbieter sollte ich wählen?
    10. Verwendung von Jupyter Notebook
    11. PyTorch selbst installieren
    12. CUDA downloaden
    13. Anaconda
    14. Zu guter Letzt – PyTorch (und Jupyter Notebook)
    15. Tensoren
    16. Tensoroperationen
    17. Tensor-Broadcasting
    18. Zusammenfassung
    19. Weiterführende Literatur
  7. 2 Bildklassifizierung mit PyTorch
    1. Unsere Klassifizierungsaufgabe
    2. Traditionelle Herausforderungen
    3. Zunächst erst mal Daten
    4. Daten mit PyTorch einspielen
    5. Einen Trainingsdatensatz erstellen
    6. Erstellen eines Validierungs- und eines Testdatensatzes
    7. Endlich, ein neuronales Netzwerk!
    8. Aktivierungsfunktionen
    9. Ein Netzwerk erstellen
    10. Verlustfunktionen
    11. Optimierung
    12. Training
    13. Validierung
    14. Ein Modell auf der GPU zum Laufen bringen
    15. Alles in einem
    16. Vorhersagen treffen
    17. Speichern von Modellen
    18. Zusammenfassung
    19. Weiterführende Literatur
  8. 3 Neuronale Konvolutionsnetze (CNNs)
    1. Unser erstes Konvolutionsnetz
    2. Konvolutionen
    3. Pooling
    4. Die Dropout-Schicht
    5. Die Geschichte der CNN-Architekturen
    6. AlexNet
    7. Inception/GoogLeNet
    8. VGG
    9. ResNet
    10. Weitere Architekturen
    11. Vortrainierte Modelle in PyTorch nutzen
    12. Die Struktur eines Modells untersuchen
    13. Die Batch-Normalisierungs-Schicht
    14. Welches Modell sollten Sie verwenden?
    15. One-Stop-Shopping für Modelle: PyTorch Hub
    16. Zusammenfassung
    17. Weiterführende Literatur
  9. 4 Transfer Learning und andere Kniffe
    1. Transfer Learning mit ResNet
    2. Die optimale Lernrate finden
    3. Differenzielle Lernraten
    4. Datenaugmentation
    5. Transformationen in Torchvision
    6. Farbräume und Lambda-Transformationen
    7. Benutzerdefinierte Transformationsklassen
    8. Klein anfangen und schrittweise vergrößern!
    9. Ensemble-Modelle
    10. Zusammenfassung
    11. Weiterführende Literatur
  10. 5 Textklassifizierung
    1. Rekurrente neuronale Netzwerke
    2. Long-Short-Term-Memory-(LSTM-)Netzwerke
    3. Gated Recurrent Units (GRUs)
    4. BiLSTM-Netzwerke
    5. Einbettungen
    6. Torchtext
    7. Ein Twitter-Datensatz
    8. Field-Objekte definieren
    9. Einen Wortschatz aufbauen
    10. Erstellung unseres Modells
    11. Die Trainingsschleife modifizieren
    12. Tweets klassifizieren
    13. Datenaugmentation
    14. Zufälliges Einfügen
    15. Zufälliges Löschen
    16. Zufälliges Austauschen
    17. Rückübersetzung
    18. Datenaugmentation und Torchtext
    19. Transfer Learning?
    20. Zusammenfassung
    21. Weiterführende Literatur
  11. 6 Eine Reise in die Welt der Klänge
    1. Töne
    2. Der ESC-50-Datensatz
    3. Den Datensatz beschaffen
    4. Audiowiedergabe in Jupyter
    5. Den ESC-50-Datensatz erkunden
    6. SoX und LibROSA
    7. torchaudio
    8. Einrichten eines eigenen ESC-50-Datensatzes
    9. Ein CNN-Modell für den ESC-50-Datensatz
    10. Frequenzbereich
    11. Mel-Spektrogramme
    12. Ein neuer Datensatz
    13. Ein vortrainiertes ResNet-Modell
    14. Lernrate finden
    15. Datenaugmentation für Audiodaten
    16. Transformationen mit torchaudio
    17. SoX-Effektketten
    18. SpecAugment
    19. Weitere Experimente
    20. Zusammenfassung
    21. Weiterführende Literatur
  12. 7 PyTorch-Modelle debuggen
    1. 3 Uhr morgens. Wie steht es um Ihre Daten?
    2. TensorBoard
    3. TensorBoard installieren
    4. Daten an TensorBoard übermitteln
    5. Hooks in PyTorch
    6. Mittelwert und Standardabweichung visualisieren
    7. Class Activation Mapping
    8. Flammendiagramme
    9. py-spy installieren
    10. Flammendiagramme interpretieren
    11. Eine langsame Transformation beheben
    12. Debuggen von GPU-Problemen
    13. Die GPU überwachen
    14. Gradient-Checkpointing
    15. Zusammenfassung
    16. Weiterführende Literatur
  13. 8 PyTorch im Produktiveinsatz
    1. Bereitstellen eines Modells
    2. Einrichten eines Flask-Webdiensts
    3. Modellparameter laden
    4. Erstellen eines Docker-Containers
    5. Unterschiede zwischen lokalem und Cloud-Speicher
    6. Logging und Telemetrie
    7. Deployment mit Kubernetes
    8. Einrichten der Google Kubernetes Engine
    9. Aufsetzen eines Kubernetes-Clusters
    10. Dienste skalieren
    11. Aktualisierungen und Bereinigungen
    12. TorchScript
    13. Tracing
    14. Scripting
    15. Einschränkungen in TorchScript
    16. Mit libTorch arbeiten
    17. libTorch einrichten
    18. Ein TorchScript-Modell importieren
    19. Quantisierung
    20. Dynamische Quantisierung
    21. Weitere Quantisierungsmöglichkeiten
    22. Lohnt sich das alles?
    23. Zusammenfassung
    24. Weiterführende Literatur
  14. 9 Praxiserprobte PyTorch-Modelle in Aktion
    1. Datenaugmentation: Vermischen und Glätten
    2. Mixup
    3. Label-Glättung
    4. Computer, einmal in scharf bitte!
    5. Einführung in die Super-Resolution
    6. Einführung in Generative Adversarial Networks (GANs)
    7. Der Fälscher und sein Kritiker
    8. Trainieren eines GAN
    9. Die Gefahr des Mode Collapse
    10. ESRGAN
    11. Weitere Einblicke in die Bilderkennung
    12. Objekterkennung
    13. Faster R-CNN und Mask R-CNN
    14. Adversarial Samples
    15. Black-Box-Angriffe
    16. Abwehr adversarialer Angriffe
    17. Die Transformer-Architektur
    18. Aufmerksamkeitsmechanismus
    19. Attention Is All You Need
    20. BERT
    21. FastBERT
    22. GPT-2
    23. GPT-2 vorbereiten
    24. Texte mit GPT-2 erzeugen
    25. Beispielhafte Ausgabe
    26. ULMFiT
    27. Welches Modell verwenden?
    28. Selbstüberwachtes Training mit PyTorch Lightning auf Basis von Bildern
    29. Rekonstruieren und Erweitern der Eingabe
    30. Daten automatisch labeln
    31. PyTorch Lightning
    32. Der Imagenette-Datensatz
    33. Einen selbstüberwachten Datensatz erstellen
    34. Ein Modell mit PyTorch Lightning erstellen
    35. Weitere Möglichkeiten zur Selbstüberwachung (und darüber hinaus)
    36. Zusammenfassung
    37. Weiterführende Literatur
  15. Index
  16. Über den Autor
  17. Über den Übersetzer
  18. Fußnoten

Product information

  • Title: PyTorch für Deep Learning
  • Author(s): Ian Pointer
  • Release date: September 2020
  • Publisher(s): dpunkt
  • ISBN: 9783960091349