Pytorch - Cumprod

Pytorch - Cumprod
Pytorch ist ein Open-Source-Framework für die Python-Programmiersprache.

Ein Tensor ist ein mehrdimensionales Array, das zum Speichern von Daten verwendet wird. 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 Daten ein mehrdimensionales Array sind.

Fackel.cumprod ()

Fackel.cumprod () gibt das kumulative Produkt von Elementen in einem zweidimensionalen Tensor über Reihen oder Säulen hinweg zurück.

Syntax:

Fackel.Cumprod (Tensor_Object, Dim)

Parameter:

  1. Es dauert als erster Parameter Tensor_Object. Es muss zweidimensional sein.
  2. DIM = 0 gibt die spaltenweise Berechnung an und Dim = 1 gibt die Zeilen-Weise-Berechnung an.

Beispiel 1:

In diesem Beispiel werden wir einen Tensor erstellen, der vier Zeilen und vier Spalten hat und das kumulative Produkt jedes Elements in der Zeile zurückgibt.

Produkt jedes Elements in der Zeile.
#import Fackelmodul
Taschenlampe importieren
#Create Tensor
Data1 = Fackel.Tensor ([[2,3,4,5], [1,3,5,3] [2,3,2,1] [2,3,4,2]])
#Anzeige
print ("tatsächlicher Tensor:")
Druck (Daten1)
print ("kumulatives Produkt in der Reihe:")
#Return Cumulative Produkt
Druck (Taschenlampe.cumprod (data1,1))

Ausgang:

Tatsächlicher Tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]]))
Kumulatives Produkt in der Reihe:
Tensor ([[2, 6, 24, 120],
[1, 3, 15, 45],
[2, 6, 12, 12],
[2, 6, 24, 48]])

Arbeiten:

Zeile-1: 2,2*3,2*3*4,2*3*4*5 = [2, 6, 24, 120]

Zeile-2: 1,1*3,1*3*5,1*3*5*3 = [1, 3, 15, 45]

Zeile-3: 2,2*3,2*3*2,2*3*2*1 = [2, 6, 12, 12]

Zeile-4: 2,2*3,2*3*4,2*3*4*2 = [2, 6, 24, 48]

Beispiel 2:

In diesem Beispiel erstellen wir einen Tensor mit vier Zeilen und vier Spalten und geben das kumulative Produkt jedes Elements über die Spalte zurück.

#import Fackelmodul
Taschenlampe importieren
#Create Tensor
Data1 = Fackel.Tensor ([[2,3,4,5], [1,3,5,3] [2,3,2,1] [2,3,4,2]])
#Anzeige
print ("tatsächlicher Tensor:")
Druck (Daten1)
print ("kumulatives Produkt in der Spalte:")
#Return Cumulative Produkt
Druck (Taschenlampe.cumprod (data1,0))

Ausgang:

Tatsächlicher Tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]]))
Kumulatives Produkt über Spalte:
Tensor ([[2, 3, 4, 5],
[2, 9, 20, 15],
[4, 27, 40, 15],
[8, 81, 160, 30]])

Arbeiten:

Spalte-1: 2,2*1,2*1*2,2*1*2*2 = [2, 2,4,8]

Spalte-2: 3,3*3,3*3*3,3*3*3*3 = [3,9,27,81]

Spalte-3: 4,4*5,4*5*2,4*5*2*4 = [4,20,40,160]

Spalte-4: 5,5*3,5*3*1,5*3*1*2 = [5,15,15,30]

Arbeiten Sie mit CPU

Wenn Sie eine Cumprod () -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 erstellen, der vier Zeilen und vier Spalten hat und das kumulative Produkt jedes Elements in der Zeile zurückgibt.

#import Fackelmodul
Taschenlampe importieren
#Create Tensor
Data1 = Fackel.Tensor ([[2,3,4,5], [1,3,5,3] [2,3,2,1] [2,3,4,2]]).Zentralprozessor()
#Anzeige
print ("tatsächlicher Tensor:")
Druck (Daten1)
print ("kumulatives Produkt in der Reihe:")
#Return Cumulative Produkt
Druck (Taschenlampe.cumprod (data1,1))

Ausgang:

Tatsächlicher Tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]]))
Kumulatives Produkt in der Reihe:
Tensor ([[2, 6, 24, 120],
[1, 3, 15, 45],
[2, 6, 12, 12],
[2, 6, 24, 48]])

Arbeiten:

Zeile-1: 2,2*3,2*3*4,2*3*4*5 = [2, 6, 24, 120]

Zeile-2: 1,1*3,1*3*5,1*3*5*3 = [1, 3, 15, 45]

Zeile-3: 2,2*3,2*3*2,2*3*2*1 = [2, 6, 12, 12]

Zeile-4: 2,2*3,2*3*4,2*3*4*2 = [2, 6, 24, 48]

Beispiel 2:

In diesem Beispiel erstellen wir einen Tensor mit vier Zeilen und vier Spalten und geben das kumulative Produkt jedes Elements über die Spalte zurück.

#import Fackelmodul
Taschenlampe importieren
#Create Tensor
Data1 = Fackel.Tensor ([[2,3,4,5], [1,3,5,3] [2,3,2,1] [2,3,4,2]]).Zentralprozessor()
#Anzeige
print ("tatsächlicher Tensor:")
Druck (Daten1)
print ("kumulatives Produkt in der Spalte:")
#Return Cumulative Produkt
Druck (Taschenlampe.cumprod (data1,0))

Ausgang:

Tatsächlicher Tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]]))
Kumulatives Produkt über Spalte:
Tensor ([[2, 3, 4, 5],
[2, 9, 20, 15],
[4, 27, 40, 15],
[8, 81, 160, 30]])

Arbeiten:
Spalte-1: 2,2*1,2*1*2,2*1*2*2 = [2, 2,4,8]

Spalte-2: 3,3*3,3*3*3,3*3*3*3 = [3,9,27,81]

Spalte-3: 4,4*5,4*5*2,4*5*2*4 = [4,20,40,160]

Spalte-4: 5,5*3,5*3*1,5*3*1*2 = [5,15,15,30]

Abschluss

In diesem Pytorch -Tutorial haben wir gesehen.cumprod () Funktion. Es gibt das kumulative Produkt von Elementen in einem zweidimensionalen Tensor über Reihen oder Säulen hinweg zurück. Wir haben diese Funktion auch auf der CPU mit der Funktion cpu () implementiert.