スポンサーリンク

【PyTorch】乱数のTensor配列を生成【ランダム】

Python

PyTorchで乱数のTensor配列を生成する以下3つの関数について説明する。

他の乱数の配列の生成については、以下記事を参照。

torch.randの使い方

torch.randは、一様分布から0~1の乱数が生成される。配列のサイズを指定すると、乱数の配列が返ってくる。二次元以上の配列にする場合は、リスト/タプルで指定する。

import torch

print(torch.rand(4))
# tensor([0.0918, 0.5290, 0.0390, 0.8799])

print(torch.rand(2, 4))
# tensor([[0.9240, 0.2265, 0.9199, 0.0929],
#        [0.9576, 0.2265, 0.7720, 0.3192]])

torch.randnの使い方

torch.randnは、平均0、分散1の正規分布から乱数が生成される。torch.randと同様に配列のサイズを指定すると、乱数の配列が返ってくる。二次元以上の配列にする場合は、リスト/タプルで指定する。

print(torch.randn(4))
# tensor([-1.1683, -1.3414,  0.3908, -0.4583])

print(torch.randn(2, 4))
# tensor([[ 1.1569,  0.0584, -1.0093,  1.5621],
#        [ 1.6141, -0.7164,  0.7459,  0.3595]])

torch.normalの使い方

torch.normalは、任意の平均と分散の正規分布から乱数が生成される。第一引数meanに平均、第二引数stdに標準偏差、第三引数sizeに出力されるTensor配列の形状を指定する。

print(torch.normal(mean=2, std=3, size=(1, 4)))
# tensor([[2.2946, 1.9791, 1.2280, 0.3976]])

print(torch.normal(mean=0, std=1, size=(2, 4)))
# tensor([[ 0.1522, -0.2201, -0.5715, -0.2014],
#        [-0.5335,  1.5139,  0.1486,  1.3389]])

関連記事、参考資料

コメント