Pytorch - Max

Pytorch - Max
Wir werden sehen, wie die maximalen Werte von einem Tensor mit max () in diesem Pytorch -Tutorial zurückgegeben werden können.

Pytorch ist ein Open-Source-Framework mit einer Python-Programmiersprache. Tensor ist ein mehrdimensionales Array, mit dem die Daten gespeichert werden. Um einen Tensor zu verwenden, müssen wir das Fackelmodul importieren. Um einen Tensor zu erstellen, ist die verwendete Methode Tensor ().

Syntax:

Fackel.Tensor (Daten)

Wobei die Daten ein mehrdimensionales Array sind.

Max ()

MAX () in Pytorch wird verwendet, um das Maximum der im Eingangstensorobjekt vorhandenen Elemente zurückzugeben.

Syntax:

Fackel.Max (Tensor, schwach)

Wo:

1. Der Tensor ist der Eingangs -Tensor.

2. Dim ist, die Dimension zu reduzieren. DIM = 0 gibt den Spaltenvergleich an, der die maximalen Werte entlang einer Spalte erhält und DIM = 1 den Zeilenvergleich angibt, der die maximalen Werte entlang der Zeile erhält.

Zurückkehren:

Es gibt auch die Indizes der maximalen Werte zurück.

Beispiel 1:

In diesem Beispiel erstellen wir einen Tensor mit 2 Dimensionen mit 3 Zeilen und 5 Spalten und wenden die MAX () -Funktion auf Zeilen und Spalten an.

#import Fackelmodul
Taschenlampe importieren
#einen Tensor mit 2 Abmessungen (3 * 5)
#Mit zufälligen Elementen mit Randn () -Funktion
Daten = Taschenlampe.Randn (3,5)
#Anzeige
Druck (Daten)
drucken()
#Maximale Werte entlang der Spalten
print ("Maximale Werte über Spalten hinweg:")
Druck (Taschenlampe.max (Daten, Dim = 0))
drucken()
#Maximale Werte entlang der Reihen
print ("Maximale Werte über Zeilen:")
Druck (Taschenlampe.max (Daten, Dim = 1))

Ausgang:

Tensor ([[-0).4322, -1.9488, -1.9488, -0.1291, 2.0196],
[0.0421, -0.7765, -1.4377, 1.3680, -0.1703],
[1.2953, 0.2773, 0.5380, 0.1011, 0.0136]]))
Maximale Werte über Spalten hinweg:
Fackel.return_types.max (
Werte = Tensor ([1.2953, 0.2773, 0.5380, 1.3680, 2.0196]),
Indizes = Tensor ([2, 2, 2, 1, 0]))
Maximale Werte über Zeilen hinweg:
Fackel.return_types.max (
Werte = Tensor ([2).0196, 1.3680, 1.2953]),
Indizes = Tensor ([4, 3, 0]))

Wir können sehen, dass die maximalen Werte zusammen mit ihren Indizes über die Spalten und Zeilen zurückgegeben werden.

Beispiel 2:

Erstellen Sie einen Tensor mit 5 * 5 Matrix und geben Sie die maximalen Werte über die Zeilen und Spalten zurück.

#import Fackelmodul
Taschenlampe importieren
#einen Tensor mit 2 Abmessungen (5 * 5)
#Mit zufälligen Elementen mit Randn () -Funktion
Daten = Taschenlampe.Randn (5,5)
#Anzeige
Druck (Daten)
drucken()
#Maximale Werte entlang der Spalten
print ("Maximale Werte über Spalten hinweg:")
Druck (Taschenlampe.max (Daten, Dim = 0))
drucken()
#Maximale Werte entlang der Reihen
print ("Maximale Werte über Zeilen:")
Druck (Taschenlampe.max (Daten, Dim = 1))

Ausgang:

Tensor ([1).5677, -0.8765, -1.7053, -0.4323, 1.1156],
[1.0781, -0.6891, 1.1491, -0.7799, 1.8014],
[-0.0449, 1.6926, -0.9708, -0.1957, 0.6765],
[-0.0336, 0.2317, -1.5785, -0.1141, -0.4226],
[0.2535, -0.2302, -0.1518, -0.6725, -0.6502]]))
Maximale Werte über Spalten hinweg:
Fackel.return_types.max (
Werte = Tensor ([1.5677, 1.6926, 1.1491, -0.1141, 1.8014]),
Indizes = Tensor ([0, 2, 1, 3, 1]))
Maximale Werte über Zeilen hinweg:
Fackel.return_types.max (
Werte = Tensor ([1.5677, 1.8014, 1.6926, 0.2317, 0.2535]),
Indizes = Tensor ([0, 4, 1, 1, 0]))

Wir können sehen, dass die maximalen Werte über die Zeilen und Spalten zusammen mit ihren Indizes zurückgegeben wurden.

Ohne den schwachen Parameter

Wenn wir den DIM -Parameter nicht angegeben haben, gibt er den Maximalwert aus dem gesamten Tensor zurück.

Beispiel 1:

Erstellen Sie einen 2D -Tensor mit 5*5 Matrix und geben Sie den Maximalwert zurück.

#import Fackelmodul
Taschenlampe importieren
#einen Tensor mit 2 Abmessungen (5 * 5)
#Mit zufälligen Elementen mit Randn () -Funktion
Daten = Taschenlampe.Randn (5,5)
#Anzeige
Druck (Daten)
drucken()
#Maximaler Wert
print ("Maximalwert:")
Druck (Taschenlampe.max (Daten))

Ausgang:

Tensor ([1).5618, 0.5195, -0.2018, 0.7128, 0.0599],
[-2.4063, -0.0888, -0.3935, 0.2521, 1.3079],
[-1.1231, -0.3366, -1.5907, -1.6770, -0.2147],
[-0.7070, -1.5281, 0.2971, 1.8376, -1.6415],
[-0.8639, 0.5545, 1.2174, -1.3734, -0.7389]]))
Höchster Wert :
Tensor (1.8376)

