Heim >Backend-Entwicklung >Python-Tutorial >RandomAffine in PyTorch
Dieser Code demonstriert die RandomAffine
-Transformation in Torchvision. Es untersucht verschiedene Parameterkombinationen und demonstriert seine Fähigkeiten zur Bilddrehung, -verschiebung, -skalierung und -scherung. Die Ergebnisse werden mit matplotlib.
Die RandomAffine
-Transformation ermöglicht zweidimensionale und dreidimensionale Bildtransformationen. Zu den wichtigsten Parametern gehören:
degrees
: Gibt den/die Drehwinkel an. Ein einzelner Float-Wert stellt einen symmetrischen Bereich [-Grad, Grad] dar. Ein Tupel/eine Liste mit zwei Floats definiert einen asymmetrischen Bereich [min, max].
translate
: Steuert die Übersetzung. Ein Tupel/eine Liste mit zwei Gleitkommazahlen [a, b] stellt horizontale bzw. vertikale Verschiebungen als Bruchteile der Bildbreite und -höhe dar.
scale
: Definiert den Skalierungsbereich [min, max].
shear
: Führt das Scheren ein. Ein einzelner Gleitkommawert impliziert einen symmetrischen Scherbereich [-shear, shear] für x, wobei die y-Scherung auf 0 gesetzt ist. Ein Tupel/eine Liste mit zwei Gleitkommazahlen gibt den x-Scherbereich an; Ein Tupel/eine Liste mit vier Elementen definiert sowohl x- als auch y-Scherbereiche.
interpolation
: Gibt die Interpolationsmethode an (z. B. InterpolationMode.NEAREST
).
fill
: Bestimmt die Füllfarbe für Bereiche außerhalb des transformierten Bildes. Kann ein einzelner Wert oder ein Tupel/eine Liste sein, die RGB-Werte darstellt.
center
: Legt das Rotationszentrum fest.
Der Code testet systematisch verschiedene Parametereinstellungen, einschließlich Extremwerte, um das Verhalten der Transformation unter verschiedenen Bedingungen zu demonstrieren. Die Visualisierung zeigt deutlich die Auswirkungen jedes Parameters auf die Eingabebilder. Die beiden show_images
-Funktionen bieten identische Funktionalität: Eine wendet die Transformation direkt in der Plotschleife an und die andere berechnet die Transformationen vor.
Die unten angezeigten Bilder stellen visuell die Ergebnisse der verschiedenen RandomAffine
Transformationen dar, die auf Bilder aus dem OxfordIIITPet-Datensatz angewendet werden.
Das obige ist der detaillierte Inhalt vonRandomAffine in PyTorch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!