Beregn logaritmen til elementer i en tensor i Pytorch

Beregn logaritmen til elementer i en tensor i Pytorch
“I denne pytorch -opplæringen vil vi se hvordan vi skal utføre logaritmiske funksjoner på en gitt tensor.

Pytorch er et open source-ramme tilgjengelig med et Python-programmeringsspråk.

En tensor er et flerdimensjonalt utvalg som brukes til å lagre dataene. Så for å bruke en tensor, må vi importere fakkelmodulen.

For å lage en tensor er metoden som brukes tensor () ”

Syntaks:

lommelykt.Tensor (data)

Hvor data er en flerdimensjonal matrise.

Logg()

Log () i Pytorch brukes til å returnere den naturlige logaritmen til alle elementene som er til stede i tensorobjektet. Det tar bare en parameter.

Syntaks:

lommelykt.Log (Tensor_Object)

Parameter:

Tensor_object er inngangs -tensoren

Eksempel 1

I dette eksemplet vil vi lage en tensor med 3 dimensjoner som har 3 rader og 5 kolonner og bruke logg () på den.

#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 logaritmiske verdier
Print ("Logaritmiske verdier:")
trykk (fakkel.Logg (data))

Produksjon:

Tensor ([[-1.0134, -0.0345, 0.0841, 0.7704, 0.3895],
[0.5293, -0.9141, 0.4486, -1.1050, -0.1396],
[-2.7476, -1.6378, -0.3021, 0.0936, 1.9816]])
Logaritmiske verdier:
tensor ([[nan, nan, -2.4762, -0.2608, -0.9429],
[-0.6361, NAN, -0.8017, Nan, Nan],
[Nan, Nan, Nan, -2.3682, 0.6839]])

Vi kan se at de naturlige loggverdiene for alle elementene i en tensor ble returnert.

Eksempel 2

Lag tensor med 5 * 5 matrise og returner naturlige loggverdier.

#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 logaritmiske verdier
Print ("Logaritmiske verdier:")
trykk (fakkel.Logg (data))

Produksjon:

tensor ([[-0.2143, 0.4640, -0.7694, 0.2063, 0.1471],
[-0.9600, 0.3431, 0.0933, -0.7847, -0.6198],
[ 1.9533, 0.7456, -0.8035, -0.2091, -2.1858],
[-0.3841, 0.4142, -1.6795, -1.3310, 1.5622],
[0.3093, 0.6724, 0.5488, -1.3811, 1.6062]])
Logaritmiske verdier:
tensor ([[nan, -0.7679, Nan, -1.5782, -1.9169],
[Nan, -1.0698, -2.3719, Nan, Nan],
[0.6695, -0.2936, Nan, Nan, Nan],
[Nan, -0.8815, Nan, Nan, 0.4461],
[-1.1735, -0.3969, -0.6001, NAN, 0.4739]])

Vi kan se at de naturlige loggverdiene for alle elementene i en tensor ble returnert.

Log10 ()

Log10 () i Pytorch brukes til å returnere logaritmen til basen 10 av alle elementene som er til stede i tensorobjektet. Det tar bare en parameter.

Syntaks:

lommelykt.Log10 (Tensor_Object)

Parameter:

Tensor_object er inngangs -tensoren

Eksempel 1

I dette eksemplet vil vi lage en tensor med 3 dimensjoner som har 3 rader og 5 kolonner og bruke log10 () på den.

#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 logaritmiske verdier til basen 10
Print ("Logaritmiske verdier til basen 10:")
trykk (fakkel.Log10 (data)))

Produksjon:

tensor ([[0.1137, 1.8604, 0.1547, 0.1092, 0.0385],
[-1.2716, 1.8937, -0.4259, 0.4512, 0.5377],
[-1.3074, 2.2634, 1.0972, -0.3502, 0.4971]])
Logaritmiske verdier til basen 10:
tensor ([[-0.9441, 0.2696, -0.8105, -0.9617, -1.4140],
[Nan, 0.2773, Nan, -0.3456, -0.2695],
[Nan, 0.3548, 0.0403, Nan, -0.3035]])

Vi kan se at loggverdiene til basen 10 for alle elementene i en tensor ble returnert.

Eksempel 2

Lag tensor med 5 * 5 matrise- og returloggverdier til basen 10.

#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 logaritmiske verdier til basen 10
Print ("Logaritmiske verdier til basen 10:")
trykk (fakkel.Log10 (data)))

Produksjon:

tensor ([[-0.2903, -0.1354, -0.7794, -0.5695, -0.7214],
[0.5197, 0.5463, 1.4539, 0.0285, -0.7019],
[-0.0714, -1.2804, 0.0606, 1.1813, 0.9769],
[0.2130, 1.1354, 0.2970, -0.2755, -0.0466],
[2.8192, -0.9078, 0.5023, 1.1128, 0.3141]])
Logaritmiske verdier til basen 10:
Tensor ([[Nan, Nan, Nan, Nan, Nan],
[-0.2842, -0.2626, 0.1625, -1.5455, Nan],
[Nan, Nan, -1.2177, 0.0724, -0.0101],
[-0.6717, 0.0551, -0.5273, Nan, Nan],
[0.4501, NAN, -0.2990, 0.0464, -0.5029]])

Vi kan se at loggverdiene til basen 10 for alle elementene i en tensor ble returnert.

Log2 ()

Log2 () i Pytorch brukes til å returnere logaritmen til basen 2 av alle elementene som er til stede i tensorobjektet. Det tar bare en parameter.

Syntaks:

