webentwicklung-frage-antwort-db.com.de

So erstellen Sie eine Normalverteilung in Pytorch

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.

13
dq.shen

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.

0
Pankaj Mishra

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])
0
gui11aume