Sortieren der Elemente eines Tensors in Pytorch

Sortieren der Elemente eines Tensors in Pytorch
Wir werden sehen, wie alle Elemente in einem Pytorch -Tensor in diesem Pytorch -Tutorial sortiert werden können.

Pytorch ist ein Open-Source-Framework mit einer Python-Programmiersprache. Wir können die Daten in Pytorch in Form eines Tensors verarbeiten. 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.

Fackel.Sortieren()

Fackel.Sort () in Pytorch wird verwendet, um die Elemente in einem Tensor in der aufsteigenden Reihenfolge zu sortieren. Wenn der Tensor zweidimensional ist, sortiert er die Zeile, wenn wir 1 angeben. Und es sortiert in der Spalten, wenn wir 0 angeben.

Syntax:
Reihenweise: Fackel.sortieren (Two_demsional_tensor_object, 1)

Spaltenweise: Fackel.sortieren (Two_demsional_tensor_object, 0)

Parameter:

  1. Two_Demensional_tensor_object ist der Tensor mit 2 Dimensionen.
  2. Ein (1) bezieht.

Es sortiert standardmäßig die Zeile in Bezug auf.

Zurückkehren:
Es gibt den sortierten Tensor zusammen mit den Indexpositionen im tatsächlichen Tensor zurück.

Beispiel 1:

Erstellen wir einen 2D -Tensor mit 5 Zeilen und 5 Spalten. Dann sortieren wir es in Bezug auf die Zeile, ohne einen zweiten Parameter anzugeben.

#import Fackelmodul
Taschenlampe importieren
#create einen 2D -Tensor - Daten1 mit 5 numerischen Werten in 4 Zeilen
Data1 = Fackel.Tensor ([[23,45,67,0,0], [12,21,10,34,78] [3,4,5,2,3] [45,67,54,32,22] ]))
#Anzeige
print ("Tensor:", Data1)
#Sortieren Sie den obigen Tensor
print ("Nach dem Sortieren von Zeilen- und"))
Druck (Taschenlampe.sortieren (Daten1))

Ausgang:

Tensor: Tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Nach dem Sortieren von Reihen:
Fackel.return_types.Sortieren(
Werte = Tensor ([[0, 0, 23, 45, 67],
[10, 12, 21, 34, 78],
[2, 3, 3, 4, 5],
[22, 32, 45, 54, 67]]),
Indizes = Tensor ([[3, 4, 0, 1, 2],
[2, 0, 1, 3, 4],
[3, 0, 4, 1, 2],
[4, 3, 0, 2, 1]])))

Wir können beobachten, dass Elemente in einem Tensor in aufsteigender Reihenfolge rudiert werden und die Indizes ihrer Positionen im tatsächlichen Tensor zurückgegeben haben.

Beispiel 2:

Erstellen wir einen 2D -Tensor mit 5 Zeilen und 5 Spalten. Dann sortieren wir es in Bezug auf die Zeile, indem wir einen zweiten Parameter als 1 angeben.

#import Fackelmodul
Taschenlampe importieren
#create einen 2D -Tensor - Daten1 mit 5 numerischen Werten in 4 Zeilen
Data1 = Fackel.Tensor ([[23,45,67,0,0], [12,21,10,34,78] [3,4,5,2,3] [45,67,54,32,22] ]))
#Anzeige
print ("Tensor:", Data1)
#Sortieren Sie den obigen Tensor
print ("Nach dem Sortieren von Zeilen- und"))
Druck (Taschenlampe.sortieren (Daten1,1))

Ausgang:

Tensor: Tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Nach dem Sortieren von Reihen:
Fackel.return_types.Sortieren(
Werte = Tensor ([[0, 0, 23, 45, 67],
[10, 12, 21, 34, 78],
[2, 3, 3, 4, 5],
[22, 32, 45, 54, 67]]),
Indizes = Tensor ([[3, 4, 0, 1, 2],
[2, 0, 1, 3, 4],
[3, 0, 4, 1, 2],
[4, 3, 0, 2, 1]])))

Wir können beobachten, dass die Elemente in einem Tensor in aufsteigender Reihenfolge rudiert werden und die Indizes ihrer Positionen im tatsächlichen Tensor zurückgegeben haben.

Beispiel 3:

Erstellen wir einen 2D -Tensor mit 5 Zeilen und 5 Spalten. Dann sortieren wir es in Bezug auf die Spalten, indem wir einen zweiten Parameter als 0 angeben.

#import Fackelmodul
Taschenlampe importieren
#create einen 2D -Tensor - Daten1 mit 5 numerischen Werten in 4 Zeilen
Data1 = Fackel.Tensor ([[23,45,67,0,0], [12,21,10,34,78] [3,4,5,2,3] [45,67,54,32,22] ]))
#Anzeige
print ("Tensor:", Data1)
#Sortieren Sie den obigen Tensor
print ("Nach der Sortierung der Spaltengesicht:")
Druck (Taschenlampe.sortieren (Daten1,0))

Ausgang:

Tensor: Tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Nach der Sortierung der Spalte:
Fackel.return_types.Sortieren(
Werte = Tensor ([[3, 4, 5, 0, 0],
[12, 21, 10, 2, 3],
[23, 45, 54, 32, 22],
[45, 67, 67, 34, 78]]),
Indizes = Tensor ([[2, 2, 2, 0, 0],
[1, 1, 1, 2, 2],
[0, 0, 3, 3, 3],
[3, 3, 0, 1, 1]])))

Wir können feststellen, dass die Elemente in einem Tensor in aufsteigender Reihenfolge sortiert sind und die Indizes ihrer Positionen im tatsächlichen Tensor zurückgegeben haben.

Beispiel 4:

Erstellen wir einen 1D -Tensor mit 5 Werten. Dann sortieren wir es mit der Funktion "sort ()).

#import Fackelmodul
Taschenlampe importieren
#Erstellen Sie einen 1D -Tensor - Daten1 mit 5 numerischen Werten
Data1 = Fackel.Tensor ([23,45,67,0,0])
#Anzeige
print ("Tensor:", Data1)
#Sortieren Sie den obigen Tensor
print ("nach sortieren ::")
Druck (Taschenlampe.sortieren (Daten1))

Ausgang:

Tensor: Tensor ([23, 45, 67, 0, 0])
Nach dem Sortieren ::
Fackel.return_types.Sortieren(
Werte = Tensor ([0, 0, 23, 45, 67]),
Indizes = Tensor ([3, 4, 0, 1, 2]))

Wir können feststellen, dass die Elemente in aufsteigender Reihenfolge sortiert sind und die Indizes ihrer Positionen im tatsächlichen Tensor zurückgeben.

Arbeiten Sie mit CPU

Wenn Sie eine Sort () -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:

Erstellen wir einen 2D -Tensor mit 5 Zeilen und 5 Spalten. Anschließend sortieren wir es in Bezug auf die Zeile, indem wir einen zweiten Parameter als 1 angeben und die Spalte angeben, indem wir einen zweiten Parameter als 0 angeben.

#import Fackelmodul
Taschenlampe importieren
#create einen 2D -Tensor - Daten1 mit 5 numerischen Werten in 4 Zeilen
Data1 = Fackel.Tensor ([[23,45,67,0,0], [12,21,10,34,78] [3,4,5,2,3] [45,67,54,32,22] ])).Zentralprozessor()
#Anzeige
print ("Tensor:", Data1)
drucken()
#Sortieren Sie den obigen Tensor
print ("Nach dem Sortieren von Zeilen- und"))
Druck (Taschenlampe.sortieren (Daten1,1))
drucken()
#Sortieren Sie den obigen Tensor
print ("Nach der Sortierung der Spaltengesicht:")
Druck (Taschenlampe.sortieren (Daten1,0))

Ausgang:

Tensor: Tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Nach dem Sortieren von Reihen:
Fackel.return_types.Sortieren(
Werte = Tensor ([[0, 0, 23, 45, 67],
[10, 12, 21, 34, 78],
[2, 3, 3, 4, 5],
[22, 32, 45, 54, 67]]),
Indizes = Tensor ([[3, 4, 0, 1, 2],
[2, 0, 1, 3, 4],
[3, 0, 4, 1, 2],
[4, 3, 0, 2, 1]])))
Nach der Sortierung der Spalte:
Fackel.return_types.Sortieren(
Werte = Tensor ([[3, 4, 5, 0, 0],
[12, 21, 10, 2, 3],
[23, 45, 54, 32, 22],
[45, 67, 67, 34, 78]]),
Indizes = Tensor ([[2, 2, 2, 0, 0],
[1, 1, 1, 2, 2],
[0, 0, 3, 3, 3],
[3, 3, 0, 1, 1]])))

Wir können beobachten, dass die Elemente in einem Tensor in aufsteigender Reihenfolge in Zeile und in Bezug.

Abschluss

In diesem Pytorch -Tutorial haben wir gelernt, wie man die Elemente in einem Tensor in aufsteigender Reihenfolge mit der Fackel sortiert.Sort () Funktion. Wenn der Tensor zweidimensional ist, sortiert er die Zeile, wenn wir 1 angeben, und sortiert die Spalte, wenn wir 0 angeben. Es gibt den sortierten Tensor zusammen mit den Indexpositionen im tatsächlichen Tensor zurück.

Wir haben die verschiedenen Beispiele zusammen mit der CPU () -Funktion gelernt. Die Fackel.Sort () Funktion nehmen keinen Parameter, während Sie sie auf den 1D -Tensor anwenden.