Sortowanie elementów tensora w Pytorch

Sortowanie elementów tensora w Pytorch
Zobaczymy, jak sortować wszystkie elementy w tensorze Pytorcha w tym samouczku Pytorcha.

Pytorch to open source dostępny z językiem programowania Python. Możemy przetwarzać dane w Pytorch w postaci tensora. TENSOR to wielowymiarowa tablica używana do przechowywania danych. Aby użyć tensor, musimy zaimportować moduł pochodni. Aby utworzyć tensor, zastosowaną metodą jest tensor ().

Składnia:

latarka.tensor (dane)

Gdzie dane są wielowymiarową tablicą.

Latarka.sortować()

Latarka.sort () w Pytorch służy do sortowania elementów w tensorze w kolejności rosnącej. Jeśli tensor jest dwuwymiarowy, sortuje to, gdy określamy 1. I sortuje to pod względem kolumny, gdy określamy 0.

Składnia:
Row Mądry: latarka.sort (Two_demensional_Tensor_Object, 1)

Kolumna Wise: latarka.sort (Two_demensional_Tensor_Object, 0)

Parametr:

  1. Two_demensional_Tensor_Object to tensor, który ma 2 wymiary.
  2. Jeden (1) odnosi się do sortowania rzędu, a 0 odnosi się do sortowania kolumnowego.

Domyślnie sortuje to rzędowe.

Powrót:
Zwraca posortowany tensor wraz z pozycjami indeksu w rzeczywistym tensor.

Przykład 1:

Utwórzmy tensor 2D, który ma 5 wierszy i 5 kolumn. Następnie sortujemy to pod względem wiersza bez określenia drugiego parametru.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor 2D - Data1 z 5 wartościami liczbowymi w 4 rzędach
data1 = pochodnia.tensor ([[23,45,67,0,0], [12,21,10,34,78], [3,4,5,2,3], [45,67,54,32,22] ])
#wyświetlacz
Drukuj („Tensor:”, Data1)
#Sort powyższy tensor
Drukuj („Po sortowaniu wiersza:”)
Drukuj (pochodnia.sort (data1))

Wyjście:

Tensor: tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Po sortowaniu rzędu:
latarka.return_types.sortować(
Wartości = tensor ([[0, 0, 23, 45, 67],
[10, 12, 21, 34, 78],
[2, 3, 3, 4, 5],
[22, 32, 45, 54, 67]]),
wskaźniki = tensor ([[3, 4, 0, 1, 2],
[2, 0, 1, 3, 4],
[3, 0, 4, 1, 2],
[4, 3, 0, 2, 1])))

Możemy zauważyć, że elementy są sortowane z rzędu w tensorze w kolejności rosnącej i zwróciły wskaźniki swoich pozycji w rzeczywistym tensorze.

Przykład 2:

Utwórzmy tensor 2D, który ma 5 wierszy i 5 kolumn. Następnie sortujemy to pod względem wiary, określając drugi parametr jako 1.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor 2D - Data1 z 5 wartościami liczbowymi w 4 rzędach
data1 = pochodnia.tensor ([[23,45,67,0,0], [12,21,10,34,78], [3,4,5,2,3], [45,67,54,32,22] ])
#wyświetlacz
Drukuj („Tensor:”, Data1)
#Sort powyższy tensor
Drukuj („Po sortowaniu wiersza:”)
Drukuj (pochodnia.sort (dane 1,1))

Wyjście:

Tensor: tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Po sortowaniu rzędu:
latarka.return_types.sortować(
Wartości = tensor ([[0, 0, 23, 45, 67],
[10, 12, 21, 34, 78],
[2, 3, 3, 4, 5],
[22, 32, 45, 54, 67]]),
wskaźniki = tensor ([[3, 4, 0, 1, 2],
[2, 0, 1, 3, 4],
[3, 0, 4, 1, 2],
[4, 3, 0, 2, 1])))

Możemy zauważyć, że elementy są sortowane z rzędu w tensorze w kolejności rosnącej i zwróciły wskaźniki swoich pozycji w rzeczywistym tensorze.

Przykład 3:

Utwórzmy tensor 2D, który ma 5 wierszy i 5 kolumn. Następnie sortujemy to pod względem kolumny, określając drugi parametr jako 0.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor 2D - Data1 z 5 wartościami liczbowymi w 4 rzędach
data1 = pochodnia.tensor ([[23,45,67,0,0], [12,21,10,34,78], [3,4,5,2,3], [45,67,54,32,22] ])
#wyświetlacz
Drukuj („Tensor:”, Data1)
#Sort powyższy tensor
Drukuj („Po sortowaniu kolumny:”)
Drukuj (pochodnia.sort (dane 1,0))

