Heim >Backend-Entwicklung >Python-Tutorial >Randomcrop in Pytorch
Dieser Code untersucht die RandomCrop
-Transformation in Torchvision. Die Beispiele zeigen, wie sich unterschiedliche Parameter auf das Zuschneiden und Auffüllen von Bildern aus dem Datensatz von Oxfordiiitpet auswirken. Lassen Sie uns den Code und seine Ausgabe aufschlüsseln.
Der Code initialisiert zunächst eine RandomCrop
Transformation mit verschiedenen Parametern: size
(die Ausgangsgröße), padding
(Menge an Polsterung vor dem Zuschneiden), pad_if_needed
(ob sie poliert werden, wenn die Eingabe kleiner ist als size
), fill
(die Füllfarbe für die Polsterung) und padding_mode
(die Polstermethode).
Dann erstellt es mehrere Instanzen des OxfordIIITPet
-Datensatzes, die jeweils eine andere RandomCrop
-Transformationskonfiguration verwenden. Dies ermöglicht einen visuellen Vergleich der Effekte jedes Parameters. Die Bilder werden dann mit matplotlib.pyplot
.
Der Code ist strukturiert, um die Ausgabe von RandomCrop
mit verschiedenen Parameternkombinationen anzuzeigen:
size
Werte: zeigt, wie sich die Veränderung der Ausgangsgröße auf das abgeschnittene Bild auswirkt. padding
-Werte: zeigt, wie positive und negative Polsterwerte das Bild vor dem Zuschneiden beeinflussen. Negative Polsterung schrumpft das Bild effektiv, bevor es zubereitet. pad_if_needed
: zeigt die Differenz zwischen der Polsterung, wenn der Eingang kleiner als die Zielgröße ist (pad_if_needed=True
) und erhöht einen Fehler, wenn er ist (pad_if_needed=False
). fill
Werte: zeigt, wie unterschiedliche Füllfarben (Graustufen und RGB) die gepolsterten Regionen des Bildes beeinflussen. padding_mode
Werte: zeigt die vier Polstermodi: 'Constant', 'Edge', 'Reflect' und 'Symmetrisch'. Die Ausgabe besteht aus zahlreichen Bildnetzen, die jeweils fünf zufällige Kulturen eines Bildes aus dem Datensatz von Oxfordiiitpet unter einer bestimmten RandomCrop
-Engation zeigen. Die Titel geben deutlich die für jedes Netz verwendeten Parameter an. Der Code enthält auch eine zweite show_images2
-Funktion, die die Funktionalität von show_images1
repliziert, die Parameter jedoch als Argumente nimmt, wodurch es präzise wird, den Effekt jedes Parameters zu demonstrieren.
Schlüsselbeobachtungen aus den Bildern:
Die Bilder veranschaulichen deutlich die Effekte jedes Parameters. Zum Beispiel:
size
-Werte führen zu kleineren geschnittenen Bildern. padding
Werte fügen dem Bild vor dem Zuschneiden einen Rand hinzu, während negative Werte die Bildgröße verringern. pad_if_needed=True
verhindert Fehler, wenn das Bild kleiner als die Zielgröße ist, während pad_if_needed=False
zu Fehlern führt. fill
Werte ändern die Farbe des gepolsterten Randes. padding_mode
-Werte erzeugen in den gepolsterten Regionen unterschiedliche Muster. Der Code ist gut strukturiert und demonstriert effektiv die Funktionalität der RandomCrop
-Transformation und seiner verschiedenen Parameter. Die Verwendung von Bildern erleichtert es leicht, die visuellen Auswirkungen jedes Parameters zu verstehen.
... (verbleibende Bilder)
Hinweis: Aufgrund der großen Anzahl von Bildern habe ich hier nur die ersten Bildbeschreibungen aufgenommen. Der vollständige Satz von Bildern müsste separat angezeigt werden.
Das obige ist der detaillierte Inhalt vonRandomcrop in Pytorch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!