Oblicz logarytm elementów tensora w Pytorch

Oblicz logarytm elementów tensora w Pytorch
„W tym samouczku Pytorcha zobaczymy, jak wykonywać funkcje logarytmiczne na danym tensorze.

Pytorch to open source dostępny z językiem programowania Python.

Tensor to wielowymiarowa tablica używana do przechowywania danych. Więc do używania tensora musimy zaimportować moduł pochodni.

Aby utworzyć tensor, zastosowaną metodą jest tensor () ”

Składnia:

latarka.tensor (dane)

Gdzie dane są wielowymiarową tablicą.

dziennik()

log () w Pytorch służy do zwrócenia logarytmu naturalnego wszystkich elementów obecnych w obiekcie tensor. Wymaga tylko jednego parametru.

Składnia:

latarka.log (Tensor_Object)

Parametr:

Tensor_Object to tensor wejściowy

Przykład 1

W tym przykładzie utworzymy tensor z 3 wymiarami, które mają 3 wiersze i 5 kolumn i zastosujemy na nim log ().

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (3 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (3,5)
#wyświetlacz
Drukuj (dane)
wydrukować()
#Wartości logarytmiczne
Drukuj („Wartości logarytmiczne:”)
Drukuj (pochodnia.log (dane))

Wyjście:

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]])
Wartości logarytmiczne:
tensor ([[Nan, Nan, -2.4762, -0.2608, -0.9429],
[-0.6361, nan, -0.8017, Nan, Nan],
[Nan, Nan, Nan, -2.3682, 0.6839]])

Widzimy, że zwrócono wartości dziennika naturalnego dla wszystkich elementów w tensorze.

Przykład 2

Utwórz tensor z matrycą 5 * 5 i zwróć wartości dziennika naturalnego.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (5 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (5,5)
#wyświetlacz
Drukuj (dane)
wydrukować()
#Wartości logarytmiczne
Drukuj („Wartości logarytmiczne:”)
Drukuj (pochodnia.log (dane))

Wyjście:

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]])
Wartości logarytmiczne:
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]])

Widzimy, że zwrócono wartości dziennika naturalnego dla wszystkich elementów w tensorze.

log10 ()

log10 () w Pytorch służy do zwrócenia logarytmu do podstawy 10 wszystkich elementów obecnych w obiekcie tensor. Wymaga tylko jednego parametru.

Składnia:

latarka.log10 (tensor_object)

Parametr:

Tensor_Object to tensor wejściowy

Przykład 1

W tym przykładzie utworzymy tensor z 3 wymiarami, które mają 3 wiersze i 5 kolumn i zastosujemy na nim log10 ().

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (3 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (3,5)
#wyświetlacz
Drukuj (dane)
wydrukować()
#Zadzwoń wartości logarytmiczne do podstawy 10
Drukuj („Wartości logarytmiczne do podstawy 10:”)
Drukuj (pochodnia.log10 (dane))

Wyjście:

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]])
Wartości logarytmiczne do podstawy 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]])

Widzimy, że wartości dziennika do podstawy 10 dla wszystkich elementów w tensorze zostały zwrócone.

Przykład 2

Utwórz tensor z macierzą 5 * 5 i zwróć wartości dziennika do podstawy 10.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (5 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (5,5)
#wyświetlacz
Drukuj (dane)
wydrukować()
#Zadzwoń wartości logarytmiczne do podstawy 10
Drukuj („Wartości logarytmiczne do podstawy 10:”)
Drukuj (pochodnia.log10 (dane))

Wyjście:

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]])
Wartości logarytmiczne do podstawy 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]])

Widzimy, że wartości dziennika do podstawy 10 dla wszystkich elementów w tensorze zostały zwrócone.

log2 ()

log2 () w Pytorch służy do zwrócenia logarytmu do podstawy 2 wszystkich elementów obecnych w obiekcie tensor. Wymaga tylko jednego parametru.

Składnia:

latarka.log2 (Tensor_Object)

Parametr:

Tensor_Object to tensor wejściowy

Przykład 1

W tym przykładzie utworzymy tensor z 3 wymiarami, które mają 3 wiersze i 5 kolumn i zastosujemy na nim log2 ().

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (3 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (3,5)
#wyświetlacz
Drukuj (dane)
wydrukować()
#Zadzwoń wartości logarytmiczne do podstawy 2
Drukuj („Wartości logarytmiczne do podstawy 2:”)
Drukuj (pochodnia.log2 (dane))

Wyjście:

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]])
Wartości logarytmiczne do podstawy 2:
tensor ([[nan, -0.7075, Nan, Nan, 0.3168],
[Nan, Nan, -0.7216, nan, -1.5128],
[nan, -0.8342, nan, -0.9095, -6.5752]])

Widzimy, że wartości dziennika do podstawy 2 dla wszystkich elementów w tensorze zostały zwrócone.

Przykład 2

Utwórz tensor z macierzą 5 * 5 i zwróć wartości dziennika do podstawy 2.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (5 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (5,5)
#wyświetlacz
Drukuj (dane)
wydrukować()
#Zadzwoń wartości logarytmiczne do podstawy 2
Drukuj („Wartości logarytmiczne do podstawy 2:”)
Drukuj (pochodnia.log2 (dane))

Wyjście:

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]])
Wartości logarytmiczne do podstawy 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]])

Widzimy, że wartości dziennika do podstawy 2 dla wszystkich elementów w tensorze zostały zwrócone.

Pracuj z CPU

Jeśli chcesz uruchomić funkcję logarytmiczną na procesorze, musimy utworzyć tensor z funkcją CPU (). Będzie to działać na komputerze procesora.

Kiedy tworzymy tensor, w tej chwili możemy użyć funkcji CPU ().

Składnia:

latarka.tensor (dane).procesor()

Przykład

Utwórz tensor z matrycą 5 * 5 na procesorze i zwróć wartości dziennika naturalnego, wartości logarytmiczne z base2 i wartości logarytmiczne z podstawą 10.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (5 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (5,5).procesor()
#wyświetlacz
Drukuj (dane)
wydrukować()
#Wartości dziennika naturalnego
Drukuj („Wartości dziennika naturalnego:”)
Drukuj (pochodnia.log (dane))
wydrukować()
#Zadzwoń wartości logarytmiczne do podstawy 2
Drukuj („Wartości logarytmiczne do podstawy 2:”)
Drukuj (pochodnia.log2 (dane))
wydrukować()
#Zadzwoń wartości logarytmiczne do podstawy 10
Drukuj („Wartości logarytmiczne do podstawy 10:”)
Drukuj (pochodnia.log10 (dane))

Wyjście:

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]])
Wartości dziennika naturalnego:
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]])
Wartości logarytmiczne do podstawy 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]])
Wartości logarytmiczne do podstawy 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]])

Widzimy, że wartości dziennika do podstawy 2, wartości dziennika do podstawy 10 i wartości dziennika naturalnego dla wszystkich elementów w tensorze zostały zwrócone.

Wniosek

W tej lekcji Pytorcha widzieliśmy trzy typy funkcji logarytmicznych używanych do zwracania wartości logarytmicznych dla wszystkich elementów w tensorze. latarka.log () to prosta funkcja logarytmiczna używana do zwrócenia logarytmu naturalnego wszystkich elementów obecnych w obiekcie tensor.log10 () służy do zwrócenia logarytmu do podstawy 10 wszystkich elementów obecnych w obiekcie tensor, a log2 () służy do zwrócenia logarytmu do podstawy 2 wszystkich elementów obecnych w obiekcie tensor. Omówiliśmy również, jak zastosować te funkcje podczas pracy z CPU.