Функция ones_like
Функция ones_like создает тензор, заполненный единицами,
форма и тип данных которого совпадают с переданным тензором.
Первым параметром функция принимает тензор-образец.
Вторым параметром можно указать желаемый тип данных,
третьим - устройство (CPU или GPU).
Синтаксис
torch.ones_like(input, [dtype], [device])
Пример
Давайте создадим тензор из единиц на основе одномерного тензора:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = torch.ones_like(t)
print(res)
Результат выполнения кода:
tensor([1, 1, 1, 1, 1])
Пример
Давайте создадим тензор из единиц на основе двумерного тензора:
import torch
t = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
res = torch.ones_like(t)
print(res)
Результат выполнения кода:
tensor([
[1, 1, 1],
[1, 1, 1],
])
Пример
Давайте создадим тензор из единиц с изменением типа данных на float:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = torch.ones_like(t, dtype=torch.float)
print(res)
Результат выполнения кода:
tensor([1., 1., 1., 1., 1.])
Пример
Давайте создадим тензор из единиц на основе тензора, созданного на GPU (при его наличии):
import torch
if torch.cuda.is_available():
t = torch.tensor([1, 2, 3, 4, 5], device='cuda')
res = torch.ones_like(t)
print(res.device)
else:
print("CUDA недоступен")
Результат выполнения кода при наличии CUDA:
"cuda:0"
Смотрите также
-
функцию
ones,
которая создает тензор, заполненный единицами, по заданной форме -
функцию
zeros_like,
которая создает тензор, заполненный нулями, по образцу -
функцию
full_like,
которая создает тензор, заполненный указанным значением, по образцу -
функцию
empty_like,
которая создает неинициализированный тензор по образцу