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

Класс Fold

Класс Fold применяется для объединения скользящих локальных блоков обратно в исходный тензор. Он выполняет операцию, обратную Unfold. Первым параметром принимает размер выходного тензора output_size, вторым - размер ядра kernel_size, третьим - шаг stride, четвертым - размер отступов padding. Класс часто используется в задачах обработки изображений при реализации обратного распространения в свёрточных слоях.

Синтаксис

torch.nn.Fold( output_size, kernel_size, stride=1, padding=0 )

Пример

Давайте создадим класс Fold, который объединяет блоки в тензор размером 3x3 с ядром 2x2 и шагом 1:

import torch fold = torch.nn.Fold( output_size=(3, 3), kernel_size=(2, 2), stride=1 ) print(fold)

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

Fold(output_size=(3, 3), kernel_size=(2, 2), stride=1)

Пример

Давайте объединим блоки в тензор размером 3x3 с ядром 2x2 и шагом 1:

import torch fold = torch.nn.Fold( output_size=(3, 3), kernel_size=(2, 2), stride=1 ) input = torch.randn(1, 4, 4) t = fold(input) print(t.shape)

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

torch.Size([1, 1, 3, 3])

Пример

Давайте объединим блоки с использованием отступов 1:

import torch fold = torch.nn.Fold( output_size=(4, 4), kernel_size=(3, 3), stride=2, padding=1 ) input = torch.randn(1, 9, 4) t = fold(input) print(t.shape)

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

torch.Size([1, 1, 4, 4])

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

  • класс Unfold,
    который извлекает скользящие локальные блоки из тензора
  • класс Flatten,
    который преобразует многомерный тензор в одномерный
  • класс Unflatten,
    который преобразует одномерный тензор в многомерный
  • класс Conv2d,
    который применяет двумерную свёртку к входному тензору
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить