web-dev-qa-db-ja.com

PyTorchで範囲[r1、r2]の均一な分布を取得する方法は?

質問はそれをすべて言います。 2-Dを取得したいtorch.Tensorサイズ[a,b]一様分布の値で埋められます(範囲[r1,r2])PyTorchで。

15

Uが[0、1]に一様に分布するランダム変数である場合、(r1 - r2) * U + r2は[r1、r2]に均一に分布しています。

したがって、必要なものは次のとおりです。

(r1 - r2) * torch.Rand(a, b) + r2

または、次を使用することもできます。

torch.FloatTensor(a, b).uniform_(r1, r2)
22
BiBi
torch.FloatTensor(a, b).uniform_(r1, r2)
12
rafaelvalle

お願いします:

import torch as pt
pt.empty(2,3).uniform_(5,10).type(pt.FloatTensor)
1
Sunil

イライラしてキーボードを「なぜこれが機能しないのか」と叫ぶ人のために。私がそうだったように... Wordのユニフォームの背後にある下線に注意してください。

torch.FloatTensor(a, b).uniform_(r1, r2)
                               ^ here
0
Joshua Clancy

一様なランダム分布を取得するには、次を使用できます。

torch.distributions.uniform.Uniform()

import torch
from torch.distributions import uniform

distribution = uniform.Uniform(torch.Tensor([0.0]),torch.Tensor([5.0]))
distribution.sample(torch.Size([2,3])

これにより、サイズ[2、3]のテンソルが出力されます。

0
Pratik_Katte