Wyjście:

Tensor: tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Po sortowaniu kolumn:
latarka.return_types.sortować(
Wartości = tensor ([[3, 4, 5, 0, 0],
[12, 21, 10, 2, 3],
[23, 45, 54, 32, 22],
[45, 67, 67, 34, 78]]),
wskaźniki = tensor ([[2, 2, 2, 0, 0],
[1, 1, 1, 2, 2],
[0, 0, 3, 3, 3],
[3, 3, 0, 1, 1])))

Możemy zauważyć, że elementy są sortowane w kolumnie w tensorze w kolejności rosnącej i zwróciły wskaźniki swoich pozycji w rzeczywistym tensorze.

Przykład 4:

Utwórzmy tensor 1D, który ma 5 wartości. Następnie sortujemy to za pomocą funkcji sort ().

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor 1d - Data1 z 5 wartościami liczbowymi
data1 = pochodnia.tensor ([23,45,67,0,0])
#wyświetlacz
Drukuj („Tensor:”, Data1)
#Sort powyższy tensor
Drukuj („po sortowaniu::”)
Drukuj (pochodnia.sort (data1))

Wyjście:

Tensor: tensor ([23, 45, 67, 0, 0])
Po sortowaniu ::
latarka.return_types.sortować(
wartości = tensor ([0, 0, 23, 45, 67]),
wskaźniki = tensor ([3, 4, 0, 1, 2])))

Możemy zauważyć, że elementy są sortowane w kolejności rosnącej i zwróciły wskaźniki swoich pozycji w rzeczywistym tensorze.

Pracuj z CPU

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

Kiedy tworzymy tensor, tym razem możemy użyć funkcji CPU ().

Składnia:

latarka.tensor (dane).procesor()

Przykład:

Utwórzmy tensor 2D, który ma 5 wierszy i 5 kolumn. Następnie sortujemy to pod względem wiersza, określając drugi parametr jako 1 i sortuje go pod względem kolumny, określając drugi parametr jako 0.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor 2D - Data1 z 5 wartościami liczbowymi w 4 rzędach
data1 = pochodnia.tensor ([[23,45,67,0,0], [12,21,10,34,78], [3,4,5,2,3], [45,67,54,32,22] ]).procesor()
#wyświetlacz
Drukuj („Tensor:”, Data1)
wydrukować()
#Sort powyższy tensor
Drukuj („Po sortowaniu wiersza:”)
Drukuj (pochodnia.sort (dane 1,1))
wydrukować()
#Sort powyższy tensor
Drukuj („Po sortowaniu kolumny:”)
Drukuj (pochodnia.sort (dane 1,0))

Wyjście:

Tensor: tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Po sortowaniu rzędu:
latarka.return_types.sortować(
Wartości = tensor ([[0, 0, 23, 45, 67],
[10, 12, 21, 34, 78],
[2, 3, 3, 4, 5],
[22, 32, 45, 54, 67]]),
wskaźniki = tensor ([[3, 4, 0, 1, 2],
[2, 0, 1, 3, 4],
[3, 0, 4, 1, 2],
[4, 3, 0, 2, 1])))
Po sortowaniu kolumn:
latarka.return_types.sortować(
Wartości = tensor ([[3, 4, 5, 0, 0],
[12, 21, 10, 2, 3],
[23, 45, 54, 32, 22],
[45, 67, 67, 34, 78]]),
wskaźniki = tensor ([[2, 2, 2, 0, 0],
[1, 1, 1, 2, 2],
[0, 0, 3, 3, 3],
[3, 3, 0, 1, 1])))

Możemy zauważyć, że elementy są posortowane, jeśli chodzi o wiary i kolumnowe w tensorze w kolejności rosnącej i zwróciły wskaźniki swoich pozycji w rzeczywistym tensorze.

Wniosek

W tym samouczku Pytorcha nauczyliśmy się, jak sortować elementy w tensorze w kolejności rosnącej za pomocą pochodni.sort () funkcja. Jeśli tensor jest dwuwymiarowy, sortuje to, gdy określamy 1 i sortujemy kolumnę, gdy określamy 0. Zwraca posortowany tensor wraz z pozycjami indeksu w rzeczywistym tensor.

Nauczyliśmy się różnych przykładów wraz z funkcją CPU (). Pochodnia.sort () funkcja nie bierze żadnego parametru podczas stosowania go na tensor 1d.