lommelykt.log2 (tensor_object)

Parameter:

Tensor_object er inngangs -tensoren

Eksempel 1

I dette eksemplet vil vi lage en tensor med 3 dimensjoner som har 3 rader og 5 kolonner og bruke log2 () på den.

#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 logaritmiske verdier til basen 2
Print ("Logaritmiske verdier til basen 2:")
trykk (fakkel.Log2 (data)))

Produksjon:

tensor ([[-0.0242, 0.6124, -1.2847, -0.2737, 1.2455],
[-0.5786, -0.1747, 0.6064, -0.5265, 0.3504],
[-0.3898, 0.5609, -0.0565, 0.5324, 0.0105]])
Logaritmiske verdier til basen 2:
tensor ([[nan, -0.7075, Nan, Nan, 0.3168],
[Nan, Nan, -0.7216, Nan, -1.5128],
[Nan, -0.8342, Nan, -0.9095, -6.5752]])

Vi kan se at loggverdiene til basen 2 for alle elementene i en tensor ble returnert.

Eksempel 2

Lag tensor med 5 * 5 matrise- og returloggverdier til basen 2.

#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 logaritmiske verdier til basen 2
Print ("Logaritmiske verdier til basen 2:")
trykk (fakkel.Log2 (data)))

Produksjon:

tensor ([[3.0918, 0.2328, 0.6354, -0.6991, 2.1373],
[-1.2590, -1.5860, -0.1142, -0.1805, -1.9556],
[ 1.2391, 1.0197, 0.1663, 0.9892, -1.4073],
[0.0174, 0.8185, 0.3453, -0.7556, 1.0040],
[-1.0775, 0.4131, -0.7916, -0.9372, 0.1482]])
Logaritmiske verdier til basen 2:
tensor ([[1.6285e+00, -2.1029e+00, -6.5418e-01, Nan, 1.0958E+00],
[NAN, NAN, NAN, NAN, NAN],
[3.0926E-01, 2.8108e -02, -2.5882e+00, -1.5649e-02, Nan],
[-5.8447e+00, -2.8896E -01, -1.5339E+00, NAN, 5.7767e-03],
[Nan, -1.2754E+00, NAN, NAN, -2.7546e+00]])

Vi kan se at loggverdiene til basen 2 for alle elementene i en tensor ble returnert.

Arbeid med CPU

Hvis du vil kjøre en logaritmisk 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 på dette tidspunktet bruke CPU () -funksjonen.

Syntaks:

lommelykt.Tensor (data).prosessor()

Eksempel

Lag tensor med 5 * 5 -matrise på CPU og returner naturlige loggverdier, loggverdier med base2 og loggverdier med base 10.

#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 naturlige loggverdier
Print ("Natural Log Values:")
trykk (fakkel.Logg (data))
skrive ut()
#get logaritmiske verdier til basen 2
Print ("Logaritmiske verdier til basen 2:")
trykk (fakkel.Log2 (data)))
skrive ut()
#Get logaritmiske verdier til basen 10
Print ("Logaritmiske verdier til basen 10:")
trykk (fakkel.Log10 (data)))

Produksjon:

tensor ([[-0.2807, 0.0260, 0.3326, -0.1958, 2.7080],
[ 1.3534, -0.2371, 0.0085, 0.1877, 1.4870],
[ 1.2967, 0.4262, -0.6323, 0.4446, 3.0513],
[0.4478, -0.0436, -0.4577, 1.3098, 0.7293],
[-0.4575, -1.4020, -0.9323, -0.4406, 0.5844]])
Naturlige loggverdier:
tensor ([[nan, -3.6494, -1.1009, nan, 0.9962],
[0.3026, NAN, -4.7711, -1.6731, 0.3968],
[0.2598, -0.8529, NAN, -0.8107, 1.1156],
[-0.8034, Nan, Nan, 0.2699, -0.3157],
[NAN, NAN, NAN, NAN, -0.5371]])
Logaritmiske verdier til basen 2:
tensor ([[nan, -5.2650, -1.5882, Nan, 1.4372],
[0.4366, Nan, -6.8833, -2.4138, 0.5724],
[0.3748, -1.2304, nan, -1.1696, 1.6094],
[-1.1591, Nan, Nan, 0.3893, -0.4554],
[NAN, NAN, NAN, NAN, -0.7749]])
Logaritmiske verdier til basen 10:
tensor ([[nan, -1.5849, -0.4781, Nan, 0.4327],
[0.1314, Nan, -2.0721, -0.7266, 0.1723],
[0.1128, -0.3704, Nan, -0.3521, 0.4845],
[-0.3489, Nan, Nan, 0.1172, -0.1371],
[NAN, NAN, NAN, NAN, -0.2333]])

Vi kan se at loggverdiene til basen 2, loggverdiene til basen 10 og naturlige loggverdier for alle elementene i en tensor ble returnert.

Konklusjon

I denne Pytorch -leksjonen så vi tre typer logaritmiske funksjoner som ble brukt til å returnere logaritmiske verdier for alle elementene i en tensor. lommelykt.Log () er en enkel logaritmisk funksjon som brukes til å returnere den naturlige logaritmen til alle elementene som er til stede i tensorobjektet.Log10 () brukes til å returnere logaritmen til basen 10 av alle elementene som er til stede i tensorobjektet, og log2 () brukes til å returnere logaritmen til basen 2 av alle elementene som er til stede i tensorobjektet. Vi diskuterte også hvordan vi bruker disse funksjonene mens vi jobbet med CPU.