Pytorch - Mediana

Pytorch - Mediana
Veremos cómo devolver la mediana de un tensor usando mediana () en este tutorial de Pytorch.

Pytorch es un marco de código abierto disponible con un lenguaje de programación de Python. Tensor es una matriz multidimensional que se utiliza para almacenar los datos. Para usar un tensor, tenemos que importar el módulo de antorcha. Para crear un tensor, el método utilizado es tensor ().

Sintaxis:

antorcha.Tensor (datos)

Donde los datos son una matriz multidimensional.

Mediana()

Mediana () en pytorch se usa para devolver la mediana de los elementos presentes en el objeto tensor de entrada.

Sintaxis:

antorcha.mediana (tensor, tenu)

Dónde:

1. El tensor es el tensor de entrada.

2. Dim es reducir la dimensión. Dim = 0 especifica la comparación de columna que obtiene la mediana a lo largo de una columna y Dim = 1 especifica la comparación de filas que obtiene la mediana a lo largo de la fila.

Devolver:

Devuelve la mediana junto con la posición del índice donde está presente en el tensor.

Ejemplo 1:

En este ejemplo, crearemos un tensor con 2 dimensiones que tenga 3 filas y 5 columnas y aplicaremos la función de mediana () en filas y columnas.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor con 2 dimensiones (3 * 5)
#Con elementos aleatorios usando la función randn ()
datos = antorcha.Randn (3,5)
#mostrar
Imprimir (datos)
imprimir()
#Obtenga mediana a lo largo de columnas
Imprimir ("Mediana en las columnas:")
imprimir (antorcha.mediana (datos, dim = 0))
imprimir()
#Obtenga mediana a lo largo de filas
Imprimir ("Mediana en las filas:")
imprimir (antorcha.mediana (datos, dim = 1))

Producción:

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 en las columnas:
antorcha.return_types.mediana(
valores = tensor ([0.6448, 0.4517, 1.5963, 0.0120, -0.4021]),
índices = tensor ([2, 0, 2, 1, 1]))
Mediana en las filas:
antorcha.return_types.mediana(
valores = tensor ([0.4517, 0.0120, 0.5414]),
índices = tensor ([1, 3, 4]))

Podemos ver que la mediana se devuelve a través de las columnas y filas junto con las posiciones de índice (índices).

Ejemplo 2:

Cree un tensor con una matriz 5 * 5 y devuelva la mediana a través de las filas y columnas.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor con 2 dimensiones (5 * 5)
#Con elementos aleatorios usando la función randn ()
datos = antorcha.Randn (5,5)
#mostrar
Imprimir (datos)
imprimir()
#Obtenga mediana a lo largo de columnas
Imprimir ("Mediana en las columnas:")
imprimir (antorcha.mediana (datos, dim = 0))
imprimir()
#Obtenga mediana a lo largo de filas
Imprimir ("Mediana en las filas:")
imprimir (antorcha.mediana (datos, dim = 1))

Producción:

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 en las columnas:
antorcha.return_types.mediana(
valores = tensor ([-0.7813, 0.5093, 0.1773, 0.1904, 0.3375]),
índices = tensor ([4, 3, 1, 1, 2]))
Mediana en las filas:
antorcha.return_types.mediana(
valores = tensor ([0.5036, 0.1773, -0.1605, -0.6451, 0.3567]),
índices = tensor ([2, 2, 2, 0, 2]))

Podemos ver que la mediana en las filas y columnas se devolvió junto con los índices.

Sin el parámetro DIM

Si no especificamos el parámetro DIM, devuelve toda la mediana.

Ejemplo 1:

Crea un tensor 2D con 5*5 matriz y devuelve la mediana.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor con 2 dimensiones (5 * 5)
#Con elementos aleatorios usando la función randn ()
datos = antorcha.Randn (5,5)
#mostrar
Imprimir (datos)
imprimir()
#Obtener mediana
Imprimir ("Mediana:")
imprimir (antorcha.mediana (datos))

Producción:

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)

Ejemplo 2:

Crear un tensor 1D con 5 valores y devolver la mediana.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor con 5 valores numéricos
datos = antorcha.tensor ([10.6,20.7,30.6,40.4,50.0])
#mostrar
Imprimir (datos)
imprimir()
#Obtener mediana
Imprimir ("Mediana:")
imprimir (antorcha.mediana (datos))

Producción:

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

Trabajar con CPU

Si desea ejecutar una función mediana () en la CPU, tenemos que crear un tensor con una función CPU (). Esto se ejecutará en una máquina CPU.

Cuando creamos un tensor, esta vez, podemos usar la función CPU ().

Sintaxis:

antorcha.Tensor (datos).UPC()

Ejemplo 1:

En este ejemplo, crearemos un tensor con 2 dimensiones que tenga 3 filas y 5 columnas con la función CPU () y aplicaremos la mediana () en filas y columnas.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor con 2 dimensiones (3 * 5)
#Con elementos aleatorios usando la función randn ()
datos = antorcha.Randn (3,5).UPC()
#mostrar
Imprimir (datos)
imprimir()
#Obtenga mediana a lo largo de columnas
Imprimir ("Mediana en las columnas:")
imprimir (antorcha.mediana (datos, dim = 0))
imprimir()
#Obtenga mediana a lo largo de filas
Imprimir ("Mediana en las filas:")
imprimir (antorcha.mediana (datos, dim = 1))

Producción:

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 en las columnas:
antorcha.return_types.mediana(
valores = tensor ([-0.2432, 0.1258, -0.9058, 0.9438, 0.2767]),
índices = tensor ([1, 0, 1, 1, 2]))
Mediana en las filas:
antorcha.return_types.mediana(
valores = tensor ([0.1258, -0.2432, 0.2767]),
índices = tensor ([1, 0, 4]))

Podemos ver que la mediana se devuelve a través de las columnas y filas con índices.

Ejemplo 2:

Cree un tensor con una matriz 5 * 5 con la función CPU () y devuelva la mediana a través de las filas y columnas.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor con 2 dimensiones (5 * 5)
#Con elementos aleatorios usando la función randn ()
datos = antorcha.Randn (5,5).UPC()
#mostrar
Imprimir (datos)
imprimir()
#Obtenga mediana a lo largo de columnas
Imprimir ("Mediana en las columnas:")
imprimir (antorcha.mediana (datos, dim = 0))
imprimir()
#Obtenga mediana a lo largo de filas
Imprimir ("Mediana en las filas:")
imprimir (antorcha.mediana (datos, dim = 1))

Producción:

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 en las columnas:
antorcha.return_types.mediana(
valores = tensor ([-0.1885, 0.0141, -0.2267, -0.4901, -0.3358]),
índices = tensor ([1, 3, 2, 4, 4]))
Mediana en las filas:
antorcha.return_types.mediana(
valores = tensor ([-0.4597, -0.4993, -0.1242, 0.0141, -0.3358]),
índices = tensor ([3, 1, 0, 1, 4])

Podemos ver que la mediana a través de las filas y columnas fue devuelta.

Conclusión

En esta lección de Pytorch, aprendimos sobre la función mediana () y cómo aplicarla en un tensor para devolver una mediana a través de las columnas y filas.

También creamos un tensor con la función CPU () y devolvimos la mediana. Si el DIM no se especifica en dos o tensor multidimensional, devuelve toda la mediana.