Pytorch - Min

Pytorch - Min
Vi vil se hvordan du kan returnere minimumsverdiene fra en tensor ved hjelp av Min () 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.

Min ()

Min () i pytorch brukes til å returnere minimum av elementer som er til stede i inngangstensorobjektet.

Syntaks:

lommelykt.min (tensor, dim)

Hvor:

1. Tensoren er inngangstensoren.

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

Komme tilbake:

Det returnerer også indeksene for minimumsverdier.

Eksempel 1:

I dette eksemplet vil vi lage en tensor med to dimensjoner som har 3 rader og 5 kolonner og bruke Min () -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 minimumsverdier langs kolonner
Skriv ut ("Minimumsverdier på tvers av kolonner:")
trykk (fakkel.min (data, dim = 0))
skrive ut()
#Fet minimumsverdier langs rader
Skriv ut ("Minimumsverdier på tvers av rader:")
trykk (fakkel.min (data, dim = 1))

Produksjon:

tensor ([[1.2472E -01, -8.7776E-01, 4.5338e-01, 2.2461e -01, -1.4291E+00],
[2.6528e+00, -1.1316E-03, 1.4365e+00, 3.8547E-01, 2.1671e-01],
[-7.2345e -01, -4.1827e-01, 4.8590E -01, -1.3218e+00, 1.5717e+00]])
Minimumsverdier på tvers av kolonner:
lommelykt.return_types.min (
verdier = tensor ([-0.7235, -0.8778, 0.4534, -1.3218, -1.4291]),
indekser = tensor ([2, 0, 0, 2, 0]))
Minimumsverdier på tvers av rader:
lommelykt.return_types.min (
verdier = tensor ([-1.4291E+00, -1.1316E -03, -1.3218e+00]),
indekser = tensor ([4, 1, 3]))

Vi kan se at minimumsverdiene returneres over kolonnene og radene sammen med indeksene deres.

Eksempel 2:

Lag en tensor med 5 * 5 -matrise og returner minimumsverdiene 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 minimumsverdier langs kolonner
Skriv ut ("Minimumsverdier på tvers av kolonner:")
trykk (fakkel.min (data, dim = 0))
skrive ut()
#Fet minimumsverdier langs rader
Skriv ut ("Minimumsverdier på tvers av rader:")
trykk (fakkel.min (data, dim = 1))

Produksjon:

tensor ([[0.3584, -0.8393, -0.3111, -0.4203, 1.4332],
[ 1.2702, 2.4583, -1.5547, -1.4465, 1.0672],
[-0.2497, -1.7490, 0.2130, 0.3989, -0.1520],
[-1.1165, -2.1209, 0.7191, 0.4764, 2.6431],
[ 1.8286, 0.8787, -0.4475, 1.1866, -1.4123]])
Minimumsverdier på tvers av kolonner:
lommelykt.return_types.min (
verdier = tensor ([-1.1165, -2.1209, -1.5547, -1.4465, -1.4123]),
indekser = tensor ([3, 3, 1, 1, 4]))
Minimumsverdier på tvers av rader:
lommelykt.return_types.min (
verdier = tensor ([-0.8393, -1.5547, -1.7490, -2.1209, -1.4123]),
indekser = tensor ([1, 2, 1, 1, 4]))

Vi kan se at minimumsverdiene over radene og kolonnene ble returnert sammen med indeksene deres.

Uten den svake parameteren

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

Eksempel 1:

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

#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å minimumsverdi
Print ("Minimumsverdi:")
trykk (fakkel.min (data))

Produksjon:

tensor ([[-0.5350, 0.5439, -0.1100, -1.0623, -1.3757],
[ 1.5085, -1.0191, 0.4068, -0.4972, 0.3982],
[-0.3360, 0.2665, -0.3139, 0.7079, 0.6624],
[-0.5330, 0.0763, -0.8529, -0.5675, 0.0718],
[0.4249, -1.3827, -1.7805, -1.1841, -0.5587]])
Minimumsverdi:
Tensor (-1.7805)

Eksempel 2:

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

#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å minimumsverdi
Print ("Minimumsverdi:")
trykk (fakkel.min (data))

Produksjon:

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

Arbeid med CPU

Hvis du vil kjøre en min () -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 Min () -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 minimumsverdier langs kolonner
Skriv ut ("Minimumsverdier på tvers av kolonner:")
trykk (fakkel.min (data, dim = 0))
skrive ut()
#Fet minimumsverdier langs rader
Skriv ut ("Minimumsverdier på tvers av rader:")
trykk (fakkel.min (data, dim = 1))

Produksjon:

tensor ([[-0.7268, -0.6932, 1.3316, -1.3355, -0.5170],
[ 1.1113, -1.1252, 0.4458, -0.7343, 2.2207],
[-0.3300, 0.7784, -0.6643, 0.7307, 1.4468]])
Minimumsverdier på tvers av kolonner:
lommelykt.return_types.min (
verdier = tensor ([-0.7268, -1.1252, -0.6643, -1.3355, -0.5170]),
indekser = tensor ([0, 1, 2, 0, 0]))
Minimumsverdier på tvers av rader:
lommelykt.return_types.min (
verdier = tensor ([-1.3355, -1.1252, -0.6643]),
indekser = tensor ([3, 1, 2]))

Vi kan se at minimumsverdiene returneres over kolonnene og radene sammen med indeksene deres.

Eksempel 2:

Lag en tensor med 5 * 5 -matrise med CPU () -funksjonen og returner minimumsverdiene 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 minimumsverdier langs kolonner
Skriv ut ("Minimumsverdier på tvers av kolonner:")
trykk (fakkel.min (data, dim = 0))
skrive ut()
#Fet minimumsverdier langs rader
Skriv ut ("Minimumsverdier på tvers av rader:")
trykk (fakkel.min (data, dim = 1))

Produksjon:

tensor ([[-0.4774, -0.6484, -1.5810, 0.9154, 0.9417],
[-1.1097, -0.9460, 1.3099, 2.0782, -0.3319],
[0.2239, 1.1931, -0.8064, -1.5089, 2.0238],
[-0.6963, -0.0779, 0.1755, 0.9848, 1.3191],
[ 1.0035, -0.2865, 1.6750, 0.0255, 1.2538]])
Minimumsverdier på tvers av kolonner:
lommelykt.return_types.min (
verdier = tensor ([-1.1097, -0.9460, -1.5810, -1.5089, -0.3319]),
indekser = tensor ([1, 1, 0, 2, 1]))
Minimumsverdier på tvers av rader:
lommelykt.return_types.min (
verdier = tensor ([-1.5810, -1.1097, -1.5089, -0.6963, -0.2865]),
indekser = tensor ([2, 0, 3, 0, 1]))

Vi kan se at minimumsverdiene over radene og kolonnene ble returnert sammen med indeksene deres.

Konklusjon

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

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