Wie funktioniert die Methode „Zufälliges Löschen“ in PyTorch?

Wie Funktioniert Die Methode Zufalliges Loschen In Pytorch



Die Wirksamkeit des PyTorch-Frameworks für die Entwicklung komplexer und hochmoderner Modelle für maschinelles Lernen beruht auf seinem breiten Spektrum an Erweiterungsfunktionen und dem „ Zufälliges Löschen Die Methode ist eine davon. Wie der Name schon sagt, wählt es zufällig ein Bild aus und entfernt einen Teil seiner Daten, um eine reale Situation nachzuahmen, in der unvollständige Daten präsentiert werden. Dies verbessert die Fähigkeit eines Modells, sich an neue und herausfordernde Situationen anzupassen und gute Leistungen zu erbringen.

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 Fackel

importieren 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.