Pytorch - mediana

Pytorch - mediana
Zobaczymy, jak zwrócić medianę tensora przy użyciu mediany () w tym samouczku Pytorcha.

Pytorch to open source dostępny z językiem programowania Python. TENSOR to wielowymiarowa tablica używana do przechowywania danych. Aby użyć tensor, musimy zaimportować moduł pochodni. Aby utworzyć tensor, zastosowaną metodą jest tensor ().

Składnia:

latarka.tensor (dane)

Gdzie dane są wielowymiarową tablicą.

Mediana()

Median () w Pytorch służy do zwrócenia mediany elementów obecnych w obiekcie tensor wejściowych.

Składnia:

latarka.mediana (tensor, DIM)

Gdzie:

1. Tensor to tensor wejściowy.

2. Dim ma zmniejszyć wymiar. Dim = 0 Określa porównanie kolumny, które dostaje medianę wzdłuż kolumny i DIM = 1 Określa porównanie wiersza, które dostaje medianę wzdłuż rzędu.

Powrót:

Zwraca medianę wraz z pozycją indeksu, w której jest obecna w tensorze.

Przykład 1:

W tym przykładzie utworzymy tensor z 2 wymiarami, który ma 3 wiersze i 5 kolumn i zastosujemy funkcję Median () na rzędach i kolumnach.

#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ć()
#Mediana wzdłuż kolumn
Drukuj („Mediana w kolumnach:”)
Drukuj (pochodnia.mediana (dane, DIM = 0))
wydrukować()
#Mediana wzdłuż rzędów
Drukuj („Mediana w rzędach:”)
Drukuj (pochodnia.mediana (dane, DIM = 1))

Wyjście:

tensor [[[0.9562, 0.4517, 2.1758, -0.7846, -0.7103],
[-0.4080, 1.9359, 1.0324, 0.0120, -0.4021],
[0.6448, -0.6840, 1.5963, 0.4659, 0.5414]])
Mediana w kolumnach:
latarka.return_types.mediana(
wartości = tensor ([0.6448, 0.4517, 1.5963, 0.0120, -0.4021]),
wskaźniki = tensor ([2, 0, 2, 1, 1])))
Mediana w rzędach:
latarka.return_types.mediana(
wartości = tensor ([0.4517, 0.0120, 0.5414]),
wskaźniki = tensor ([1, 3, 4])))

Widzimy, że mediana jest zwracana na kolumnach i wierszach wraz z pozycjami indeksu (indeksy).

Przykład 2:

Utwórz tensor z matrycą 5 * 5 i zwróć medianę na rzędach i kolumnach.

#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ć()
#Mediana wzdłuż kolumn
Drukuj („Mediana w kolumnach:”)
Drukuj (pochodnia.mediana (dane, DIM = 0))
wydrukować()
#Mediana wzdłuż rzędów
Drukuj („Mediana w rzędach:”)
Drukuj (pochodnia.mediana (dane, DIM = 1))

Wyjście:

tensor ([[-1.0895, 1.2629, 0.5036, -0.8317, 0.9415],
[-0.1067, 0.5748, 0.1773, 0.1904, 0.1359],
[-0.7851, -0.1791, -0.1605, 1.8524, 0.3375],
[-0.6451, 0.5093, -2.0334, -0.6462, -0.5074],
[-0.7813, -1.5316, 0.3567, 1.5330, 0.6483]])
Mediana w kolumnach:
latarka.return_types.mediana(
wartości = tensor ([-0.7813, 0.5093, 0.1773, 0.1904, 0.3375]),
wskaźniki = tensor ([4, 3, 1, 1, 2]))))
Mediana w rzędach:
latarka.return_types.mediana(
wartości = tensor ([0.5036, 0.1773, -0.1605, -0.6451, 0.3567]),
wskaźniki = tensor ([2, 2, 2, 0, 2])))

Widzimy, że mediana na rzędach i kolumnach została zwrócona wraz z indeksami.

Bez parametru Dim

Jeśli nie określamy parametru DIM, zwraca całą medianę.

Przykład 1:

Utwórz tensor 2D z matrycą 5*5 i zwróć medianę.

#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ć()
#Mediana
Drukuj („Mediana:”)
Drukuj (pochodnia.mediana (dane))

Wyjście:

