Ich möchte eine zufällige Normalverteilung in Pytorch erstellen und Mittelwert und Standard sind 4 bzw. 0,5. Ich habe keine API dafür gefunden. Weiß jemand Bescheid? Vielen Dank.
Es hängt davon ab, was Sie generieren möchten.
Zur Erzeugung der Standardnormalverteilung verwenden Sie -
torch.randn()
verwenden Sie für alle Verteilungen (z. B. Normal, Poisson oder Uniform usw.) torch.distributions.Normal()
oder torch.distribution.Uniform()
. Ein Detail all dieser Methoden finden Sie hier - https://pytorch.org/docs/stable/distributions.html#normal
Sobald Sie diese Methoden definiert haben, können Sie die .sample-Methode verwenden, um die Anzahl der Instanzen zu generieren. Außerdem können Sie eine sample_shape-förmige Probe oder eine sample_shape-förmige Charge von Samples generieren, wenn die Verteilungsparameter gestapelt sind.
Eine einfache Option ist die Verwendung der Funktion randn
aus dem Basismodul. Es wird eine Zufallsstichprobe aus der Standard-Gauß-Verteilung erstellt. Um den Mittelwert und die Standardabweichung zu ändern, verwenden Sie einfach Addition und Multiplikation. Unten erstelle ich ein Muster der Größe 5 aus Ihrer gewünschten Distribution.
import torch
torch.randn(5) * 0.5 + 4 # tensor([4.1029, 4.5351, 2.8797, 3.1883, 4.3868])