Pytorch - mediana

Pytorch - mediana
Vedremo come restituire la mediana di un tensore usando la mediana () in questo tutorial di Pytorch.

Pytorch è un framework open source disponibile con un linguaggio di programmazione Python. Il tensore è un array multidimensionale che viene utilizzato per archiviare i dati. Per usare un tensore, dobbiamo importare il modulo Torch. Per creare un tensore, il metodo utilizzato è tensore ().

Sintassi:

torcia.tensore (dati)

Dove i dati sono un array multidimensionale.

Mediano()

Median () in Pytorch viene utilizzato per restituire la mediana degli elementi presenti nell'oggetto tensore di input.

Sintassi:

torcia.mediana (tensore, dim)

Dove:

1. Il tensore è il tensore di ingresso.

2. Dim è ridurre la dimensione. Dim = 0 Specifica il confronto della colonna che porta la mediana lungo una colonna e Dim = 1 Specifica il confronto delle righe che ottiene la mediana lungo la riga.

Ritorno:

Restituisce la mediana insieme alla posizione dell'indice dove è presente nel tensore.

Esempio 1:

In questo esempio, creeremo un tensore con 2 dimensioni con 3 righe e 5 colonne e applicheremo la funzione mediana () su righe e colonne.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (3 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (3,5)
#Schermo
Stampa (dati)
stampa()
#get mediana lungo le colonne
Stampa ("mediana attraverso le colonne:")
Stampa (torcia.mediana (dati, dim = 0))
stampa()
#get mediana lungo le righe
stampa ("mediana attraverso le righe:")
Stampa (torcia.mediana (dati, dim = 1))

Produzione:

tensore ([[0.9562, 0.4517, 2.1758, -0.7846, -0.7103],
[-0.4080, 1.9359, 1.0324, 0.0120, -0.4021],
[0.6448, -0.6840, 1.5963, 0.4659, 0.5414]])
Mediana attraverso le colonne:
torcia.return_types.mediano(
valori = tensore ([0.6448, 0.4517, 1.5963, 0.0120, -0.4021]),
indici = tensore ([2, 0, 2, 1, 1])
Mediana attraverso le file:
torcia.return_types.mediano(
valori = tensore ([0.4517, 0.0120, 0.5414]),
indici = tensore ([1, 3, 4])

Possiamo vedere che la mediana viene restituita attraverso le colonne e le righe insieme alle posizioni dell'indice (indici).

Esempio 2:

Crea un tensore con matrice 5 * 5 e restituisce la mediana attraverso le righe e le colonne.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (5 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (5,5)
#Schermo
Stampa (dati)
stampa()
#get mediana lungo le colonne
Stampa ("mediana attraverso le colonne:")
Stampa (torcia.mediana (dati, dim = 0))
stampa()
#get mediana lungo le righe
stampa ("mediana attraverso le righe:")
Stampa (torcia.mediana (dati, dim = 1))

Produzione:

tensore ([[-1.0895, 1.2629, 0.5036, -0.8317, 0.9415],
[-0.1067, 0.5748, 0.1773, 0.1904, 0.1359],
[-0.7851, -0.1791, -0.1605, 1.8524, 0.3375],
[-0.6451, 0.5093, -2.0334, -0.6462, -0.5074],
[-0.7813, -1.5316, 0.3567, 1.5330, 0.6483]])
Mediana attraverso le colonne:
torcia.return_types.mediano(
valori = tensore ([-0.7813, 0.5093, 0.1773, 0.1904, 0.3375]),
indici = tensore ([4, 3, 1, 1, 2])
Mediana attraverso le file:
torcia.return_types.mediano(
valori = tensore ([0.5036, 0.1773, -0.1605, -0.6451, 0.3567]),
indici = tensore ([2, 2, 2, 0, 2])

Possiamo vedere che la mediana attraverso le file e le colonne sono state restituite insieme agli indici.

Senza il parametro dim

Se non specifichiamo il parametro Dim, restituisce l'intera mediana.

Esempio 1:

Crea un tensore 2D con matrice 5*5 e restituisce la mediana.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (5 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (5,5)
#Schermo
Stampa (dati)
stampa()
#get Median
Print ("Median:")
Stampa (torcia.mediana (dati))

Produzione:

tensore ([[0.7692, 1.9155, 1.0876, 0.6794, 0.5791],
[-0.2212, -1.4801, 0.5487, -0.5765, -0.4750],
[-0.0681, 0.5216, 1.1400, -0.1743, 0.0344],
[-0.4639, -1.2341, -1.0520, 0.1718, -0.1909],
[0.6911, -1.4869, 2.7762, -0.3645, -0.4775]])
Mediana:
tensore (-0.0681)

Esempio 2:

Creare un tensore 1D con 5 valori e restituire la mediana.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 5 valori numerici
data = torcia.tensore ([10.6,20.7,30.6,40.4,50.0])
#Schermo
Stampa (dati)
stampa()
#get Median
Print ("Median:")
Stampa (torcia.mediana (dati))

Produzione:

tensore ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Mediana:
tensore (30.6000)

Lavorare con la CPU

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

Quando creiamo un tensore, questa volta, possiamo usare la funzione CPU ().

Sintassi:

torcia.tensore (dati).processore()

Esempio 1:

In questo esempio, creeremo un tensore con 2 dimensioni con 3 righe e 5 colonne con la funzione CPU () e applicare la mediana () su righe e colonne.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (3 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (3,5).processore()
#Schermo
Stampa (dati)
stampa()
#get mediana lungo le colonne
Stampa ("mediana attraverso le colonne:")
Stampa (torcia.mediana (dati, dim = 0))
stampa()
#get mediana lungo le righe
stampa ("mediana attraverso le righe:")
Stampa (torcia.mediana (dati, dim = 1))

Produzione:

tensore ([[0.9872, 0.1258, -0.0952, 0.3269, -1.6033],
[-0.2432, -1.0049, -0.9058, 0.9438, 0.3060],
[-2.8293, 1.4515, -0.9482, 0.9876, 0.2767]])
Mediana attraverso le colonne:
torcia.return_types.mediano(
valori = tensore ([-0.2432, 0.1258, -0.9058, 0.9438, 0.2767]),
indici = tensore ([1, 0, 1, 1, 2])
Mediana attraverso le file:
torcia.return_types.mediano(
valori = tensore ([0.1258, -0.2432, 0.2767]),
indici = tensore ([1, 0, 4]))

Possiamo vedere che la mediana viene restituita attraverso le colonne e le righe con gli indici.

Esempio 2:

Crea un tensore con matrice 5 * 5 con la funzione CPU () e restituisce la mediana attraverso le righe e le colonne.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (5 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (5,5).processore()
#Schermo
Stampa (dati)
stampa()
#get mediana lungo le colonne
Stampa ("mediana attraverso le colonne:")
Stampa (torcia.mediana (dati, dim = 0))
stampa()
#get mediana lungo le righe
stampa ("mediana attraverso le righe:")
Stampa (torcia.mediana (dati, dim = 1))

Produzione:

tensore ([[-0.3739, -1.2500, -1.9125, -0.4597, 0.2058],
[-0.1885, -0.4993, -1.0801, -0.1367, -0.5683],
[-0.1242, 0.1221, -0.2267, -0.7851, 0.6797],
[2.2487, 0.0141, 0.1632, -0.4924, -0.9134],
[-1.6101, 0.5051, -0.2004, -0.4901, -0.3358]])
Mediana attraverso le colonne:
torcia.return_types.mediano(
valori = tensore ([-0.1885, 0.0141, -0.2267, -0.4901, -0.3358]),
indici = tensore ([1, 3, 2, 4, 4]))
Mediana attraverso le file:
torcia.return_types.mediano(
valori = tensore ([-0.4597, -0.4993, -0.1242, 0.0141, -0.3358]),
indici = tensore ([3, 1, 0, 1, 4])

Possiamo vedere che la mediana attraverso le righe e le colonne sono state restituite.

Conclusione

In questa lezione di Pytorch, abbiamo appreso la funzione mediana () e come applicarlo su un tensore per restituire una mediana attraverso le colonne e le righe.

Abbiamo anche creato un tensore con la funzione CPU () e restituito la mediana. Se il DIM non è specificato in un tensore a due o multidimensionali, restituisce l'intera mediana.