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

Удаление лишних осей в PyTorch

В форме тензора иногда встречаются оси длины 1. Они не добавляют новых чисел, но удлиняют описание формы. Метод squeeze убирает такие оси.

Рассмотрим тензор, у которого снаружи одна лишняя ось, а внутри три значения в столбец. Создадим его и выведем форму до и после полного сжатия:

import torch wrapped = torch.tensor([[[1], [2], [3]]]) print(wrapped.shape) # выведет torch.Size([1, 3, 1]) plain = wrapped.squeeze() print(plain.shape) # выведет torch.Size([3])

Можно указать, какую именно ось длины один убрать. Если снять только внешнюю оболочку, внутренний столбец сохранится:

import torch wrapped = torch.tensor([[[1], [2], [3]]]) part = wrapped.squeeze(0) print(part.shape) # выведет torch.Size([3, 1])

Соберите тензор формы (1, 4, 1) из последовательных целых чисел и выведите форму после удаления всех осей длины один.

Соберите тензор формы (1, 2, 1) с любыми значениями и выведите форму после снятия только первой оси длины один.

Соберите тензор формы (1, 3) из трёх последовательных целых чисел и выведите форму после удаления всех осей длины один.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить