Метод uniform_
Метод uniform_ класса Tensor заполняет тензор случайными числами из равномерного распределения на интервале [from, to). Это метод in-place, то есть он изменяет сам тензор, не создавая новый. Первым параметром метод принимает нижнюю границу интервала, вторым - верхнюю. По умолчанию значения равны 0.0 и 1.0 соответственно.
Синтаксис
tensor.uniform_(from=0.0, to=1.0)
Пример
Давайте создадим тензор размера 3x3 и заполним его случайными числами из равномерного распределения на интервале от 0 до 1:
import torch
torch.manual_seed(0)
t = torch.empty(3, 3)
t.uniform_()
print(t)
Результат выполнения кода:
tensor([
[0.4963, 0.7682, 0.0885],
[0.1320, 0.3074, 0.6341],
[0.4901, 0.8964, 0.4556]
])
Пример
Теперь заполним тензор случайными числами из интервала от -1 до 1:
import torch
torch.manual_seed(42)
t = torch.empty(2, 4)
t.uniform_(-1.0, 1.0)
print(t)
Результат выполнения кода:
tensor([
[ 0.3830, -0.4368, 0.1364, 0.1218],
[ 0.8455, 0.5255, 0.1095, 0.7427]
])
Пример
Метод uniform_ можно применять к уже существующим тензорам, перезаписывая их значения. Давайте создадим тензор с нулевыми значениями, а затем заполним его случайными числами из интервала от 0 до 10:
import torch
torch.manual_seed(7)
t = torch.zeros(4, 2)
t.uniform_(0.0, 10.0)
print(t)
Результат выполнения кода:
tensor([
[9.7196, 6.5156],
[1.9519, 4.7456],
[5.9006, 5.3452],
[2.9398, 3.9786]
])