In diesem Blog wird erörtert, wie die „ Zufälliges Löschen Die Methode funktioniert in PyTorch.
Warum wird in PyTorch die Methode „Zufälliges Löschen“ verwendet?
Das zufällige Entfernen von Daten aus den Bildern stellt ein Problem für das Training von Bildanalysemodellen dar, da diese gezwungen sind, sich an unzureichende Daten anzupassen. Dadurch wird ein Modell für reale Aufgaben vorbereitet, bei denen nicht immer vollständige Daten vorhanden sind. Das Modell ist weitaus besser in der Lage, Schlussfolgerungen aus allen Arten von Daten zu ziehen und Ergebnisse anzuzeigen. Die Auswahl der zu entfernenden Pixel erfolgt zufällig, sodass keine Verzerrung entsteht und das resultierende Bild als Eingabedaten während des Trainings verwendet wird.
Wie funktioniert die Methode „Zufälliges Löschen“ in PyTorch?
Die Random Erasing-Methode wird verwendet, um ein Deep-Learning-Modell besser für die Handhabung realer Anwendungen auszurüsten. Befolgen Sie die folgenden Schritte, um zu erfahren, wie Sie es in Ihren PyTorch-Projekten verwenden, um deren Datenverwaltung zu verbessern und die Inferenzfähigkeiten zu verbessern:
Schritt 1: Richten Sie die Colaboratory IDE ein
Google Colab ist eine ideale Wahl für die Entwicklung von KI-Modellen mithilfe des PyTorch-Frameworks. Navigieren Sie zum Colaboratory Webseite und starten Sie ein „ Neues Notizbuch ”:
Schritt 2: Importieren Sie die erforderlichen Bibliotheken
Benutzen Sie die „ !Pip Von Python bereitgestelltes Paketinstallationsprogramm zum Installieren von Bibliotheken und Verwenden des „ importieren ”-Befehl, um sie in das Projekt zu importieren:
importieren Fackelimportieren Fackelvision. verwandelt als ts
aus PIL importieren Bild
importieren matplotlib. Pyplot als plt
Die Beschreibung des angegebenen Codes lautet wie folgt:
- Importieren Sie „ Fackel ” Bibliothek mit der „ importieren ' Befehl.
- Der ' Torchvision.transforms Das Paket enthält die Transformationen für Random Erasing.
- „ PIL „ist die Python-Bildbibliothek und enthält die Funktionalität zur Bildverarbeitung.
- Der ' matplotlib.pyplot Die Bibliothek wird zur Visualisierung der ursprünglichen und transformierten Bilder verwendet:
Schritt 3: Laden Sie das Eingabebild hoch
Laden Sie das Bild im Abschnitt „Dateien“ hoch:
Laden Sie als Nächstes das Eingabebild mit „ offen() ” Methode des Moduls „Bild“:
Bild = Bild. offen ( 'a2.jpeg' )Schritt 4: Geben Sie die Transformation an, um Transformationen durchzuführen
Definieren Sie nun ein „ Zufälliges Löschen ”-Transformator, der das Bild transformiert, indem er seinen zufälligen rechteckigen Bereich auswählt und seine Pixel löscht. Konvertieren Sie außerdem das Eingabebild mit dem Befehl „ ToTensor() ”-Methode, wenn es sich um ein PIL-Bild handelt, und konvertieren Sie es dann über die „“-Methode zurück in das PIL-Bild. ToPILImage() ”:
verwandeln = ts. Komponieren ( [ ts. ToTensor ( ) , ts. Zufälliges Löschen ( P = 0,5 , Skala = ( 0,02 , 0,33 ) , Verhältnis = ( 0,3 , 3.3 ) , Wert = 0 , an Ort und Stelle = FALSCH ) , ts. ToPILImage ( ) ] )Die oben verwendeten Parameter „ Zufälliges Löschen „Transformator“ werden im Folgenden erläutert:
- P: Es stellt die Wahrscheinlichkeit dar, dass die zufällige Erhöhungsoperation erreicht wird.
- Skala: Es gibt den Bereich des gelöschten Bereichs eines Eingabebildes an.
- Verhältnis: Es bezeichnet das Seitenverhältnis des gelöschten Bereichs.
- Wert: Es gibt den Löschwert an, der standardmäßig „0“ ist. Wenn es sich um eine einzelne Ganzzahl handelt, werden alle Pixel entfernt. Wenn es sich um ein Tupel mit drei Ganzzahlen handelt, werden jeweils die R-, G- und B-Kanäle entfernt.
- an Ort und Stelle: Es handelt sich um einen „booleschen“ Wert, der den angegebenen Zufallslöschtransformator aktiviert. Standardmäßig ist es „falsch“.
Schritt 5: Verwenden Sie das Wörterbuchverständnis, um Ausgabebilder zu erstellen
Verwenden Sie das Konzept des Wörterbuchverständnisses, um die vier Ausgabebilder aufzunehmen:
Bilder = [ verwandeln ( Bild ) für _ In Reichweite ( 4 ) ]Schritt 6: Präsentieren Sie die vier Ausgabebilder
Zeigen Sie abschließend die vier Ausgabebilder mit Hilfe des unten angegebenen Codeblocks an:
Feige = plt. Figur ( Feigengröße = ( 7 , 4 ) )Reihen , Spalten = 2 , 2
für J In Reichweite ( 0 , nur ( Bilder ) ) :
Feige. add_subplot ( Reihen , Spalten , j+ 1 )
plt. imshow ( Bilder [ J ] )
plt. xticks ( [ ] )
plt. yticks ( [ ] )
plt. zeigen ( )
Die obige Codebeschreibung lautet wie folgt:
- Wende an ' plt.figure() ”Methode zum Plotten der vier Bilder mit angegebener Breite und Höhe.
- Geben Sie dann bestimmte Zeilen und Spalten an, um die vier Bilder anzupassen.
- Initialisieren Sie anschließend eine „for“-Schleife, die die „for“-Schleife anwendet. Nebenhandlung() „-Methode zum Definieren der Nebenhandlung, die „show()“-Methode zum Anzeigen der Bilder und die „ plt.xticks() ' sowie ' plt.yticks() ”, um die aktuelle Position der Teilstriche und die Beschriftungen der x- und y-Achse festzulegen.
- Verwenden Sie zum Schluss das „ plt.show() ”-Methode zum Drucken der auszugebenden Bilder:
Notiz : Benutzer können über das bereitgestellte auf unser Colab-Notizbuch zugreifen Verknüpfung .
Profi-Tipp
Eine wichtige Verwendung des „ Zufälliges Löschen Die Methode in PyTorch-Projekten ist Sicherheit. Es kann verwendet werden, um Pixel aus sensiblen Bildern zu entfernen, beispielsweise solchen, die Geschäftsgeheimnisse oder etwas anderes Wertvolles enthalten. Die spezifische Zufallsfunktion für dieses Löschen wäre nur dem ursprünglichen Benutzer bekannt und nur der Benutzer wäre in der Lage, die gelöschten Bilder wieder in ihrer ursprünglichen Version wiederherzustellen.
Erfolg! Wir haben gezeigt, wie die Methode des zufälligen Löschens in PyTorch funktioniert.
Abschluss
Der ' Zufälliges Löschen Die Methode in PyTorch entfernt zufällige Pixel aus einem Bild und ahmt ein reales Szenario nach, um das Modell besser zu trainieren. Dadurch kann das Modell besser mit verschiedenen Datentypen umgehen und aus unvollständigen Daten Qualitätsrückschlüsse ziehen. Wir haben gezeigt, wie man das „ Zufälliges Löschen ”-Methode in PyTorch.