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

Метод view_as

Метод view_as класса Tensor изменяет форму тензора, делая её такой же, как у переданного в качестве аргумента тензора. Этот метод является удобной альтернативой методу view, когда нужно привести тензор к форме другого тензора. Важно, что метод view_as не копирует данные, а только изменяет представление тензора в памяти. Поэтому общий размер данных (количество элементов) должен совпадать с размером тензора, на который ссылаются.

Синтаксис

tensor.view_as(other)

Пример

Давайте изменим форму тензора, сделав её такой же, как у другого тензора:

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

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

tensor([ [1, 2, 3], [4, 5, 6], ])

Пример

Метод view_as позволяет изменять форму тензора без копирования данных, что подтверждается проверкой одинакового адреса в памяти:

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

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

True

Пример

Если общий размер данных не совпадает, метод view_as выбросит ошибку:

import torch t = torch.tensor([1, 2, 3, 4, 5]) other = torch.tensor([[1, 2], [3, 4], [5, 6]]) try: res = t.view_as(other) print(res) except Exception as e: print("Error:", str(e))

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

"Error: shape '[3, 2]' is invalid for input of size 5"

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

  • метод view,
    который изменяет форму тензора по заданным размерам
  • метод reshape,
    который изменяет форму тензора с возможным копированием данных
  • метод reshape_as,
    который изменяет форму тензора, делая её как у другого тензора, с возможным копированием
  • метод flatten,
    который преобразует многомерный тензор в одномерный
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить