Calcola il logaritmo di elementi di un tensore a Pytorch

Calcola il logaritmo di elementi di un tensore a Pytorch
“In questo tutorial di Pytorch, vedremo come svolgere funzioni logaritmiche su un determinato tensore.

Pytorch è un framework open source disponibile con un linguaggio di programmazione Python.

Un tensore è un array multidimensionale utilizzato per archiviare i dati. Quindi, per usare un tensore, dobbiamo importare il modulo Torcia.

Per creare un tensore, il metodo utilizzato è tensore () "

Sintassi:

torcia.tensore (dati)

Dove i dati sono un array multidimensionale.

tronco d'albero()

Log () in Pytorch viene utilizzato per restituire il logaritmo naturale di tutti gli elementi presenti nell'oggetto tensore. Ci vuole solo un parametro.

Sintassi:

torcia.log (tensor_object)

Parametro:

Tensor_Object è il tensore di input

Esempio 1

In questo esempio, creeremo un tensore con 3 dimensioni che hanno 3 righe e 5 colonne e applicare il log () su di esso.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (3 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (3,5)
#Schermo
Stampa (dati)
stampa()
#get valori logaritmici
Stampa ("Valori logaritmici:")
Stampa (torcia.log (dati))

Produzione:

tensore ([[-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]])
Valori logaritmici:
tensore ([[nan, nan, -2.4762, -0.2608, -0.9429],
[-0.6361, nan, -0.8017, nan, nan],
[NAN, NAN, NAN, -2.3682, 0.6839]])

Possiamo vedere che sono stati restituiti i valori del registro naturale per tutti gli elementi di un tensore.

Esempio 2

Crea tensore con matrice 5 * 5 e restituisce valori di registro naturale.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (5 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (5,5)
#Schermo
Stampa (dati)
stampa()
#get valori logaritmici
Stampa ("Valori logaritmici:")
Stampa (torcia.log (dati))

Produzione:

tensore ([[-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]])
Valori logaritmici:
tensore ([[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]])

Possiamo vedere che sono stati restituiti i valori del registro naturale per tutti gli elementi di un tensore.

log10 ()

log10 () in Pytorch viene utilizzato per restituire il logaritmo alla base 10 di tutti gli elementi presenti nell'oggetto tensore. Ci vuole solo un parametro.

Sintassi:

torcia.log10 (tensor_object)

Parametro:

Tensor_Object è il tensore di input

Esempio 1

In questo esempio, creeremo un tensore con 3 dimensioni con 3 righe e 5 colonne e applicheremo log10 () su di esso.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (3 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (3,5)
#Schermo
Stampa (dati)
stampa()
#get valori logaritmici alla base 10
Stampa ("Valori logaritmici alla base 10:")
Stampa (torcia.log10 (dati))

Produzione:

tensore ([[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]])
Valori logaritmici alla base 10:
tensore ([[-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]])

Possiamo vedere che sono stati restituiti i valori del registro alla base 10 per tutti gli elementi di un tensore.

Esempio 2

Crea tensore con matrice 5 * 5 e restituisce i valori del registro nella base 10.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (5 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (5,5)
#Schermo
Stampa (dati)
stampa()
#get valori logaritmici alla base 10
Stampa ("Valori logaritmici alla base 10:")
Stampa (torcia.log10 (dati))

Produzione:

tensore ([[-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]])
Valori logaritmici alla base 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]])

Possiamo vedere che sono stati restituiti i valori del registro alla base 10 per tutti gli elementi di un tensore.

log2 ()

log2 () in Pytorch viene utilizzato per restituire il logaritmo alla base 2 di tutti gli elementi presenti nell'oggetto tensore. Ci vuole solo un parametro.

Sintassi:

torcia.log2 (tensor_object)

Parametro:

Tensor_Object è il tensore di input

Esempio 1

In questo esempio, creeremo un tensore con 3 dimensioni con 3 righe e 5 colonne e applicheremo log2 () su di esso.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (3 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (3,5)
#Schermo
Stampa (dati)
stampa()
#get valori logaritmici alla base 2
Stampa ("Valori logaritmici alla base 2:")
Stampa (torcia.log2 (dati))

Produzione:

tensore ([[-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]])
Valori logaritmici alla base 2:
tensore ([[nan, -0.7075, nan, nan, 0.3168],
[nan, nan, -0.7216, nan, -1.5128],
[nan, -0.8342, nan, -0.9095, -6.5752]])

Possiamo vedere che sono stati restituiti i valori del registro alla base 2 per tutti gli elementi in un tensore.

Esempio 2

Crea tensore con matrice 5 * 5 e restituisce i valori del registro nella base 2.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (5 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (5,5)
#Schermo
Stampa (dati)
stampa()
#get valori logaritmici alla base 2
Stampa ("Valori logaritmici alla base 2:")
Stampa (torcia.log2 (dati))

Produzione:

tensore ([[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]])
Valori logaritmici alla base 2:
tensore ([[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]])

Possiamo vedere che sono stati restituiti i valori del registro alla base 2 per tutti gli elementi in un tensore.

Lavorare con la CPU

Se si desidera eseguire una funzione logaritmica sulla CPU, dobbiamo creare un tensore con una funzione CPU (). Questo funzionerà su una macchina CPU.

Quando stiamo creando un tensore, in questo momento, possiamo usare la funzione CPU ().

Sintassi:

torcia.tensore (dati).processore()

Esempio

Crea tensore con matrice 5 * 5 sulla CPU e restituisci i valori di registro naturale, valori di registro con base2 e valori di registro con base 10.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (5 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (5,5).processore()
#Schermo
Stampa (dati)
stampa()
#get valori di registro naturali
Stampa ("Valori del registro naturale:")
Stampa (torcia.log (dati))
stampa()
#get valori logaritmici alla base 2
Stampa ("Valori logaritmici alla base 2:")
Stampa (torcia.log2 (dati))
stampa()
#get valori logaritmici alla base 10
Stampa ("Valori logaritmici alla base 10:")
Stampa (torcia.log10 (dati))

Produzione:

tensore ([[-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]])
Valori del registro naturali:
tensore ([[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]])
Valori logaritmici alla base 2:
tensore ([[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]])
Valori logaritmici alla base 10:
tensore ([[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]])

Possiamo vedere che sono stati restituiti i valori di registro alla base 2, i valori di registro alla base 10 e i valori di registro naturali per tutti gli elementi in un tensore.

Conclusione

In questa lezione di Pytorch, abbiamo visto tre tipi di funzioni logaritmiche utilizzate per restituire i valori logaritmici per tutti gli elementi in un tensore. torcia.Log () è una semplice funzione logaritmica utilizzata per restituire il logaritmo naturale di tutti gli elementi presenti nell'oggetto tensore.log10 () viene utilizzato per restituire il logaritmo alla base 10 di tutti gli elementi presenti nell'oggetto tensore e log2 () viene utilizzato per restituire il logaritmo alla base 2 di tutti gli elementi presenti nell'oggetto tensore. Abbiamo anche discusso di come applicare queste funzioni mentre lavoravamo con la CPU.