Pytorch - STD

Pytorch - STD
Veremos cómo devolver la desviación estándar de un tensor usando std () 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.

Std ()

Std () en pytorch se utiliza para devolver la desviación estándar de los elementos presentes en el objeto tensor de entrada.

Sintaxis:

antorcha.STD (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 desviación estándar a lo largo de una columna y Dim = 1 especifica la comparación de filas que obtiene la desviación estándar a lo largo de la fila.

Ejemplo 1:

En este ejemplo, crearemos un tensor con 2 dimensiones que tenga 3 filas y 5 columnas y aplicaremos la función std () 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 la desviación estándar a lo largo de las columnas
Imprimir ("Desviación estándar en las columnas:")
imprimir (antorcha.std (datos, dim = 0))
imprimir()
#Obtenga la desviación estándar a lo largo de las filas
Imprimir ("Desviación estándar en las filas:")
imprimir (antorcha.std (datos, dim = 1))

Producción:

tensor ([[0.6548, 1.0587, -0.1196, 0.9985, -0.2190],
[0.3791, 1.5435, -0.5304, 0.8167, 3.5842],
[-0.1122, -0.2159, 0.3844, -0.6877, -0.7479]])
Desviación estándar en las columnas:
tensor ([0.3886, 0.9088, 0.4582, 0.9255, 2.3633])
Desviación estándar en las filas:
tensor ([0.6088, 1.5499, 0.4633])

Podemos ver que la desviación estándar se devuelve a través de las columnas y las filas.

Ejemplo 2:

Cree un tensor con una matriz 5 * 5 y devuelva la desviación estándar en 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 la desviación estándar a lo largo de las columnas
Imprimir ("Desviación estándar en las columnas:")
imprimir (antorcha.std (datos, dim = 0))
imprimir()
#Obtenga la desviación estándar a lo largo de las filas
Imprimir ("Desviación estándar en las filas:")
imprimir (antorcha.std (datos, dim = 1))

Producción:

tensor ([[-0.2092, 0.2423, -0.6894, 0.4194, -0.3451],
[0.0026, 0.0415, 0.0787, 0.3679, 0.6610],
[1.1111, -1.2749, -0.5760, 0.0788, -0.7471],
[-0.9320, -0.4619, -0.4667, 0.7881, 0.4340],
[0.6366, -1.0388, -1.3156, 0.3060, 0.7883]])
Desviación estándar en las columnas:
tensor ([0.7871, 0.6589, 0.4997, 0.2568, 0.6706])
Desviación estándar en las filas:
tensor ([0.4486, 0.2806, 0.9164, 0.7120, 0.9814])

Podemos ver que se devuelve la desviación estándar en las filas y las columnas.

Sin el parámetro DIM

Si no especificamos el parámetro DIM, devuelve la desviación estándar de todo el tensor.

Ejemplo 1:

Cree un tensor 2D con una matriz 5*5 y devuelva la desviación estándar.

#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 la desviación estándar
Imprimir ("Desviación estándar:")
imprimir (antorcha.STD (datos))

Producción:

tensor ([[0.7371, 0.9772, -0.7774, 0.6982, -1.6117],
[-0.3546, 0.0951, 0.0059, 0.5024, -1.1832],
[0.0237, 1.0456, 1.6042, 0.6445, -0.9371],
[0.7644, -0.8274, 0.8999, 0.3538, -0.0928],
[1.4303, 0.8764, -1.6896, 0.0271, -0.1859]])
Desviación Estándar :
tensor (0.9011)

Ejemplo 2:

Cree un tensor 1D con 5 valores y devuelva la desviación estándar.

#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 la desviación estándar
Imprimir ("Desviación estándar:")
imprimir (antorcha.STD (datos))

Producción:

tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Desviación Estándar :
tensor (15.5749)

Trabajar con CPU

Si desea ejecutar una función std () 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 función std () 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 la desviación estándar a lo largo de las columnas
Imprimir ("Desviación estándar en las columnas:")
imprimir (antorcha.std (datos, dim = 0))
imprimir()
#Obtenga la desviación estándar a lo largo de las filas
Imprimir ("Desviación estándar en las filas:")
imprimir (antorcha.std (datos, dim = 1))

Producción:

tensor ([[-0.6536, -0.4777, 1.6667, 0.0299, 0.1223],
[-1.8604, -0.3503, 0.7509, -0.2912, -1.5708],
[0.1468, 1.2626, 0.6741, 1.8651, 0.1632]])
Desviación estándar en las columnas:
tensor ([1.0104, 0.9701, 0.5523, 1.1633, 0.9895])
Desviación estándar en las filas:
tensor ([0.9158, 1.0598, 0.7406])

Podemos ver que la desviación estándar se devuelve a través de las columnas y las filas.

Ejemplo 2:

Cree un tensor con una matriz 5 * 5 con la función CPU () y devuelva la desviación estándar en 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 la desviación estándar a lo largo de las columnas
Imprimir ("Desviación estándar en las columnas:")
imprimir (antorcha.std (datos, dim = 0))
imprimir()
#Obtenga la desviación estándar a lo largo de las filas
Imprimir ("Desviación estándar en las filas:")
imprimir (antorcha.std (datos, dim = 1))

Producción:

tensor ([[-1.3900, 1.3594, -0.3603, 1.6448, -0.2708],
[-0.6731, 0.9022, 1.0914, -0.0416, -1.1494],
[0.1134, 1.0007, 0.5488, -1.6023, -1.2196],
[0.4858, 0.2534, -2.2222, -0.1260, -0.0746],
[-0.2175, -1.6167, -1.1183, 0.2427, -0.1219]])
Desviación estándar en las columnas:
tensor ([0.7273, 1.1853, 1.3192, 1.1561, 0.5686])
Desviación estándar en las filas:
tensor ([1.2743, 0.9718, 1.1293, 1.0831, 0.7716])

Podemos ver que se devuelve la desviación estándar en las filas y las columnas.

Conclusión

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

También creamos un tensor con la función CPU () y devolvimos la desviación estándar. Si el DIM no se especifica en dos o tensor multidimensional, devuelve la desviación estándar de todo el tensor.