РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
657 of 769 menu

Функция rand_like

Функция rand_like создает тензор, заполненный случайными числами из равномерного распределения на интервале [0, 1). Форма и тип данных нового тензора копируются у тензора, переданного первым параметром. Это удобно, когда нужно создать тензор случайных чисел с такими же характеристиками, как у уже существующего тензора.

Первым параметром функция принимает тензор-образец input. Вторым параметром можно указать тип данных dtype для создаваемого тензора. Если тип данных не указан, он наследуется от тензора-образца. Функция также поддерживает параметры device и requires_grad для управления размещением тензора и отслеживанием градиентов.

Синтаксис

torch.rand_like(input, [dtype], [device], [requires_grad])

Пример

Давайте создадим тензор-образец и на его основе создадим тензор со случайными числами:

import torch t = torch.tensor([1, 2, 3, 4, 5]) res = torch.rand_like(t) print(res)

Результат выполнения кода:

tensor([0.4963, 0.7682, 0.0885, 0.1320, 0.3074])

Пример

Создадим двумерный тензор и применим к нему rand_like:

import torch t = torch.tensor([ [1, 2, 3], [4, 5, 6], ]) res = torch.rand_like(t) print(res)

Результат выполнения кода:

tensor([ [0.1894, 0.1093, 0.0646], [0.3940, 0.8822, 0.8617], ])

Пример

Изменим тип данных создаваемого тензора на torch.float64:

import torch t = torch.tensor([1, 2, 3, 4, 5], dtype=torch.float32) res = torch.rand_like(t, dtype=torch.float64) print(res) print(res.dtype)

Результат выполнения кода:

tensor([0.9970, 0.3680, 0.5677, 0.8015, 0.1203], dtype=torch.float64) torch.float64

Пример

Создадим тензор с отслеживанием градиентов:

import torch t = torch.tensor([1.0, 2.0, 3.0]) res = torch.rand_like(t, requires_grad=True) print(res) print(res.requires_grad)

Результат выполнения кода:

tensor([0.6823, 0.7439, 0.7503], requires_grad=True) True

Смотрите также

  • функцию rand,
    которая создает тензор со случайными числами по заданной форме
  • функцию randn_like,
    которая создает тензор со случайными числами из нормального распределения по образцу
  • функцию randint_like,
    которая создает тензор со случайными целыми числами по образцу
  • функцию manual_seed,
    которая устанавливает зерно для генератора случайных чисел
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить