Pytorch - Cummin

Pytorch - Cummin
Pytorch è un framework open source per il linguaggio di programmazione Python.

Un tensore è un array multidimensionale che viene utilizzato per archiviare i dati. Quindi, per usare un tensore, dobbiamo importare il modulo Torcia.

Per creare un tensore il metodo utilizzato è tensore ().

Sintassi:

torcia.tensore (dati)

Dove i dati sono un array multidimensionale.

torcia.cummin ()

Il minimo cumulativo di elementi in un tensore bidimensionale su righe o colonne viene restituito da torcia.cummin (). Restituisce inoltre gli indici dei valori minimi restituiti.

Sintassi:

torcia.cummin (tensor_object, dim)

Parametri:

  1. Ci vuole Tensor_Object come primo parametro. Deve essere bidimensionale.
  2. Dim = 0 Specifica il calcolo per la colonna e Dim = 1 Specifica il calcolo della riga.

Esempio 1:

In questo esempio, creeremo un tensore che ha quattro righe e quattro colonne e restituiremo il minimo cumulativo di ciascun elemento attraverso la riga.

Modulo Torcia #IMport
Torcia di importazione
#Crea tensore
data1 = torcia.tensore ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])
#Schermo
Stampa ("Tensore reale:")
Stampa (Data1)
Stampa ("Minimo cumulativo attraverso la riga:")
#Return Minimo cumulativo
Stampa (torcia.cummin (data1,1))

Produzione:

Tensor reale:
tensore ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Minimo cumulativo attraverso la riga:
torcia.return_types.Cummin (
valori = tensore ([[2, 2, 2, 2],
[1, 1, 1, 1],
[2, 2, 2, 1],
[2, 2, 2, 2]]),
indici = tensore ([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 2, 3],
[0, 0, 0, 3]]))

Lavorando:
ROW-1: 2, minimo (2,3), minimo (2,3,4), minimo (2,3,4,5) = [2, 2, 2, 2]

Quindi, le posizioni dell'indice [2,2,2,2] nel tensore effettivo sono - [0,0,0,0]

ROW-2: 1, minimo (1,3), minimo (1,3,5), minimo (1,3,5,3) = [1,1,1,1]

Quindi, le posizioni dell'indice [1,1,1,1] nel tensore effettivo sono - [0,0,0,0]

Row-3: 2, minimo (2,3), minimo (2,3,2), minimo (2,3,2,1) = [2,2,2,1]

Quindi, le posizioni dell'indice [2,2,2,1] nel tensore effettivo sono - [0,0,2,3]

Row-4: 2, minimo (2,3), minimo (2,3,4), minimo (2,3,4,2) = [2,2,2,2]

Quindi, le posizioni dell'indice [2,2,2,2] nel tensore effettivo sono - [0,0,0,3]

Esempio 2:

In questo esempio, creeremo un tensore che ha quattro righe e quattro colonne e restituiremo il minimo cumulativo di ciascun elemento attraverso la colonna.

Modulo Torcia #IMport
Torcia di importazione
#Crea tensore
data1 = torcia.tensore ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])
#Schermo
Stampa ("Tensore reale:")
Stampa (Data1)
Stampa ("Minimo cumulativo attraverso la colonna:")
#Return Minimo cumulativo
Stampa (torcia.cummin (data1,0))

Produzione:

Tensor reale:
tensore ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Minimo cumulativo attraverso la colonna:
torcia.return_types.Cummin (
valori = tensore ([[2, 3, 4, 5],
[1, 3, 4, 3],
[1, 3, 2, 1],
[1, 3, 2, 1]]),
indici = tensore ([[0, 0, 0, 0],
[1, 1, 0, 1],
[1, 2, 2, 2],
[1, 3, 2, 2]]))

Lavorando:

Colonna-1: 2, minimo (2,1), minimo (2,1,2), minimo (2,1,2,2) = [2, 1,1,1]

Quindi, [2, 1,1,1] le posizioni dell'indice nel tensore effettivo sono - [0,1,1,1]

Colonna 2: 3, minimo (3,3), minimo (3,3,3), minimo (3,3,3,3) = [3,3,3,3]

Quindi, le posizioni dell'indice [3,3,3,3] nel tensore effettivo sono - [0,1,2,3]

Colonna-3: 4, minimo (4,5), minimo (4,5,2), minimo (4,5,2,4) = [4,4,2,2]

Quindi, le posizioni dell'indice [4,4,2,2] nel tensore effettivo sono - [0,0,2,2]

Colonna-4: 5, minimo (5,3), minimo (5,3,1), minimo (5,3,1,2) = [5,3,1,1]

Quindi, le posizioni dell'indice [5,3,1,1] nel tensore effettivo sono - [0,1,2,2]

Lavorare con la CPU

Se si desidera eseguire una funzione Cummin () sulla CPU, allora dobbiamo creare un tensore con una funzione CPU (). Questo funzionerà su una macchina CPU.

Al momento, quando stiamo creando un tensore, possiamo usare la funzione CPU ().

Sintassi:

torcia.tensore (dati).processore()

Esempio 1:

In questo esempio, creeremo un tensore che ha quattro righe e quattro colonne sulla CPU e restituire il minimo cumulativo di ciascun elemento attraverso la riga.

Modulo Torcia #IMport
Torcia di importazione
#Crea tensore
data1 = torcia.tensore ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]).processore()
#Schermo
Stampa ("Tensore reale:")
Stampa (Data1)
Stampa ("Minimo cumulativo attraverso la riga:")
#Return Minimo cumulativo
Stampa (torcia.cummin (data1,1))

Produzione:

Tensor reale:
tensore ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Minimo cumulativo attraverso la riga:
torcia.return_types.Cummin (
valori = tensore ([[2, 2, 2, 2],
[1, 1, 1, 1],
[2, 2, 2, 1],
[2, 2, 2, 2]]),
indici = tensore ([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 2, 3],
[0, 0, 0, 3]]))

Lavorando:

ROW-1: 2, minimo (2,3), minimo (2,3,4), minimo (2,3,4,5) = [2, 2, 2, 2]

Quindi, le posizioni dell'indice [2,2,2,2] nel tensore effettivo sono - [0,0,0,0]

ROW-2: 1, minimo (1,3), minimo (1,3,5), minimo (1,3,5,3) = [1,1,1,1]

Quindi, le posizioni dell'indice [1,1,1,1] nel tensore effettivo sono - [0,0,0,0]

Row-3: 2, minimo (2,3), minimo (2,3,2), minimo (2,3,2,1) = [2,2,2,1]

Quindi, le posizioni dell'indice [2,2,2,1] nel tensore effettivo sono - [0,0,2,3]

Row-4: 2, minimo (2,3), minimo (2,3,4), minimo (2,3,4,2) = [2,2,2,2]

Quindi, le posizioni dell'indice [2,2,2,2] nel tensore effettivo sono - [0,0,0,3]

Esempio 2:

In questo esempio, creeremo un tensore che ha quattro righe e quattro colonne sulla CPU e restituiremo il minimo cumulativo di ciascun elemento attraverso la colonna.

Modulo Torcia #IMport
Torcia di importazione
#Crea tensore
data1 = torcia.tensore ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]).processore()
#Schermo
Stampa ("Tensore reale:")
Stampa (Data1)
Stampa ("Minimo cumulativo attraverso la colonna:")
#Return Minimo cumulativo
Stampa (torcia.cummin (data1,0))

Produzione:

Tensor reale:
tensore ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Minimo cumulativo attraverso la colonna:
torcia.return_types.Cummin (
valori = tensore ([[2, 3, 4, 5],
[1, 3, 4, 3],
[1, 3, 2, 1],
[1, 3, 2, 1]]),
indici = tensore ([[0, 0, 0, 0],
[1, 1, 0, 1],
[1, 2, 2, 2],
[1, 3, 2, 2]]))

Lavorando:

Colonna-1: 2, minimo (2,1), minimo (2,1,2), minimo (2,1,2,2) = [2, 1,1,1]

Quindi, [2, 1,1,1] le posizioni dell'indice nel tensore effettivo sono - [0,1,1,1]

Colonna 2: 3, minimo (3,3), minimo (3,3,3), minimo (3,3,3,3) = [3,3,3,3]

Quindi, le posizioni dell'indice [3,3,3,3] nel tensore effettivo sono - [0,1,2,3]

Colonna-3: 4, minimo (4,5), minimo (4,5,2), minimo (4,5,2,4) = [4,4,2,2]

Quindi, le posizioni dell'indice [4,4,2,2] nel tensore effettivo sono - [0,0,2,2]

Colonna-4: 5, minimo (5,3), minimo (5,3,1), minimo (5,3,1,2) = [5,3,1,1]

Quindi, le posizioni dell'indice [5,3,1,1] nel tensore effettivo sono - [0,1,2,2]

Conclusione

In questo tutorial di Pytorch, abbiamo visto come eseguire un'operazione minima cumulativa su un tensore usando la torcia.funzione cummin (). Restituisce il minimo cumulativo di elementi in un tensore bidimensionale e indicizza anche le posizioni dei valori minimi tra le righe o tra le colonne. Abbiamo anche implementato questa funzione sulla CPU usando la funzione CPU ().