PyTorch proporciona varias utilidades matemáticas integradas para monitorear las estadísticas descriptivas de un conjunto de datos, una de las cuales es la media y la desviación estándar. La media, denotada por, es una de las medidas de tendencias centrales que se calcula encontrando el promedio del conjunto de datos dado. La desviación estándar, denotada por σ, es una de las medidas de dispersión que indica cuánto se acercan los valores a la media. La fórmula para la media y la desviación estándar es la siguiente: –
Instalación de PyTorch:
La instalación de PyTorch es la misma que la de cualquier otra biblioteca en python.
pip install torch
O si desea instalarlo en un entorno conda, puede usar el siguiente comando:-
conda install pytorch cudatoolkit=10.2 -c pytorch
Desviación media y estándar del tensor 1-D:
Antes de entender cómo encontrar la media y la desviación estándar, preparemos nuestro conjunto de datos generando una array aleatoria.
import torch data = torch.rand(10)
Ahora que tenemos los datos, podemos encontrar la media y la desviación estándar llamando a los métodos mean() y std() .
mean_tensor = data.mean() std_tensor = data.std()
El método anterior funciona perfectamente, pero los valores se devuelven como tensores, si desea extraer valores dentro de ese tensor, puede acceder a él a través del índice o puede llamar al método item() .
mean = data.mean().item() std = data.std().item()
Ejemplo:
Python3
import torch # Generate a tensor of 10 numbers data = torch.rand(10) mean_tensor = data.mean() std_tensor = data.std() print(mean_tensor) print(std_tensor) mean = data.mean().item() std = data.std().item() print(mean) print(std)
Producción:
tensor(0.3901) tensor(0.2846) 0.39005300402641296 0.2846093773841858
Media y desviación estándar de tensores 2-D:
En los tensores 2-D, la media es la misma que la del tensor 1-D, excepto que aquí podemos pasar un parámetro de eje para encontrar la media y el estándar de las filas y columnas. Comencemos por obtener nuestros datos.
import torch data = torch.rand(5,3)
Los métodos mean() y std() , cuando se llaman tal como están, devolverán la desviación estándar total de todo el conjunto de datos, pero si pasamos un parámetro de eje, podemos encontrar la media y el estándar de filas y columnas. Para axis = 0 , obtenemos un tensor que tiene valores de media o estándar de cada columna. Para axis = 1 , obtenemos un tensor que tiene valores de media o estándar de cada fila.
total_mean = data.mean() total_std = data.std() # Mean and STD of columns mean_col_wise = data.mean(axis = 0) std_col_wise = data.std(axis = 0) # Mean and STD of rows mean_row_wise = data.mean(axis = 1) std_row_wise = data.std(axis = 1)
Ejemplo:
Python3
import torch # Generate a tensor of shape (5,3) data = torch.rand(5,3) total_mean = data.mean() total_std = data.std() print(total_mean) print(total_std) # Mean and STD of columns mean_col_wise = data.mean(axis = 0) std_col_wise = data.std(axis = 0) print(mean_col_wise) print(std_col_wise) # Mean and STD of rows mean_row_wise = data.mean(axis = 1) std_row_wise = data.std(axis = 1) print(mean_row_wise) print(std_row_wise)
Producción:
tensor(0.6483) tensor(0.2797) tensor([0.6783, 0.5986, 0.6679]) tensor([0.2548, 0.2711, 0.3614]) tensor([0.5315, 0.7770, 0.7785, 0.3403, 0.8142]) tensor([0.3749, 0.2340, 0.1397, 0.2432, 0.1386])
Publicación traducida automáticamente
Artículo escrito por herumbshandilya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA