Pytorch - Sum

Pytorch - Sum
Vi vil se hvordan du kan returnere summen av verdier i en tensor ved hjelp av sum () 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.

Sum()

Sum () i pytorch brukes til å returnere den totale summen av elementene som er til stede i inngangs -tensorobjektet.

Syntaks:

lommelykt.sum (tensor, dim)

Hvor:

1. Tensoren er inngangstensoren.

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

Eksempel 1:

I dette eksemplet vil vi lage en tensor med 3 dimensjoner som har 3 rader og 5 kolonner og bruke summen () -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 sumverdier langs kolonner
trykk ("Sumverdier over kolonner:")
trykk (fakkel.sum (data, dim = 0))
skrive ut()
#Get sumverdier langs rader
trykk ("Sumverdier på tvers av rader:")
trykk (fakkel.sum (data, dim = 1))

Produksjon:

tensor ([[-0.0556, 0.4207, 2.0077, 0.2641, -1.2607],
[-0.6305, 0.2493, -1.8812, 1.3837, 0.7238],
[ 1.7078, -0.8948, -1.2484, -0.2079, -0.9078]])
Sumverdier på tvers av kolonner:
tensor ([1.0217, -0.2247, -1.1220, 1.4399, -1.4447])
Sumverdier på tvers av rader:
tensor ([1.3762, -0.1548, -1.5512])

Vi kan se at summen av verdier returneres over kolonnene og radene.

Eksempel 2:

Lag en tensor med 5 * 5 matrise og returner den totale summen av verdier 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 sum av verdier langs kolonner
Print ("Sum av verdier på tvers av kolonner:")
trykk (fakkel.sum (data, dim = 0))
skrive ut()
#Get sum av verdier langs rader
Print ("Sum av verdier på tvers av rader:")
trykk (fakkel.sum (data, dim = 1))

Produksjon:

Tensor ([[-1.0473, 0.5575, -0.3595, 1.2286, -0.2730],
[-0.2578, 0.8914, 1.1879, -1.4176, -1.6000],
[0.2300, -0.8414, 0.7395, 0.2362, 0.9471],
[-0.1933, -0.3221, 1.6938, 1.0898, -1.1636],
[ 1.4314, -1.3938, 0.6046, 0.7937, 1.9621]])
Sum av verdier på tvers av kolonner:
tensor ([0.1631, -1.1084, 3.8663, 1.9308, -0.1275])
Sum av verdier på tvers av rader:
tensor ([0.1063, -1.1960, 1.3114, 1.1046, 3.3980])

Vi kan se summen av verdier over radene og kolonnene.

Uten den svake parameteren

Hvis vi ikke spesifiserer DIM -parameteren, returnerer den den totale summen fra hele tensoren.

Eksempel 1:

Lag en 2D -tensor med 5*5 -matrise og returner den totale summen.

#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 total sum
trykk ("Total sum:")
trykk (fakkel.sum (data)))

Produksjon:

tensor ([[-0.7637, -0.5952, 1.1987, -1.6382, 0.2750],
[-0.6120, 0.1565, -0.3482, -0.9082, -1.2066],
[0.5195, 0.3678, 1.1712, -0.3106, -0.1575],
[ 1.7759, -0.1936, 1.7604, -0.5895, 1.9677],
[ 1.5080, -0.1691, 0.2007, -0.7224, 0.0071]])
Total sum :
Tensor (2.6937)

Eksempel 2:

Lag en 1D -tensor med 5 verdier og returner den totale summen.

#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 total sum
trykk ("Mtotal sum:")
trykk (fakkel.sum (data)))

Produksjon:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Mtotal sum:
Tensor (152.3000)

Arbeid med CPU

Hvis du vil kjøre en sum () -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 3 dimensjoner som har 3 rader og 5 kolonner med en CPU () -funksjon og bruke summen () 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 sum av verdier langs kolonner
Print ("Sum av verdier på tvers av kolonner:")
trykk (fakkel.sum (data, dim = 0))
skrive ut()
#Get sum av verdier langs rader
Print ("Sum av verdier på tvers av rader:")
trykk (fakkel.sum (data, dim = 1))

Produksjon:

tensor ([[-0.2128, 0.7013, 1.5819, -0.7530, -0.9235],
[0.4140, 0.6337, 0.8007, -0.8377, -0.7650],
[0.8471, 0.6988, 0.2508, 0.2901, -0.4939]])
Sum av verdier på tvers av kolonner:
tensor ([1.0483, 2.0339, 2.6334, -1.3006, -2.1824])
Sum av verdier på tvers av rader:
tensor ([0.3939, 0.2457, 1.5930])

Vi kan se at summen av verdier returneres over kolonnene og radene.

Eksempel 2:

Lag en tensor med 5 * 5 -matrise med CPU () -funksjonen og returner summen av verdier 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 sum av verdier langs kolonner
Print ("Sum av verdier på tvers av kolonner:")
trykk (fakkel.sum (data, dim = 0))
skrive ut()
#Get sum av verdier langs rader
Print ("Sum av verdier på tvers av rader:")
trykk (fakkel.sum (data, dim = 1))

Produksjon:

tensor ([[0.2954, -0.1462, 1.3691, 0.1799, 0.2489],
[-1.4990, -0.8262, -1.2368, 0.0618, 1.0522],
[-0.7371, 0.6237, -0.8857, -0.4474, -1.7985],
[0.0569, 1.4520, -1.6996, 1.2843, 0.6789],
[-1.8241, 0.4399, 0.1749, -2.5850, 1.3348]])
sum av verdier på tvers av kolonner:
Tensor ([-3.7080, 1.5432, -2.2781, -1.5064, 1.5163])
sum av verdier på tvers av rader:
tensor ([1.9471, -2.4480, -3.2450, 1.7725, -2.4595])

Vi kan se at summen av verdier over radene og kolonnene ble returnert.

Konklusjon

I denne Pytorch -leksjonen lærte vi om summen () -funksjonen og hvordan du bruker den på en tensor for å returnere den totale summen av verdier over kolonnene og radene. Vi opprettet også en tensor med CPU () -funksjonen og returnerte summen av alle verdier. Hvis DIM ikke er spesifisert i to eller flerdimensjonal tensor, returnerer den den totale summen fra hele tensoren.