Pytorch - median

Pytorch - median
Vi vil se hvordan du kan returnere medianen til en tensor ved hjelp av median () i denne Pytorch -opplæringen.

Pytorch er et open source-ramme tilgjengelig med et Python-programmeringsspråk. Tensor er et flerdimensjonalt utvalg som brukes til å lagre dataene. For å bruke en tensor, må vi importere fakkelmodulen. For å lage en tensor er metoden som brukes tensor ().

Syntaks:

lommelykt.Tensor (data)

Der dataene er en flerdimensjonal matrise.

Median ()

Median () i Pytorch brukes til å returnere medianen til elementene som er til stede i inngangs -tensorobjektet.

Syntaks:

lommelykt.median (tensor, dim)

Hvor:

1. Tensoren er inngangstensoren.

2. Dim er å redusere dimensjonen. DIM = 0 Angir kolonnesammenligningen som får medianen langs en kolonne og DIM = 1 spesifiserer radens sammenligning som får medianen langs raden.

Komme tilbake:

Den returnerer medianen sammen med indeksposisjonen der den er til stede i tensoren.

Eksempel 1:

I dette eksemplet vil vi lage en tensor med to dimensjoner som har 3 rader og 5 kolonner og bruke median () -funksjonen på rader og kolonner.

#import fakkelmodul
Importer fakkel
#Create en tensor med 2 dimensjoner (3 * 5)
#med tilfeldige elementer ved bruk av randn () -funksjon
data = fakkel.Randn (3,5)
#vise
Print (data)
skrive ut()
#get median langs kolonner
trykk ("Median på tvers av kolonner:")
trykk (fakkel.median (data, dim = 0))
skrive ut()
#get median langs rader
trykk ("Median over rader:")
trykk (fakkel.median (data, dim = 1))

Produksjon:

tensor ([[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]])
Median over kolonner:
lommelykt.return_types.median (
verdier = tensor ([0.6448, 0.4517, 1.5963, 0.0120, -0.4021]),
indekser = tensor ([2, 0, 2, 1, 1]))
Median over rader:
lommelykt.return_types.median (
verdier = tensor ([0.4517, 0.0120, 0.5414]),
indekser = tensor ([1, 3, 4]))

Vi kan se at medianen blir returnert over kolonnene og radene sammen med indeksposisjonene (indekser).

Eksempel 2:

Lag en tensor med 5 * 5 -matrise og returner medianen over radene og kolonnene.

#import fakkelmodul
Importer fakkel
#Create en tensor med 2 dimensjoner (5 * 5)
#med tilfeldige elementer ved bruk av randn () -funksjon
data = fakkel.Randn (5,5)
#vise
Print (data)
skrive ut()
#get median langs kolonner
trykk ("Median på tvers av kolonner:")
trykk (fakkel.median (data, dim = 0))
skrive ut()
#get median langs rader
trykk ("Median over rader:")
trykk (fakkel.median (data, dim = 1))

Produksjon:

Tensor ([[-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]])
Median over kolonner:
lommelykt.return_types.median (
verdier = tensor ([-0.7813, 0.5093, 0.1773, 0.1904, 0.3375]),
indekser = tensor ([4, 3, 1, 1, 2]))
Median over rader:
lommelykt.return_types.median (
verdier = tensor ([0.5036, 0.1773, -0.1605, -0.6451, 0.3567]),
indekser = tensor ([2, 2, 2, 0, 2]))

Vi kan se at medianen over radene og søylene ble returnert sammen med indeksene.

Uten den svake parameteren

Hvis vi ikke spesifiserer DIM -parameteren, returnerer den hele medianen.

Eksempel 1:

Lag en 2D -tensor med 5*5 -matrise og returner medianen.

#import fakkelmodul
Importer fakkel
#Create en tensor med 2 dimensjoner (5 * 5)
#med tilfeldige elementer ved bruk av randn () -funksjon
data = fakkel.Randn (5,5)
#vise
Print (data)
skrive ut()
#get median
trykk ("Median:")
trykk (fakkel.median (data)))

Produksjon:

tensor ([[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]])
Median:
Tensor (-0.0681)

Eksempel 2:

Lag en 1D -tensor med 5 verdier og returner medianen.

#import fakkelmodul
Importer fakkel
#skap en tensor med 5 numeriske verdier
data = fakkel.Tensor ([10.6,20.7,30.6,40.4,50.0])
#vise
Print (data)
skrive ut()
#get median
trykk ("Median:")
trykk (fakkel.median (data)))

Produksjon:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Median:
Tensor (30.6000)

Arbeid med CPU

Hvis du vil kjøre en median () -funksjon på CPU, må vi lage en tensor med en CPU () -funksjon. Dette kjøres på en CPU -maskin.

Når vi lager en tensor, kan vi bruke CPU () -funksjonen denne gangen.

Syntaks:

lommelykt.Tensor (data).prosessor()

Eksempel 1:

I dette eksemplet vil vi lage en tensor med to dimensjoner som har 3 rader og 5 kolonner med CPU () -funksjonen og bruke median () på rader og kolonner.

#import fakkelmodul
Importer fakkel
#Create en tensor med 2 dimensjoner (3 * 5)
#med tilfeldige elementer ved bruk av randn () -funksjon
data = fakkel.Randn (3,5).prosessor()
#vise
Print (data)
skrive ut()
#get median langs kolonner
trykk ("Median på tvers av kolonner:")
trykk (fakkel.median (data, dim = 0))
skrive ut()
#get median langs rader
trykk ("Median over rader:")
trykk (fakkel.median (data, dim = 1))

Produksjon:

tensor ([[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]])
Median over kolonner:
lommelykt.return_types.median (
verdier = tensor ([-0.2432, 0.1258, -0.9058, 0.9438, 0.2767]),
indekser = tensor ([1, 0, 1, 1, 2]))
Median over rader:
lommelykt.return_types.median (
verdier = tensor ([0.1258, -0.2432, 0.2767]),
indekser = tensor ([1, 0, 4]))

Vi kan se at medianen blir returnert over kolonnene og radene med indekser.

Eksempel 2:

Lag en tensor med 5 * 5 -matrise med CPU () -funksjonen og returner medianen over radene og kolonnene.

#import fakkelmodul
Importer fakkel
#Create en tensor med 2 dimensjoner (5 * 5)
#med tilfeldige elementer ved bruk av randn () -funksjon
data = fakkel.Randn (5,5).prosessor()
#vise
Print (data)
skrive ut()
#get median langs kolonner
trykk ("Median på tvers av kolonner:")
trykk (fakkel.median (data, dim = 0))
skrive ut()
#get median langs rader
trykk ("Median over rader:")
trykk (fakkel.median (data, dim = 1))

Produksjon:

tensor ([[-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]])
Median over kolonner:
lommelykt.return_types.median (
verdier = tensor ([-0.1885, 0.0141, -0.2267, -0.4901, -0.3358]),
indekser = tensor ([1, 3, 2, 4, 4]))
Median over rader:
lommelykt.return_types.median (
verdier = tensor ([-0.4597, -0.4993, -0.1242, 0.0141, -0.3358]),
indekser = tensor ([3, 1, 0, 1, 4]))

Vi kan se at medianen over radene og søylene ble returnert.

Konklusjon

I denne Pytorch -leksjonen lærte vi om median () -funksjonen og hvordan vi kan bruke den på en tensor for å returnere en median over kolonnene og radene.

Vi opprettet også en tensor med CPU () -funksjonen og returnerte medianen. Hvis DIM ikke er spesifisert i to eller flerdimensjonal tensor, returnerer den hele medianen.