Rashid | GANs mit PyTorch selbst programmieren | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 216 Seiten

Rashid GANs mit PyTorch selbst programmieren

Ein verständlicher Einstieg in Generative Adversarial Networks
1. Auflage 2020
ISBN: 978-3-96010-394-3
Verlag: O'Reilly
Format: EPUB
Kopierschutz: 6 - ePub Watermark

Ein verständlicher Einstieg in Generative Adversarial Networks

E-Book, Deutsch, 216 Seiten

ISBN: 978-3-96010-394-3
Verlag: O'Reilly
Format: EPUB
Kopierschutz: 6 - ePub Watermark



Neues von Bestsellerautor Tariq Rashid: Eine Einführung in die innovative Deep-Learning-Technik GANs Schritt-für-Schritt-Anleitung zum Erstellen eigener GANs mit PyTorch, regt zum Ausprobieren an GANs (Generative Adversarial Networks) gehören zu den spannendsten neuen Algorithmen im Machine Learning Tariq Rashid erklärt diese schwierige Materie außergewöhnlich klar und gut nachvollziehbar 'Die coolste Idee im Deep Learning in den letzten 20 Jahren' sagt Yann LeCun, einer der weltweit führenden Forscher auf dem Gebiet der neuronalen Netze, über GANs, die Generative Adversarial Networks. Bei dieser noch neuen KI-Technik treten zwei neuronale Netze gegeneinander an mit dem Ziel, Bilder, Ton und Videos zu erzeugen, die vom Original nicht zu unterscheiden sind. Dieses Buch richtet sich an alle, die selbst ausprobieren möchten, wie GANs funktionieren. Tariq Rashid zeigt Ihnen Schritt für Schritt, wie Sie mit dem populären Framework PyTorch Ihre eigenen GANs erstellen und trainieren. Sie starten mit einem sehr einfachen GAN, um einen Workflow einzurichten, und üben erste Techniken anhand der MNIST-Datenbank ein. Mit diesem Wissen programmieren Sie dann ein GAN, das realistische menschliche Gesichter erzeugen kann. Tariq Rashids besondere Fähigkeit, komplexe Ideen verständlich zu erklären, macht das Buch zu einer unterhaltsamen Lektüre.

Tariq Rashid ist Physiker, hat einen Master in Machine Learning und Data Mining und leitet die Londoner Python-Meetup-Gruppe mit 3.000 Mitgliedern. Er ist ein Verfechter des Open-Source-Gedankens und konnte eine Open-Source-Reform für die britische Regierung durchführen. Er ist der Überzeugung, dass immer noch zu viele wichtige Ideen schlecht erklärt werden. Seine persönliche Mission ist es, spannende, aber komplexe technische Konzepte besser zu vermitteln.
Rashid GANs mit PyTorch selbst programmieren jetzt bestellen!

Weitere Infos & Material


KAPITEL 1


Grundlagen von PyTorch


In meinem letzten Buch haben wir einfache, aber effektive neuronale Netze erstellt, und zwar ausschließlich mit Python und der Bibliothek NumPy für das Verarbeiten von Datenarrays.

Auf beliebte Frameworks wie PyTorch und TensorFlow für das Erstellen von neuronalen Netzen haben wir verzichtet, weil es wichtig war, die Netze von Grund auf neu aufzubauen, um ihre Funktionsweise wirklich zu verstehen.

Diese ganze Arbeit, die wir zu Fuß erledigen mussten, macht deutlich, dass der Aufbau größerer Netzwerke eine mühsame Aufgabe werden könnte. Einer der aufwendigsten Bereiche ist die Berechnung der Beziehung zwischen dem Fehler, der durch Backpropagation zurückgegeben wurde, und den Gewichten in unserem Netz. Wenn wir das Netz verändern, müssen wir möglicherweise die gesamte Arbeit noch einmal absolvieren.

