Pytorch - Argmin

Pytorch - Argmin
Pytorch to open source framework dla języka programowania Pythona. Możemy przetwarzać dane w Pytorch w postaci tensora.

Tensor to wielowymiarowa tablica, która jest używana do przechowywania danych. Aby użyć tensora, musimy zaimportować moduł pochodni.

Aby utworzyć tensor, zastosowana metoda to TENSOR ().

Składnia:

latarka.tensor (dane)

Gdzie dane są wielowymiarową tablicą.

argmin ()

argmin () w Pytorch służy do zwrócenia wskaźnika minimalnej wartości wszystkich elementów w tensorze wejściowym.

Składnia:
latarka.Argmin (tensor, DIM, Keepdim)

Gdzie

  1. Tensor to tensor wejściowy.
  2. Dim ma zmniejszyć wymiar. Dim = 0 Określa porównanie kolumny, które otrzyma indeks dla wartości minimalnej wzdłuż kolumny, a DIM = 1 Określa porównanie wierszy, które otrzyma indeks dla wartości minimalnej wzdłuż wiersza.
  3. Keepdim sprawdza, czy tensor wyjściowy ma wymiar (DIM) zachowany, czy nie.

Przykład 1:

W tym przykładzie utworzymy tensor z dwoma wymiarami, który ma trzy wiersze i pięć kolumn i zastosujemy argmin () na rzędach i kolumnach.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (3 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (3,5)
#wyświetlacz
Drukuj (dane)
#Minimalny indeks wzdłuż kolumn z argmin
Drukuj (pochodnia.argmin (dane, dim = 0))
#Minimalny indeks wzdłuż rzędów z argmin
Drukuj (pochodnia.argmin (dane, dim = 1))

Wyjście:

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])

Jak widzimy, minimalne wartości indeksów i kolumn to:

  1. Wartość min - -1.2597. Jego indeks wynosi 1.
  2. Wartość min - 1 -0.3892. Jego indeks wynosi 1.
  3. Wartość min - -0.1914. Jego indeks to 2.
  4. Wartość min - 0.4714. Jego indeks to 0.
  5. Wartość min - -2.0053. Jego indeks to 2.

Podobnie, minimalne wartości obecne na indeksie wzdłuż rzędów to:

  1. Wartość min - -0.4714. Jego indeks to 3.
  2. Wartość min - -1.2597. Jego indeks to 0.
  3. Wartość min - -2.0053. Jego indeks to 4.

Przykład 2:

Utwórz tensor z matrycą pięciu na pięć i zastosuj argmin ().

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (5 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (5,5)
#wyświetlacz
Drukuj (dane)
#Minimalny indeks wzdłuż kolumn z argmin
Drukuj (pochodnia.argmin (dane, dim = 0))
#Minimalny indeks wzdłuż rzędów z argmin
Drukuj (pochodnia.argmin (dane, dim = 1))

Wyjście:

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])

Widzimy, że minimalne wartości obecne w indeksie wzdłuż kolumn to:

  1. Wartość min - -1.9151. Jego indeks to 4.
  2. Wartość min - -0.7426. Jego indeks to 0.
  3. Wartość min - -0.9577. Jego indeks to 3.
  4. Wartość min - -1.1608. Jego indeks wynosi 1.
  5. Wartość min - -1.1233. Jego indeks to 4.

Podobnie minimalne wartości na indeksie wzdłuż wierszy to:

  1. Wartość min - -1.7387. Jego indeks to 0.
  2. Wartość min - -1.1608. Jego indeks to 3.
  3. Wartość min - -0.5474. Jego indeks wynosi 1.
  4. Wartość min - -0.9577. Jego indeks to 2.
  5. Wartość min - -1.9151. Jego indeks to 0.

Pracuj z CPU

Jeśli chcesz uruchomić funkcję argmin () na procesorze, musimy utworzyć tensor z funkcją cpu (). Będzie to działać na komputerze procesora.

W tej chwili, kiedy tworzymy tensor, możemy użyć funkcji CPU ().

Składnia:
latarka.tensor (dane).procesor()

Przykład 1:

W tym przykładzie utworzymy tensor z dwoma wymiarami na procesorze, który ma trzy wiersze i pięć kolumn i zastosujemy argmin () na wierszach i kolumnach.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (3 * 5)
#z losowymi elementami za pomocą funkcji CPU () z funkcją CPU ()
Data = pochodnia.Randn (3,5).procesor()
#wyświetlacz
Drukuj (dane)
#Minimalny indeks wzdłuż kolumn z argmin
Drukuj (pochodnia.argmin (dane, dim = 0))
#Minimalny indeks wzdłuż rzędów z argmin
Drukuj (pochodnia.argmin (dane, dim = 1))

Wyjście:

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])

Jak widzimy, minimalne wartości dla indeksów i kolumn to:

  1. Wartość min - -1.2597. Jego indeks wynosi 1.
  2. Wartość min - 1 -0.3892. Jego indeks wynosi 1.
  3. Wartość min - -0.1914. Jego indeks to 2.
  4. Wartość min - 0.4714. Jego indeks to 0.
  5. Wartość min - -2.0053. Jego indeks to 2.

Podobnie wartości minimalne na indeksie wzdłuż wierszy to:

  1. Wartość min - -0.4714. Jego indeks to 3.
  2. Wartość min - -1.2597. Jego indeks to 0.
  3. Wartość min - -2.0053. Jego indeks to 4.

Przykład 2:

Utwórz tensor z matrycą pięciu na pięć na procesor i zastosuj argmin ().

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (5 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (5,5).procesor()
#wyświetlacz
Drukuj (dane)
#Minimalny indeks wzdłuż kolumn z argmin
Drukuj (pochodnia.argmin (dane, dim = 0))
#Minimalny indeks wzdłuż rzędów z argmin
Drukuj (pochodnia.argmin (dane, dim = 1))

Wyjście:

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])

Jak widzimy, minimalne wartości dla indeksów i kolumn to:

  1. Wartość min - -1.9151. Jego indeks to 4.
  2. Wartość min - -0.7426. Jego indeks to 0.
  3. Wartość min - -0.9577. Jego indeks to 3.
  4. Wartość min - -1.1608. Jego indeks wynosi 1.
  5. Wartość min - -1.1233. Jego indeks to 4.

Podobnie wartości minimalne na indeksie wzdłuż wierszy to:

  1. Wartość min - -1.7387. Jego indeks to 0.
  2. Wartość min - -1.1608. Jego indeks to 3.
  3. Wartość min - -0.5474. Jego indeks wynosi 1.
  4. Wartość min - -0.9577. Jego indeks to 2.
  5. Wartość min - -1.9151. Jego indeks to 0.

Wniosek

W tej lekcji Pytorcha widzieliśmy, czym jest argmin () i jak zastosować argmin () do tensora, aby zwrócić wskaźniki minimalnych wartości w kolumnach i wierszach.

Stworzyliśmy również tensor z funkcją CPU () i zwróciliśmy wskaźniki jej minimalnych wartości. DIM jest parametrem używanym do zwracania wskaźników wartości minimalnych w kolumnach, gdy jest ustawiony na 0 i zwraca wskaźniki wartości minimalnych w rzędach, gdy jest ustawiony na 1.