Pytorch - Argmin

Pytorch - Argmin
Pytorch ist ein Open-Source-Framework für die Python-Programmiersprache. Wir können die Daten in Pytorch in Form eines Tensors verarbeiten.

Ein Tensor ist ein mehrdimensionales Array, das zum Speichern von Daten verwendet wird. Um einen Tensor zu verwenden, müssen wir das Fackelmodul importieren.

Zum Erstellen eines Tensors ist die verwendete Methode Tensor ().

Syntax:

Fackel.Tensor (Daten)

Wobei Daten ein mehrdimensionales Array sind.

argmin ()

Argmin () in Pytorch wird verwendet, um den Index des Mindestwerts aller Elemente im Eingangszensor zurückzugeben.

Syntax:
Fackel.Argmin (Tensor, Dim, Keepdim)

Wo

  1. Der Tensor ist der Eingangs -Tensor.
  2. Dim ist, die Dimension zu reduzieren. Dim = 0 gibt den Spaltenvergleich an, der den Index für den Mindestwert entlang einer Spalte erhält, und DIM = 1 gibt den Zeilenvergleich an, wodurch der Index für den Mindestwert entlang der Zeile abgerufen wird.
  3. Keepdim prüft, ob der Ausgangsprüfung die Dimension (DIM) beibehalten hat oder nicht.

Beispiel 1:

In diesem Beispiel werden wir einen Tensor mit zwei Dimensionen erstellen, die drei Zeilen und fünf Spalten haben und Argmin () auf die Zeilen und Spalten anwenden.

#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)
#Mindestindex entlang der Spalten mit Argmin
Druck (Taschenlampe.Argmin (Daten, Dim = 0))
#Mindestindex entlang von Zeilen mit Argmin
Druck (Taschenlampe.Argmin (Daten, Dim = 1))

Ausgang:

Tensor ([1).0604, -0.0234, 0.4258, -0.4714, 0.2778],
[-1.2597, -0.3892, 0.2120, 0.1376, 0.6919],
[0.0449, -0.3545, -0.1914, 0.1969, -2.0053]])
Tensor ([1, 1, 2, 0, 2])
Tensor ([3, 0, 4])

Wie wir sehen können, sind die Mindestwerte der Indizes und Spalten:

  1. Min -Wert - -1.2597. Sein Index ist 1.
  2. Min -Wert - 1 -0.3892. Sein Index ist 1.
  3. Min -Wert - -0.1914. Sein Index ist 2.
  4. Min -Wert - 0.4714. Sein Index ist 0.
  5. Min -Wert - -2.0053. Sein Index ist 2.

In ähnlicher Weise sind die am Index entlang der Zeilen vorhandenen Mindestwerte:

  1. Min -Wert - -0.4714. Sein Index ist 3.
  2. Min -Wert - -1.2597. Sein Index ist 0.
  3. Min -Wert - -2.0053. Sein Index ist 4.

Beispiel 2:

Erstellen Sie einen Tensor mit einer fünf mal fünf Matrix und wenden Sie Argmin () an.

#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)
#Mindestindex entlang der Spalten mit Argmin
Druck (Taschenlampe.Argmin (Daten, Dim = 0))
#Mindestindex entlang von Zeilen mit Argmin
Druck (Taschenlampe.Argmin (Daten, Dim = 1))

Ausgang:

Tensor ([-1.7387, -0.7426, 0.5696, -0.6700, -1.0527],
[0.2564, -0.3471, 1.5256, -1.1608, 0.4367],
[1.4390, -0.5474, 0.5909, 0.0491, 0.4655],
[-0.7006, -0.0367, -0.9577, -0.0834, -0.7249],
[-1.9151, 2.3360, 1.1214, 0.4452, -1.1233]])
Tensor ([4, 0, 3, 1, 4])
Tensor ([0, 3, 1, 2, 0])

Wir können sehen, dass die im Index entlang der Spalten vorhandenen Mindestwerte:

  1. Min -Wert - -1.9151. Sein Index ist 4.
  2. Min -Wert - -0.7426. Sein Index ist 0.
  3. Min -Wert - -0.9577. Sein Index ist 3.
  4. Min -Wert - -1.1608. Sein Index ist 1.
  5. Min -Wert - -1.1233. Sein Index ist 4.

In ähnlicher Weise sind Mindestwerte am Index entlang der Zeilen:

  1. Min -Wert - -1.7387. Sein Index ist 0.
  2. Min -Wert - -1.1608. Sein Index ist 3.
  3. Min -Wert - -0.5474. Sein Index ist 1.
  4. Min -Wert - -0.9577. Sein Index ist 2.
  5. Min -Wert - -1.9151. Sein Index ist 0.

Arbeiten Sie mit CPU

Wenn Sie eine Argmin () -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.

Zu diesem Zeitpunkt können wir beim Erstellen eines Tensors die CPU () -Funktion verwenden.

Syntax:
Fackel.Tensor (Daten).Zentralprozessor()

Beispiel 1:

In diesem Beispiel werden wir einen Tensor mit zwei Dimensionen an der CPU erstellen, die drei Zeilen und fünf Spalten enthält und Argmin () auf die Zeilen und Spalten anwendet.

#import Fackelmodul
Taschenlampe importieren
#einen Tensor mit 2 Abmessungen (3 * 5)
#Mit zufälligen Elementen mit Randn () mit CPU () -Funktion
Daten = Taschenlampe.Randn (3,5).Zentralprozessor()
#Anzeige
Druck (Daten)
#Mindestindex entlang der Spalten mit Argmin
Druck (Taschenlampe.Argmin (Daten, Dim = 0))
#Mindestindex entlang von Zeilen mit Argmin
Druck (Taschenlampe.Argmin (Daten, Dim = 1))

Ausgang:

Tensor ([1).0604, -0.0234, 0.4258, -0.4714, 0.2778],
[-1.2597, -0.3892, 0.2120, 0.1376, 0.6919],
[0.0449, -0.3545, -0.1914, 0.1969, -2.0053]])
Tensor ([1, 1, 2, 0, 2])
Tensor ([3, 0, 4])

Wie wir sehen können, sind die Mindestwerte für die Indizes und Spalten:

  1. Min -Wert - -1.2597. Sein Index ist 1.
  2. Min -Wert - 1 -0.3892. Sein Index ist 1.
  3. Min -Wert - -0.1914. Sein Index ist 2.
  4. Min -Wert - 0.4714. Sein Index ist 0.
  5. Min -Wert - -2.0053. Sein Index ist 2.

In ähnlicher Weise sind die Mindestwerte am Index entlang der Zeilen:

  1. Min -Wert - -0.4714. Sein Index ist 3.
  2. Min -Wert - -1.2597. Sein Index ist 0.
  3. Min -Wert - -2.0053. Sein Index ist 4.

Beispiel 2:

Erstellen Sie einen Tensor mit einer fünf mal fünf Matrix auf der CPU und wenden Sie Argmin () an.

#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)
#Mindestindex entlang der Spalten mit Argmin
Druck (Taschenlampe.Argmin (Daten, Dim = 0))
#Mindestindex entlang von Zeilen mit Argmin
Druck (Taschenlampe.Argmin (Daten, Dim = 1))

Ausgang:

Tensor ([-1.7387, -0.7426, 0.5696, -0.6700, -1.0527],
[0.2564, -0.3471, 1.5256, -1.1608, 0.4367],
[1.4390, -0.5474, 0.5909, 0.0491, 0.4655],
[-0.7006, -0.0367, -0.9577, -0.0834, -0.7249],
[-1.9151, 2.3360, 1.1214, 0.4452, -1.1233]])
Tensor ([4, 0, 3, 1, 4])
Tensor ([0, 3, 1, 2, 0])

Wie wir sehen können, sind die Mindestwerte für die Indizes und Spalten:

  1. Min -Wert - -1.9151. Sein Index ist 4.
  2. Min -Wert - -0.7426. Sein Index ist 0.
  3. Min -Wert - -0.9577. Sein Index ist 3.
  4. Min -Wert - -1.1608. Sein Index ist 1.
  5. Min -Wert - -1.1233. Sein Index ist 4.

In ähnlicher Weise sind die Mindestwerte am Index entlang der Zeilen:

  1. Min -Wert - -1.7387. Sein Index ist 0.
  2. Min -Wert - -1.1608. Sein Index ist 3.
  3. Min -Wert - -0.5474. Sein Index ist 1.
  4. Min -Wert - -0.9577. Sein Index ist 2.
  5. Min -Wert - -1.9151. Sein Index ist 0.

Abschluss

In dieser Pytorch -Lektion haben wir gesehen, was Argmin () ist und wie Argmin () auf einen Tensor angewendet werden kann, um Indizes von Mindestwerten über Spalten und Zeilen hinweg zurückzugeben.

Wir haben auch einen Tensor mit der CPU () -Funktion erstellt und Indizes seiner Mindestwerte zurückgegeben. DIM ist der Parameter, der verwendet wird, um Indizes von minimalen Werten über Spalten hinweg zurückzugeben, wenn er auf 0 gesetzt ist, und Indizes von Mindestwerten über Zeilen hinweg zurückzugeben, wenn es auf 1 gesetzt ist.