Dieses Repo enthält Tutorials, die die Bildklassifizierung unter Verwendung von Pytorch 1.7, Torchvision 0,8, Matplotlib 3.3 und Scikit-Learn 0,24 mit Python 3.8 abdecken.
Wir werden zunächst ein mehrschichtiger Perceptron (MLP) implementieren und dann mithilfe von Faltungsnetzwerken (CNNs) zu Architekturen übergehen. Insbesondere werden wir Lenet, Alexnet, VGG und Resnet implementieren.
Wenn Sie Fehler finden oder mit einer der Erklärungen nicht einverstanden sind, zögern Sie bitte nicht, ein Problem einzureichen. Ich begrüße alle Feedback, positiv oder negativ!
Zum Installieren von PyTorch finden Sie Installationsanweisungen auf der Pytorch -Website.
Die Anweisungen zur Installation von PyTorch sollten auch beschreiben, wie die Torchvision installiert wird, kann jedoch auch durch:
pip install torchvision1 - Mehrschichtiger Perzeptron
Dieses Tutorial bietet eine Einführung in Pytorch und Torchvision. Wir erfahren, wie Sie Datensätze laden, Daten erweitern, ein mehrschichtiger Perzeptron (MLP) definieren, ein Modell trainieren, die Ausgänge unseres Modells anzeigen, die Darstellungen des Modells visualisieren und die Gewichte des Modells anzeigen. Die Experimente werden im MNIST -Datensatz durchgeführt - ein Satz von 28x28 handgeschriebenen Graustufen -Ziffern.
2 - Lenet
In diesem Tutorial werden wir die klassische Lenet -Architektur implementieren. Wir werden uns mit den neuronalen Netzwerken mit Faltungen befassen, und wie Faltungsschichten und Subsmaging (auch bekannt als Pooling-) Schichten funktionieren.
3 - Alexnet
In diesem Tutorial werden wir Alexnet implementieren, die Faltungsarchitektur für neuronale Netzwerke, die das aktuelle Interesse an Deep Learning begonnen hat. Wir werden mit dem CIFAR10 -Datensatz - 32x32 Farbbilder in zehn Klassen übergehen. Wir zeigen: So definieren Sie Architekturen mit nn.Sequential , wie Sie die Parameter Ihres neuronalen Netzwerks initialisieren und wie Sie den Lernrate -Finder verwenden, um eine gute anfängliche Lernrate zu ermitteln.
4 - VGG
In diesem Tutorial werden das VGG -Modell implementiert. Anstatt das Modell von Grund auf neu zu trainieren, werden wir stattdessen ein VGG-Modell laden, das auf dem ImageNet-Datensatz ausgebildet ist, und zeigen, wie das Lernen von Transferen durchgeführt werden kann, um seine Gewichte an den CIFAR10-Datensatz mithilfe einer Technik mit dem Namen diskriminierender Feinabstimmung anzupassen. Wir werden auch erklären, wie adaptive Pooling -Schichten und Stapelnormalisierung funktioniert.
5 - resnet
In diesem Tutorial werden wir das ResNet -Modell implementieren. Wir zeigen, wie Sie Ihren eigenen Datensatz laden, den Datensatz Cub200 als Beispiel verwenden und wie Sie die Lernrate -Scheduler verwenden, die die Lernrate Ihres Modells während des Trainings dynamisch verändern. Insbesondere werden wir die in diesem Artikel eingeführte Zyklusrichtlinie verwenden und werden nun allgemein für die Schulung von Computer Vision -Modellen verwendet.
Hier sind einige Dinge, die ich mir beim Erstellen dieser Tutorials angesehen habe. Einige davon können veraltet sein.