Функция PyTorch torch.randn
Справочное руководство Pytorch torch
torch.randnЭто функция в PyTorch, используемая для создания случайного тензора из стандартного нормального распределения (распределения Гаусса со средним 0 и дисперсией 1).
Это часто используется в глубоком обучении для таких сценариев, как инициализация весов и генерация случайных входных данных.
Определение функции
torch.randn(*size, dtype=None, device=None, requires_grad=False)
Parameters:
*size(int): Форма тензора.dtype(torch.dtype, необязательно): Тип данных, по умолчаниюtorch.float32。device(torch.device, необязательно): Устройство.requires_grad(bool, необязательно): Нужно ли вычислять градиент.
Возвращаемое значение:
torch.Tensor: Возвращает тензор, содержащий случайные числа.
Примеры использования
Пример 1: Создание случайного тензора
Пример
import torch
# Создать случайный тензор 3x4
x = torch.randn(3, 4)
print(x)
# Создать случайный тензор 3x4
x = torch.randn(3, 4)
print(x)
Вывод:
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]])
Пример 2: Инициализация весов нейронной сети
Пример
import torch
import torch.nn as nn
# Используйте randn для инициализации весов нейронной сети
linear = nn.Linear(10, 5)
# Инициализируйте веса случайными значениями
nn.init.randn_(linear.weight)
nn.init.zeros_(linear.bias)
print("Форма весов:", linear.weight.shape)
print("Среднее весов:", linear.weight.mean().item())
print("Стандартное отклонение весов:", linear.weight.std().item())
import torch.nn as nn
# Используйте randn для инициализации весов нейронной сети
linear = nn.Linear(10, 5)
# Инициализируйте веса случайными значениями
nn.init.randn_(linear.weight)
nn.init.zeros_(linear.bias)
print("Форма весов:", linear.weight.shape)
print("Среднее весов:", linear.weight.mean().item())
print("Стандартное отклонение весов:", linear.weight.std().item())
Другие расширения