Hier werden wir einsetzen, weil uns diese Bibliothek eine Menge Routinearbeiten abnimmt, sodass wir uns auf den Entwurf unserer Netze konzentrieren können.

Zu den leistungsfähigsten und komfortabelsten Features von PyTorch gehört, dass die Bibliothek sämtliche Berechnungen für uns erledigt, egal welche Gestalt oder Größe das Netz hat, das wir uns ausdenken. Und wenn wir das Design unseres Netzes verändern, passt PyTorch die Berechnungen automatisch an, ohne dass wir Bleistift und Papier auspacken müssen, um die Gradienten erneut zu berechnen.

Außerdem hat man sich bei PyTorch wirklich sehr darum bemüht, dem Look-and-feel von normalem Python zu entsprechen. Das bedeutet, es ist leicht zu erlernen, wenn Sie Python bereits kennen, und es gibt weniger Überraschungen, wenn Sie damit arbeiten.

Google Colab


Wir haben im Buch Code mithilfe der webbasierten Python-Notebooks geschrieben, die auf unserem eigenen Computer gelaufen sind. Jetzt verwenden wir Python-Notebooks, die der kostenlose Dienst von Google bereitstellt und die unseren Code auf den Google-eigenen Computern ausführen.

Der Zugriff auf Colab-Dienste von Google erfolgt gänzlich über einen Webbrowser. Es ist nicht erforderlich, irgendwelche Software auf dem eigenen Computer oder Laptop zu installieren.

Bevor wir loslegen, sollten Sie sich mit einem Google-Konto anmelden. Wenn Sie über ein Gmail- oder YouTube-Konto verfügen, ist dies Ihr Google-Konto. Haben Sie noch kein Google-Konto eingerichtet, können Sie eines über den folgenden Link erstellen:

Sobald Sie angemeldet sind, aktivieren Sie den Colab-Dienst von Google, indem Sie den diesen Link besuchen:

Von dieser Seite aus gelangen Sie zu einem Beispiel-Python-Notebook. Wählen Sie im Menü den Eintrag , um ein neues Notebook anzulegen (siehe Abbildung 1-1).

Es erscheint ein leeres Python-Notebook (siehe Abbildung 1-2), das wir sofort verwenden können.

Wenn Sie sich auf einem separaten Browser-Tab den Google-Dateispeicher ansehen, finden Sie einen neuen Ordner namens . Dies ist der Ordner, in dem neue Python-Notebooks standardmäßig gespeichert werden.

Abbildung 1-3 zeigt ein neues Notebook mit dem Namen .

Wir überprüfen nun, ob wir Python-Code ausführen können. Tippen Sie in die erste Zelle den folgenden einfachen Code ein:

2 + 3

Klicken Sie auf die Schaltfläche mit dem Abspielen-Symbol links neben der Zelle, um den Code auszuführen. Wenn Sie den Colab-Dienst bisher noch nicht genutzt haben, kann es eine Weile dauern, bis die erste Python-Anweisung ausgeführt wird, da Google einen Moment braucht, um eine virtuelle Maschine zu starten und Ihr Notebook mit ihr zu verbinden.

Schließlich sollte die Antwort 5 erscheinen, wie Abbildung 1-4 zeigt.

Großartig! Alles funktioniert, und wir sind bereit, mehr über PyTorch zu erfahren.

PyTorch-Tensoren


Bevor wir PyTorch verwenden können, müssen wir das Python-Modul torch importieren. Erfreulicherweise hält der Colab-Service von Google viele dieser beliebten Bibliotheken für maschinelles Lernen für uns bereit, PyTorch eingeschlossen. Wir müssen die Bibliotheken nur noch importieren, um sie unmittelbar einsetzen zu können. Es ist nicht erforderlich, einen komplizierten Installationsprozess zu durchlaufen.

Geben Sie den folgenden Code in die erste Zelle ein und führen Sie ihn aus:

import torch

Um PyTorch zu verstehen, bietet es sich an, seine grundlegenden Informationseinheiten mit reinem Python zu vergleichen. In reinem Python speichern wir Zahlen in Variablen. Diese Variablen können wir wie mathematische Symbole verwenden, um neue Werte zu berechnen und diese in neuen Variablen zu speichern, wenn wir das wünschen.

Sehen Sie sich dazu den folgenden einfachen Python-Code an:

# Normale Python-Variablen

x = 3.5

y = x*x + 2

print(x, y)

Wir erzeugen eine Variable x und geben ihr den Wert 3.5. Dann erzeugen wir eine neue Variable y und geben ihr einen Wert, der aus dem Ausdruck x*x + 2 berechnet wird, was (3.5*3.5) + 2 oder 14.25 ist. Schließlich geben wir die Werte von x und y aus.

Tippen Sie den Code in eine neue Zelle ein und führen Sie ihn aus. Abbildung 1-5 zeigt, wie das Ergebnis aussehen sollte.

PyTorch hat eine eigene Form von Variablen, um Zahlen zu speichern – die sogenannten . Mit den folgenden Anweisungen erstellen Sie einen sehr einfachen Tensor:

# Einfacher PyTorch-Tensor

x = torch.tensor(3.5)

print(x)

Wir erzeugen hier etwas, das x genannt wird. Dieses x ist ein PyTorch-Tensor, der mit dem Wert 3.5 initialisiert wird.

Geben Sie den Code ein und führen Sie ihn aus, um zu sehen, was die Ausgabe von x bewirkt.

Die Ausgabe zeigt, dass der numerische Wert 3.5000 beträgt, aber auch, dass er in einem PyTorch-tensor enthalten ist. Es ist nützlich zu wissen, in welcher Art von Container diese Zahl gespeichert ist.

Führen wir nun einige einfache arithmetische Berechnungen mit diesem Tensor aus. Geben Sie in die nächste Zelle den folgenden Code ein:

# Einfache Arithmetik mit Tensoren

y = x + 3

print(y)

Hier erzeugen wir aus dem Ausdruck x + 3 eine neue Variable y. Eben haben wir x als PyTorch-Tensor mit dem Wert 3.5 erzeugt. Welchen Wert wird also y haben?

Probieren Sie es aus.

Wie Abbildung 1-7 zeigt, hat y den Wert 6.5, was Sinn ergibt, denn 3.5 + 3 = 6.5. Außerdem sehen wir, dass y ebenfalls ein PyTorch-Tensor ist.

Sicherlich erinnern Sie sich daran, dass auch NumPy-Arrays in der gleichen Weise funktionieren. Diese Vertrautheit kommt uns entgegen, und durch die Übereinstimmung mit NumPy ist es zudem einfacher, PyTorch zu erlernen.

Automatische Gradienten mit PyTorch


Sehen wir uns nun an, wie sich PyTorch von reinem Python und NumPy abhebt und es so besonders macht. Der folgende Code erzeugt genau wie zuvor einen Tensor x, dieses Mal aber geben wir PyTorch eine zusätzliche Option requires_grad= True mit. Wir werden bald sehen, was diese Option bewirkt.

# PyTorch-Tensor

x = torch.tensor(3.5, requires_grad=True)

print(x)

Führen Sie den Code aus und sehen Sie sich an, was für x ausgegeben wird (siehe Abbildung 1-8).


Tariq Rashid ist Physiker, hat einen Master in Machine Learning und Data Mining und leitet die Londoner Python-Meetup-Gruppe mit 3.000 Mitgliedern. Er ist ein Verfechter des Open-Source-Gedankens und konnte eine Open-Source-Reform für die britische Regierung durchführen. Er ist der Überzeugung, dass immer noch zu viele wichtige Ideen schlecht erklärt werden. Seine persönliche Mission ist es, spannende, aber komplexe technische Konzepte besser zu vermitteln.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.