tensor [[[0.7692, 1.9155, 1.0876, 0.6794, 0.5791],
[-0.2212, -1.4801, 0.5487, -0.5765, -0.4750],
[-0.0681, 0.5216, 1.1400, -0.1743, 0.0344],
[-0.4639, -1.2341, -1.0520, 0.1718, -0.1909],
[0.6911, -1.4869, 2.7762, -0.3645, -0.4775]])
Mediana:
tensor (-0.0681)

Przykład 2:

Utwórz tensor 1D z 5 wartościami i zwróć medianę.

#Import Moduł pochodni
Importuj pochodnię
#Utworz tensor z 5 wartościami liczbowymi
Data = pochodnia.tensor [[10.6,20.7,30.6,40.4,50.0])
#wyświetlacz
Drukuj (dane)
wydrukować()
#Mediana
Drukuj („Mediana:”)
Drukuj (pochodnia.mediana (dane))

Wyjście:

tensor [[10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Mediana:
tensor (30.6000)

Pracuj z CPU

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

Kiedy tworzymy tensor, tym razem możemy użyć funkcji CPU ().

Składnia:

latarka.tensor (dane).procesor()

Przykład 1:

W tym przykładzie utworzymy tensor z 2 wymiarami, który ma 3 wiersze i 5 kolumn z funkcją CPU () i zastosujemy medianę () na rzędach i kolumnach.

#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).procesor()
#wyświetlacz
Drukuj (dane)
wydrukować()
#Mediana wzdłuż kolumn
Drukuj („Mediana w kolumnach:”)
Drukuj (pochodnia.mediana (dane, DIM = 0))
wydrukować()
#Mediana wzdłuż rzędów
Drukuj („Mediana w rzędach:”)
Drukuj (pochodnia.mediana (dane, DIM = 1))

Wyjście:

tensor [[[0.9872, 0.1258, -0.0952, 0.3269, -1.6033],
[-0.2432, -1.0049, -0.9058, 0.9438, 0.3060],
[-2.8293, 1.4515, -0.9482, 0.9876, 0.2767]])
Mediana w kolumnach:
latarka.return_types.mediana(
wartości = tensor ([-0.2432, 0.1258, -0.9058, 0.9438, 0.2767]),
wskaźniki = tensor ([1, 0, 1, 1, 2])))
Mediana w rzędach:
latarka.return_types.mediana(
wartości = tensor ([0.1258, -0.2432, 0.2767]),
wskaźniki = tensor ([1, 0, 4])))

Widzimy, że mediana jest zwracana przez kolumny i rzędy z indeksami.

Przykład 2:

Utwórz tensor z matrycą 5 * 5 z funkcją CPU () i zwróć medianę na rzędach i kolumnach.

#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ć()
#Mediana wzdłuż kolumn
Drukuj („Mediana w kolumnach:”)
Drukuj (pochodnia.mediana (dane, DIM = 0))
wydrukować()
#Mediana wzdłuż rzędów
Drukuj („Mediana w rzędach:”)
Drukuj (pochodnia.mediana (dane, DIM = 1))

Wyjście:

tensor ([[-0.3739, -1.2500, -1.9125, -0.4597, 0.2058],
[-0.1885, -0.4993, -1.0801, -0.1367, -0.5683],
[-0.1242, 0.1221, -0.2267, -0.7851, 0.6797],
[2.2487, 0.0141, 0.1632, -0.4924, -0.9134],
[-1.6101, 0.5051, -0.2004, -0.4901, -0.3358]])
Mediana w kolumnach:
latarka.return_types.mediana(
wartości = tensor ([-0.1885, 0.0141, -0.2267, -0.4901, -0.3358]),
wskaźniki = tensor ([1, 3, 2, 4, 4]))))
Mediana w rzędach:
latarka.return_types.mediana(
wartości = tensor ([-0.4597, -0.4993, -0.1242, 0.0141, -0.3358]),
wskaźniki = tensor ([3, 1, 0, 1, 4]))))

Widzimy, że mediana w rzędach i kolumnach została zwrócona.

Wniosek

W tej lekcji Pytorcha dowiedzieliśmy się o funkcji Median () i tym, jak zastosować ją na tensor, aby zwrócić medianę na kolumnach i rzędach.

Stworzyliśmy również tensor z funkcją CPU () i zwróciliśmy medianę. Jeśli DIM nie jest określone w dwóch lub wielowymiarowych tensor, zwraca całą medianę.