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

Метод view

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

Синтаксис

tensor.view(*shape)

Пример

Давайте создадим одномерный тензор и изменим его форму на двумерный:

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

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

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

Пример

Давайте создадим двумерный тензор и изменим его форму на одномерный:

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

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

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

Пример

Давайте используем -1 для автоматического вычисления одной из размерностей:

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

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

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

Пример

Давайте изменим форму на трёхмерный тензор:

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

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

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

Пример

Давайте создадим тензор и проверим, что данные не копируются:

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

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

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

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

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