Pytorch - var

Pytorch - var
Wir werden sehen, wie die Varianz eines Tensors mit var () in diesem Pytorch -Tutorial zurückgegeben werden kann.

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.

Var ()

Var () in Pytorch wird verwendet, um die Varianz der im Eingangszensorobjekt vorhandenen Elemente zurückzugeben.

Syntax:

Fackel.var (Tensor, dim)

Wo:

1. Der Tensor ist der Eingangs -Tensor.

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

Beispiel 1:

In diesem Beispiel erstellen wir einen Tensor mit 2 Dimensionen mit 3 Zeilen und 5 Spalten und wenden die Funktion var () 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()
#Varianz entlang der Spalten
print ("Varianz zwischen Spalten:")
Druck (Taschenlampe.var (Daten, Dim = 0))
drucken()
#Varianz entlang von Zeilen
print ("Varianz zwischen Zeilen:")
Druck (Taschenlampe.var (Daten, Dim = 1))

Ausgang:

Tensor ([[0).8844, -0.6416, -0.5520, 0.3798, -0.0587],
[0.0633, 1.9403, -1.3161, -0.5293, 0.4061],
[1.3974, 0.9784, -0.1111, -1.7721, -0.5881]]))
Varianz über Spalten:
Tensor ([0).4529, 1.7027, 0.3717, 1.1669, 0.2475])
Varianz zwischen Zeilen:
Tensor ([0).4115, 1.4706, 1.6017])

Wir können sehen, dass die Varianz über die Spalten und Zeilen zurückgegeben wird.

Beispiel 2:

Erstellen Sie einen Tensor mit 5 * 5 Matrix und geben Sie die Varianz ü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()
#Varianz entlang der Spalten
print ("Varianz zwischen Spalten:")
Druck (Taschenlampe.var (Daten, Dim = 0))
drucken()
#Varianz entlang von Zeilen
print ("Varianz zwischen Zeilen:")
Druck (Taschenlampe.var (Daten, Dim = 1))

Ausgang:

Tensor ([[0).1260, 1.1681, 0.2191, -0.3685, -2.0660],
[0.5840, 0.2955, 0.2362, -1.2847, 1.3656],
[0.2925, 1.3555, -1.2881, 0.9167, 0.1882],
[-0.7466, 0.2770, 1.1448, -1.2779, -0.2764],
[-1.1316, -0.6998, 2.5051, -0.6687, -0.1624]]))
Varianz über Spalten:
Tensor ([0).5318, 0.6768, 1.9404, 0.8168, 1.5226])
Varianz zwischen Zeilen:
Tensor ([1.4157, 0.9283, 1.0072, 0.8749, 2.1285])

Wir können sehen, dass die Varianz über die Zeilen und Spalten zurückgegeben wurde.

Ohne den schwachen Parameter

Wenn wir den DIM -Parameter nicht angeben, gibt er die Varianz aus dem gesamten Tensor zurück.

Beispiel 1:

Erstellen Sie einen 2D -Tensor mit 5*5 Matrix und geben Sie die Varianz 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()
#Varianz
print ("Varianz:")
Druck (Taschenlampe.var (Daten))

Ausgang:

Tensor ([[-0).0151, -0.7915, -0.9665, -1.4131, 0.9591],
[-0.6647, 0.6698, -1.3399, -0.0513, -0.0519],
[1.0328, -0.3692, 1.0579, 0.5857, 0.3899],
[-0.5928, 1.2447, -0.5782, 1.4461, -0.4847],
[-1.3246, -0.7092, 0.1471, 0.5752, 3.1142]])
Varianz:
Tensor (1.1131)

Beispiel 2:

Erstellen Sie einen 1D -Tensor mit 5 Werten und geben Sie die Varianz 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()
#Varianz
print ("Varianz:")
Druck (Taschenlampe.var (Daten))

Ausgang:

Tensor ([10).6000, 20.7000, 30.6000, 40.4000, 50.0000])
Varianz:
Tensor (242.5780)

Arbeiten Sie mit CPU

Wenn Sie eine var () -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 der Funktion cpu () und wenden die Funktion var () 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()
#Varianz entlang der Spalten
print ("Varianz zwischen Spalten:")
Druck (Taschenlampe.var (Daten, Dim = 0))
drucken()
#Varianz entlang von Zeilen
print ("Varianz zwischen Zeilen:")
Druck (Taschenlampe.var (Daten, Dim = 1))

Ausgang:

Tensor ([[0).1278, 1.3140, 0.5116, -0.1922, 0.9349],
[-1.1720, 1.4805, -0.2628, 0.5970, -0.6479],
[-1.7930, 0.2337, -1.3810, -0.9092, -0.0778]]))
Varianz über Spalten:
Tensor ([0).9607, 0.4582, 0.9053, 0.5676, 0.6427])
Varianz zwischen Zeilen:
Tensor ([0).3655, 1.1027, 0.7312])

Wir können sehen, dass die Varianz über die Spalten und Zeilen zurückgegeben wird.

Beispiel 2:

Erstellen Sie einen Tensor mit 5 * 5 Matrix mit der Funktion cpu () und geben Sie die Varianz ü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()
#Varianz entlang der Spalten
print ("Varianz zwischen Spalten:")
Druck (Taschenlampe.var (Daten, Dim = 0))
drucken()
#Varianz entlang von Zeilen
print ("Varianz zwischen Zeilen:")
Druck (Taschenlampe.var (Daten, Dim = 1))

Ausgang:

Tensor ([[-0).3587, 1.2200, -0.8744, -0.8184, -1.1658],
[0.1428, -0.6122, -0.9894, 1.8219, -0.0248],
[-1.9626, -0.3423, 1.3046, 0.9737, 1.1691],
[-0.1054, -0.3935, -0.3632, -0.7317, -0.1751],
[0.9651, -0.6595, 0.3152, 0.6908, -0.0370]])
Varianz über Spalten:
Tensor ([1.1489, 0.6115, 0.9007, 1.2999, 0.6869])
Varianz zwischen Zeilen:
Tensor ([0).9032, 1.1678, 1.9312, 0.0595, 0.4048])

Wir können sehen, dass die Varianz über die Zeilen und Spalten zurückgegeben wurde.

Abschluss

In dieser Pytorch -Lektion haben wir über die Funktion var () und wie man sie auf einen Tensor anwendet, um die Varianz über die Spalten und Zeilen zurückzuführen.

Wir haben auch einen Tensor mit der CPU () -Funktion erstellt und die Varianz zurückgegeben. Wenn der DIM nicht in zwei oder mehrdimensionalen Tensor angegeben ist, gibt es die Varianz des gesamten Tensors zurück.