Función PyTorch torch.randn
Manual de referencia de Pytorch torch
torch.randnEs una función en PyTorch que se utiliza para crear tensores aleatorios a partir de una distribución normal estándar (distribución gaussiana con media 0 y varianza 1).
Esto se usa a menudo en el aprendizaje profundo para inicializar pesos, generar entradas aleatorias, etc.
Definición de la función
torch.randn(*size, dtype=None, device=None, requires_grad=False)
Parámetros:
*size(int): La forma del tensor.dtype(torch.dtype, opcional): Tipo de datos, por defecto estorch.float32。device(torch.device, opcional): El dispositivo.requires_grad(bool, opcional): Si se requiere calcular gradientes.
Valor de retorno:
torch.Tensor: Devuelve un tensor que contiene números aleatorios.
Ejemplos de uso
Ejemplo 1: Crear un tensor aleatorio
Ejemplo
import torch
# Crear un tensor aleatorio de 3x4
x = torch.randn(3, 4)
print(x)
# Crear un tensor aleatorio de 3x4
x = torch.randn(3, 4)
print(x)
La salida es:
tensor([[-0.2107, -0.6198, 0.2103, 0.4513],
[-0.0124, -1.1746, 0.1844, -0.6199],
[ 1.1729, -0.7669, 0.3034, -0.0808]])
Ejemplo 2: Inicialización de pesos de redes neuronales
Ejemplo
import torch
import torch.nn as nn
# Usar randn para inicializar los pesos de la red neuronal
linear = nn.Linear(10, 5)
# Inicializar los pesos con valores aleatorios
nn.init.randn_(linear.weight)
nn.init.zeros_(linear.bias)
print("Forma de los pesos:", linear.weight.shape)
print("Media de los pesos:", linear.weight.mean().item())
print("Desviación estándar de los pesos:", linear.weight.std().item())
import torch.nn as nn
# Usar randn para inicializar los pesos de la red neuronal
linear = nn.Linear(10, 5)
# Inicializar los pesos con valores aleatorios
nn.init.randn_(linear.weight)
nn.init.zeros_(linear.bias)
print("Forma de los pesos:", linear.weight.shape)
print("Media de los pesos:", linear.weight.mean().item())
print("Desviación estándar de los pesos:", linear.weight.std().item())
Otras extensiones