Pytorch - Maks

Pytorch - Maks
Vi vil se hvordan du kan returnere maksimale verdier fra en tensor ved å bruke maks () 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.

Max ()

Max () i Pytorch brukes til å returnere maksimum av elementer som er til stede i inngangs -tensorobjektet.

Syntaks:

lommelykt.Max (tensor, dim)

Hvor:

1. Tensoren er inngangstensoren.

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

Komme tilbake:

Det returnerer også indeksene for maksimale verdier.

Eksempel 1:

I dette eksemplet vil vi lage en tensor med to dimensjoner som har 3 rader og 5 kolonner og bruke maks () -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 maksimale verdier langs kolonner
Print ("Maksimumsverdier på tvers av kolonner:")
trykk (fakkel.Maks (data, dim = 0))
skrive ut()
#Få maksimale verdier langs rader
trykk ("Maksimumsverdier på tvers av rader:")
trykk (fakkel.Maks (data, dim = 1))

Produksjon:

tensor ([[-0.4322, -1.9488, -1.9488, -0.1291, 2.0196],
[0.0421, -0.7765, -1.4377, 1.3680, -0.1703],
[ 1.2953, 0.2773, 0.5380, 0.1011, 0.0136]])
Maksimale verdier på tvers av kolonner:
lommelykt.return_types.maks (
verdier = tensor ([1.2953, 0.2773, 0.5380, 1.3680, 2.0196]),
indekser = tensor ([2, 2, 2, 1, 0]))
Maksimale verdier på tvers av rader:
lommelykt.return_types.maks (
verdier = tensor ([2.0196, 1.3680, 1.2953]),
indekser = tensor ([4, 3, 0]))

Vi kan se at de maksimale verdiene returneres over kolonnene og radene sammen med indeksene deres.

Eksempel 2:

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

Produksjon:

tensor ([[1.5677, -0.8765, -1.7053, -0.4323, 1.1156],
[ 1.0781, -0.6891, 1.1491, -0.7799, 1.8014],
[-0.0449, 1.6926, -0.9708, -0.1957, 0.6765],
[-0.0336, 0.2317, -1.5785, -0.1141, -0.4226],
[0.2535, -0.2302, -0.1518, -0.6725, -0.6502]])
Maksimale verdier på tvers av kolonner:
lommelykt.return_types.maks (
verdier = tensor ([1.5677, 1.6926, 1.1491, -0.1141, 1.8014]),
indekser = tensor ([0, 2, 1, 3, 1]))
Maksimale verdier på tvers av rader:
lommelykt.return_types.maks (
verdier = tensor ([1.5677, 1.8014, 1.6926, 0.2317, 0.2535]),
indekser = tensor ([0, 4, 1, 1, 0]))

Vi kan se at de maksimale verdiene over radene og kolonnene ble returnert sammen med indeksene deres.

Uten den svake parameteren

Hvis vi ikke spesifiserte DIM -parameteren, returnerer den maksimalverdien fra hele tensoren.

Eksempel 1:

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

#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()
#Få maksimal verdi
Print ("Maksimal verdi:")
trykk (fakkel.Maks (data))

Produksjon:

tensor ([[1.5618, 0.5195, -0.2018, 0.7128, 0.0599],
[-2.4063, -0.0888, -0.3935, 0.2521, 1.3079],
[-1.1231, -0.3366, -1.5907, -1.6770, -0.2147],
[-0.7070, -1.5281, 0.2971, 1.8376, -1.6415],
[-0.8639, 0.5545, 1.2174, -1.3734, -0.7389]])
Maksimal verdi:
Tensor (1.8376)

Eksempel 2:

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

#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()
#Få maksimal verdi
Print ("Maksimal verdi:")
trykk (fakkel.Maks (data))

Produksjon:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Maksimal verdi:
Tensor (50.)

Arbeid med CPU

Hvis du vil kjøre en maksimal () -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 en CPU () -funksjon og bruke max () -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).prosessor()
#vise
Print (data)
skrive ut()
#Get maksimale verdier langs kolonner
Print ("Maksimumsverdier på tvers av kolonner:")
trykk (fakkel.Maks (data, dim = 0))
skrive ut()
#Få maksimale verdier langs rader
trykk ("Maksimumsverdier på tvers av rader:")
trykk (fakkel.Maks (data, dim = 1))

Produksjon:

tensor ([[-0.1843, 0.0419, -0.0474, 0.3713, -0.6861],
[-0.4083, -0.4918, -1.7254, 1.3483, -0.7855],
[-0.2685, 0.5834, 0.4953, -1.1605, -0.0414]])
Maksimale verdier på tvers av kolonner:
lommelykt.return_types.maks (
verdier = tensor ([-0.1843, 0.5834, 0.4953, 1.3483, -0.0414]),
indekser = tensor ([0, 2, 2, 1, 2]))
Maksimale verdier på tvers av rader:
lommelykt.return_types.maks (
verdier = tensor ([0.3713, 1.3483, 0.5834]),
indekser = tensor ([3, 3, 1]))

Vi kan se at de maksimale verdiene returneres over kolonnene og radene sammen med indeksene deres.

Eksempel 2:

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

Produksjon:

tensor ([[2.2844e+00, 1.0477E+00, -7.5003E-01, 6.2289e-01, 3.6587e-01],
[ 1.4600e+00, -9.5055e-01, 1.0254E+00, 9.8235E-01, 1.6930E+00],
[-1.6253e-01, 4.6555e-02, 1.1996e+00, -1.0124E+00, 9.4128e-01],
[ 1.6245E-01, 6.3275E -01, -2.4493e -01, -1.2998e+00, -4.8166e-01],
[-1.7680E+00, 1.2203e-01, 1.9420E -03, -6.2728e-01, 5.9291e-01]])
Maksimale verdier på tvers av kolonner:
lommelykt.return_types.maks (
verdier = tensor ([2.2844, 1.0477, 1.1996, 0.9824, 1.6930]),
indekser = tensor ([0, 0, 2, 1, 1]))
Maksimale verdier på tvers av rader:
lommelykt.return_types.maks (
verdier = tensor ([2.2844, 1.6930, 1.1996, 0.6327, 0.5929]),
indekser = tensor ([0, 4, 2, 1, 4]))

Vi kan se at de maksimale verdiene over radene og kolonnene ble returnert sammen med indeksene deres.

Konklusjon

I denne Pytorch -leksjonen lærte vi om Max () -funksjonen og hvordan du bruker den på en tensor for å returnere maksimale verdier over kolonnene og radene. Den returnerer også indeksposisjonene sammen med de returnerte maksimale verdiene.

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