Beispiel 2:

Erstellen Sie einen 1D -Tensor mit 5 Werten und geben Sie den Maximalwert zurück.

#import Fackelmodul
Taschenlampe importieren
#Schalten Sie einen Tensor mit 5 numerischen Werten auf
Daten = Taschenlampe.Tensor ([10).6,20.7,30.6,40.4,50.0]))
#Anzeige
Druck (Daten)
drucken()
#Maximaler Wert
print ("Maximalwert:")
Druck (Taschenlampe.max (Daten))

Ausgang:

Tensor ([10).6000, 20.7000, 30.6000, 40.4000, 50.0000])
Höchster Wert :
Tensor (50.)

Arbeiten Sie mit CPU

Wenn Sie eine MAX () -Funktion auf der CPU ausführen möchten, müssen wir einen Tensor mit einer CPU () -Funktion erstellen. Dies wird auf einer CPU -Maschine ausgeführt.

Wenn wir einen Tensor erstellen, können wir diesmal die Funktion cpu () verwenden.

Syntax:

Fackel.Tensor (Daten).Zentralprozessor()

Beispiel 1:

In diesem Beispiel erstellen wir einen Tensor mit 2 Dimensionen mit 3 Zeilen und 5 Spalten mit einer CPU () -Funktion und wenden die MAX () -Funktion auf Zeilen und Spalten an.

#import Fackelmodul
Taschenlampe importieren
#einen Tensor mit 2 Abmessungen (3 * 5)
#Mit zufälligen Elementen mit Randn () -Funktion
Daten = Taschenlampe.Randn (3,5).Zentralprozessor()
#Anzeige
Druck (Daten)
drucken()
#Maximale Werte entlang der Spalten
print ("Maximale Werte über Spalten hinweg:")
Druck (Taschenlampe.max (Daten, Dim = 0))
drucken()
#Maximale Werte entlang der Reihen
print ("Maximale Werte über Zeilen:")
Druck (Taschenlampe.max (Daten, Dim = 1))

Ausgang:

Tensor ([[-0).1843, 0.0419, -0.0474, 0.3713, -0.6861],
[-0.4083, -0.4918, -1.7254, 1.3483, -0.7855],
[-0.2685, 0.5834, 0.4953, -1.1605, -0.0414]])
Maximale Werte über Spalten hinweg:
Fackel.return_types.max (
Werte = Tensor ([-0).1843, 0.5834, 0.4953, 1.3483, -0.0414]),
Indizes = Tensor ([0, 2, 2, 1, 2]))
Maximale Werte über Zeilen hinweg:
Fackel.return_types.max (
Werte = Tensor ([0).3713, 1.3483, 0.5834]),
Indizes = Tensor ([3, 3, 1]))

Wir können sehen, dass die maximalen Werte zusammen mit ihren Indizes über die Spalten und Zeilen zurückgegeben werden.

Beispiel 2:

Erstellen Sie einen Tensor mit 5 * 5 Matrix mit der Funktion cpu () und geben Sie die maximalen Werte über die Zeilen und Spalten zurück.

#import Fackelmodul
Taschenlampe importieren
#einen Tensor mit 2 Abmessungen (5 * 5)
#Mit zufälligen Elementen mit Randn () -Funktion
Daten = Taschenlampe.Randn (5,5).Zentralprozessor()
#Anzeige
Druck (Daten)
drucken()
#Maximale Werte entlang der Spalten
print ("Maximale Werte über Spalten hinweg:")
Druck (Taschenlampe.max (Daten, Dim = 0))
drucken()
#Maximale Werte entlang der Reihen
print ("Maximale Werte über Zeilen:")
Druck (Taschenlampe.max (Daten, Dim = 1))

Ausgang:

Tensor ([2).2844e+00, 1.0477e+00, -7.5003E-01, 6.2289e-01, 3.6587E-01],
[1.4600E+00, -9.5055e-01, 1.0254e+00, 9.8235e-01, 1.6930e+00],
[-1.6253e-01, 4.6555e-02, 1.1996e+00, -1.0124e+00, 9.4128e-01],
[1.6245e-01, 6.3275e -01, -2.4493e -01, -1.2998e+00, -4.8166E-01],
[-1.7680e+00, 1.2203E-01, 1.9420e -03, -6.2728e-01, 5.9291e-01]]))
Maximale Werte über Spalten hinweg:
Fackel.return_types.max (
Werte = Tensor ([2).2844, 1.0477, 1.1996, 0.9824, 1.6930]),
Indizes = Tensor ([0, 0, 2, 1, 1]))
Maximale Werte über Zeilen hinweg:
Fackel.return_types.max (
Werte = Tensor ([2).2844, 1.6930, 1.1996, 0.6327, 0.5929]),
Indizes = Tensor ([0, 4, 2, 1, 4]))

Wir können sehen, dass die maximalen Werte über die Zeilen und Spalten zusammen mit ihren Indizes zurückgegeben wurden.

Abschluss

In dieser Pytorch -Lektion haben wir etwas über die MAX () -Funktion und die Anwendung auf einen Tensor gelernt, um die maximalen Werte über die Spalten und Zeilen zurückzugeben. Es gibt auch die Indexpositionen zusammen mit den zurückgegebenen Maximalwerten zurück.

Wir haben auch einen Tensor mit der CPU () -Funktion erstellt und die maximalen Werte zurückgegeben. Wenn der DIM nicht in zwei oder mehrdimensionalen Tensor angegeben ist, gibt es den Maximalwert aus dem gesamten Tensor zurück.