PyTorch torch.randn Funktion
PyTorch torch Referenzhandbuch
torch.randnist eine Funktion in PyTorch, mit der ein Zufalls-Tensor aus der Standardnormalverteilung (einer Gauß-Verteilung mit Mittelwert 0 und Varianz 1) erstellt wird.
Dies wird oft im Deep Learning für Szenarien wie die Initialisierung von Gewichten und die Generierung zufälliger Eingaben verwendet.
Funktionsdefinition
torch.randn(*size, dtype=None, device=None, requires_grad=False)
Parameters:
*size(int): Die Form des Tensors.dtype(torch.dtype, optional): Datentyp, standardmäßigtorch.float32。device(torch.device, optional): Gerät.requires_grad(bool, optional): Ob die Gradientenberechnung erforderlich ist.
Rückgabewert:
torch.Tensor: Gibt einen Tensor zurück, der Zufallszahlen enthält.
Anwendungsbeispiele
Beispiel 1: Zufälligen Tensor erstellen
Beispiel
import torch
# Einen zufälligen 3x4-Tensor erstellen
x = torch.randn(3, 4)
print(x)
# Einen zufälligen 3x4-Tensor erstellen
x = torch.randn(3, 4)
print(x)
Die Ausgabe ist:
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]])
Beispiel 2: Gewichtsinitialisierung eines neuronalen Netzwerks
Beispiel
import torch
import torch.nn as nn
# Verwende randn, um die Gewichte eines neuronalen Netzwerks zu initialisieren
linear = nn.Linear(10, 5)
# Gewichte mit Zufallswerten initialisieren
nn.init.randn_(linear.weight)
nn.init.zeros_(linear.bias)
print("Gewichtsform:", linear.weight.shape)
print("Gewichtsmittelwert:", linear.weight.mean().item())
print("Standardabweichung der Gewichte:", linear.weight.std().item())
import torch.nn as nn
# Verwende randn, um die Gewichte eines neuronalen Netzwerks zu initialisieren
linear = nn.Linear(10, 5)
# Gewichte mit Zufallswerten initialisieren
nn.init.randn_(linear.weight)
nn.init.zeros_(linear.bias)
print("Gewichtsform:", linear.weight.shape)
print("Gewichtsmittelwert:", linear.weight.mean().item())
print("Standardabweichung der Gewichte:", linear.weight.std().item())
Andere Erweiterungen