Deep Learning (Pytorch) - ND101 V7
Dieses Repository enthält Material im Zusammenhang mit dem Deep Learning V7 NanodeGree -Programm von Udacity. Es besteht aus einer Reihe von Tutorial -Notizbüchern für verschiedene tiefe Lernthemen. In den meisten Fällen führen Sie die Notebooks durch die Implementierung von Modellen wie Faltungsnetzwerken, wiederkehrenden Netzwerken und Gans. Es gibt andere Themen wie Gewichtsinitialisierung und Stapelnormalisierung.
Es gibt auch Notizbücher, die als Projekte für das NanodeGree -Programm verwendet werden. Im Programm selbst werden die Projekte von Real People (Udacity -Rezensenten) überprüft, aber der Startcode ist auch hier verfügbar.
Inhaltsverzeichnis
Tutorials
Einführung in neuronale Netze
- Einführung in neuronale Netzwerke: Erfahren Sie, wie Sie Gradientenabfälle implementieren und auf die Vorhersage von Mustern in den Zulassungsdaten von Studenten anwenden.
- Stimmungsanalyse mit Numpy: Andrew Trask führt Sie durch das Erstellen eines Stimmungsanalysemodells und sagt voraus, ob ein Text positiv oder negativ ist.
- Einführung in Pytorch: Erfahren Sie, wie Sie neuronale Netzwerke in Pytorch erstellen und vorgebildete Netzwerke für hochmoderne Bildklassifizierer verwenden.
Faltungsnetzwerke
- Faltungsnetzwerke mit Faltungen: Visualisieren Sie die Ausgabe von Ebenen, aus denen ein CNN besteht. Erfahren Sie, wie Sie einen CNN definieren und trainieren, um MNIST -Daten zu klassifizieren, eine handgeschriebene Zifferndatenbank, die in den Feldern des Maschinen- und Deep -Lernens bekannt ist. Definieren und trainieren Sie auch einen CNN zur Klassifizierung von Bildern im CIFAR10 -Datensatz.
- Übertragungslernen. In der Praxis schulen die meisten Menschen ihre eigenen Netzwerke nicht in riesigen Datensätzen. Sie verwenden vorgebildete Netzwerke wie VGGNet. Hier verwenden Sie VGGNet, um Bilder von Blumen zu klassifizieren, ohne ein End-to-End-Netzwerk von Grund auf neu zu trainieren.
- Gewichtsinitialisierung: Erforschen Sie, wie sich die Initialisierung von Netzwerkgewichten auf die Leistung auswirkt.
- Autocoder: Erstellen Sie Modelle für die Bildkomprimierung und De-Nr.
- Stilübertragung: Extrahieren Sie Stil- und Inhaltsfunktionen aus Bildern mit einem vorgebauten Netzwerk. Implementieren Sie den Stiltransfer gemäß dem Papier, Bildstilübertragung unter Verwendung von Faltungsnetzwerken von Gatys ET. al. Definieren Sie geeignete Verluste für das iteratives Erstellen eines Ziels mit stilvoller Stile Ihres eigenen Designs!
Wiederkehrende neuronale Netzwerke
- Intro zu wiederkehrenden Netzwerken (RNN auf Time Series & Character-Level): Wiederkehrende neuronale Netze können Informationen über die Abfolge von Daten verwenden, wie z. B. die Abfolge von Zeichen im Text; Erfahren Sie, wie Sie diese in Pytorch für eine Vielzahl von Aufgaben implementieren.
- Einbettungen (WORD2VEC): Implementieren Sie das Word2VEC -Modell, um semantische Darstellungen von Wörtern zur Verwendung in der Verarbeitung natürlicher Sprache zu finden.
- Sentimentanalyse RNN: Implementieren Sie ein wiederkehrendes neuronales Netzwerk, das vorhersagen kann, ob der Text einer Moview -Überprüfung positiv oder negativ ist.
- Achtung: Aufmerksamkeit implementieren und auf Annotationsvektoren anwenden.
Generative kontroverse Netzwerke
- Generatives kontroverses Netzwerk auf MNIST: Trainiere ein einfaches generatives kontroverses Netzwerk im MNIST -Datensatz.
- Stapelnormalisierung: Erfahren Sie, wie Sie die Trainingsraten und die Netzwerkstabilität mit Stapel -Normalisierungen verbessern.
- Deep Falthy Gan (DCGAN): Implementieren Sie eine DCGAN, um neue Bilder basierend auf dem SVHN -Datensatz (Street View House Nummern) zu generieren.
- Cyclegan: Implementieren Sie ein Cyclegan, das aus ungepaarten und nicht markierten Daten lernen soll. Verwenden Sie trainierte Generatoren, um Bilder von Sommer in den Winter zu verwandeln und umgekehrt.
Bereitstellung eines Modells (mit AWS Sagemaker)
- Alle Übungs- und Projektnoten für die Lektionen zur Modellbereitstellung finden Sie im verknüpften Github -Repo. Lernen Sie, vorgebrachte Modelle mit AWS Sagemaker bereitzustellen.
Projekte
- Vorhersage von Bike-Sharing-Mustern: Implementieren Sie ein neuronales Netzwerk in Numpy, um Fahrradverleih vorherzusagen.
- Hunderassenklassifizierer: Erstellen Sie ein neuronales Netzwerk mit Pytorch, um jedes Bild (sogar ein Bild eines Gesichts) als eine bestimmte Hunderasse zu klassifizieren.
- TV -Skriptgenerierung: Trainieren Sie ein wiederkehrendes neuronales Netzwerk, um Skripte im Dialogstil von Seinfeld zu generieren.
- Gesichtsgenerierung: Verwenden Sie einen DCGAN im Celeba -Datensatz, um Bilder von neuen und realistischen menschlichen Gesichtern zu generieren.
Wahlmaterial
- Intro in TensorFlow: Aufbau neuronaler Netzwerke mit Tensorflow.
- Keras: Lernen Sie, neuronale Netzwerke und Faltungsnetzwerke mit Keras aufzubauen.
Abhängigkeiten
Konfigurieren und verwalten Sie Ihre Umgebung mit Anaconda
Per die Anaconda -Dokumente:
Conda ist ein Open -Source -Paketverwaltungssystem und ein Umgebungsverwaltungssystem für die Installation mehrerer Versionen von Softwarepaketen und deren Abhängigkeiten und das Umschalten zwischen ihnen. Es funktioniert unter Linux, OS X und Windows und wurde für Python -Programme erstellt, kann jedoch jede Software verpacken und verteilen.
Überblick
Die Verwendung von Anaconda besteht aus folgenden:
- Installieren Sie
miniconda auf Ihrem Computer, indem Sie die neueste Python -Version für Ihr Betriebssystem auswählen. Wenn Sie bereits conda oder miniconda installiert haben, sollten Sie diesen Schritt überspringen und mit Schritt 2 fortfahren. - Erstellen und aktivieren Sie eine neue
conda -Umgebung.
* Aktivieren Sie jedes Mal, wenn Sie an Übungen arbeiten möchten, Ihre conda -Umgebung!
1. Installation
Laden Sie die neueste Version von miniconda herunter , die Ihrem System entspricht.
| Linux | MAC | Fenster |
|---|
| 64-Bit | 64-Bit (Bash Installer) | 64-Bit (Bash Installer) | 64-Bit (Exe Installer) |
| 32-Bit | 32-Bit (Bash Installer) | | 32-Bit (Exe Installer) |
Installieren Sie Miniconda auf Ihrem Computer. Detaillierte Anweisungen:
- Linux: https://conda.io/projects/conda/en/latest/user-guide/install/linux.html
- MAC: https://conda.io/projects/conda/en/latest/user-guide/install/macos.html
- Windows: https://conda.io/projects/conda/en/latest/user-guide/install/windows.html
2. Erstellen und aktivieren Sie die Umgebung
Für Windows -Benutzer müssen diese folgenden Befehle aus der Anaconda -Eingabeaufforderung im Gegensatz zu einem Windows -Terminalfenster ausgeführt werden. Für MAC funktioniert ein normales Terminalfenster.
Git und Versionskontrolle
In diesen Anweisungen wird auch git für die Arbeit mit Github aus einem Terminalfenster installiert. Wenn Sie dies nicht tun, können Sie diesen zuerst mit dem Befehl herunterladen:
Wenn Sie mehr über die Versionskontrolle und die Verwendung git aus der Befehlszeile erfahren möchten, sehen Sie sich unseren kostenlosen Kurs: Versionskontrolle mit Git an.
Jetzt sind wir bereit, unsere lokale Umgebung zu schaffen!
- Klonen Sie das Repository und navigieren Sie zum heruntergeladenen Ordner. Dies kann ein oder zwei Minuten dauern, bis die enthaltenen Bilddaten klonen.
git clone https://github.com/udacity/deep-learning-v2-pytorch.git
cd deep-learning-v2-pytorch
Erstellen (und aktivieren) eine neue Umgebung mit dem Namen deep-learning mit Python 3.6. Wenn Sie aufgefordert werden, mit der Installation (Proceed [y]/n) weiterzumachen, Typ Y.
conda create -n deep-learning python=3.6
source activate deep-learning
conda create --name deep-learning python=3.6
activate deep-learning
An diesem Punkt sollte Ihre Befehlszeile ungefähr so aussehen wie: (deep-learning) <User>:deep-learning-v2-pytorch <user>$ . Das (deep-learning) zeigt an, dass Ihre Umgebung aktiviert wurde, und Sie können mit weiteren Paketinstallationen fortfahren.
Pytorch und Torchvision installieren; Dies sollte die neueste Version von Pytorch installieren.
conda install pytorch torchvision -c pytorch
conda install pytorch -c pytorch
pip install torchvision
Installieren Sie einige erforderliche PIP -Pakete, die in der Anforderungstextdatei (einschließlich OpenCV) angegeben sind.
pip install -r requirements.txt
- Das war's!
Jetzt stehen Ihnen die meisten deep-learning Bibliotheken zur Verfügung. Sehr gelegentlich sehen Sie ein Repository mit einer Additionsanforderungen, die beispielsweise TensorFlow und Keras verwenden möchten. In diesem Fall werden Sie aufgefordert, eine andere Bibliothek in Ihrer vorhandenen Umgebung zu installieren oder eine neue Umgebung für ein bestimmtes Projekt zu schaffen.
Unter der Annahme, dass Ihre deep-learning Umgebung noch aktiviert ist, können Sie zum Haupttrieb navigieren und sich die Notizbücher ansehen:
cd
cd deep-learning-v2-pytorch
jupyter notebook
Um die Umgebung zu verlassen, wenn Sie Ihre Arbeitssitzung abgeschlossen haben, schließen Sie einfach das Terminalfenster.