Функция full_like
Функция full_like создаёт тензор, который имеет
такие же размеры и тип данных, как переданный
тензор-образец. Первым параметром функция
принимает исходный тензор, а вторым - значение,
которым нужно заполнить новый тензор.
Дополнительно можно указать тип данных элементов, устройство (CPU или GPU) и другие опции.
Синтаксис
torch.full_like(input, fill_value, [dtype], [device], [requires_grad])
Пример
Давайте создадим тензор-образец и заполним новый тензор значением 7:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = torch.full_like(t, 7)
print(res)
Результат выполнения кода:
tensor([7, 7, 7, 7, 7])
Пример
Теперь создадим двумерный тензор-образец и заполним его значением 3.14:
import torch
t = torch.tensor([
[1, 2],
[3, 4],
])
res = torch.full_like(t, 3.14)
print(res)
Результат выполнения кода:
tensor([
[3, 3],
[3, 3],
])
Обратите внимание: тип данных нового тензора
совпадает с типом исходного. В примере выше
это целые числа, поэтому 3.14 округлилось
до 3.
Пример
Чтобы изменить тип данных, передайте параметр dtype:
import torch
t = torch.tensor([1, 2, 3])
res = torch.full_like(t, 5.5, dtype=torch.float)
print(res)
Результат выполнения кода:
tensor([5.5000, 5.5000, 5.5000])
Смотрите также
-
функцию
full,
которая создаёт тензор заданной формы и заполняет его значением -
функцию
zeros_like,
которая создаёт тензор по образцу, заполненный нулями -
функцию
ones_like,
которая создаёт тензор по образцу, заполненный единицами -
функцию
empty_like,
которая создаёт неинициализированный тензор по образцу