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

Свёртка в PyTorch

Класс Conv2d строит слой, который пробегает маленьким окном по карте каналов и собирает новые фильтры. При создании задают число входных каналов, число выходных фильтров и размер окна.

Создадим слой на три входных канала, шестнадцать фильтров и окно 3 на 3, подадим батч и выведем размер результата:

import torch import torch.nn as nn batch = torch.randn(2, 3, 8, 8) layer = nn.Conv2d(3, 16, kernel_size=3) result = layer(batch) print(result.shape) # выведет torch.Size([2, 16, 6, 6])

Число картинок в батче не меняется. Вместо трёх каналов на выходе шестнадцать карт признаков. Высота и ширина уменьшаются, если окно не покрывает край без дополнения.

import torch import torch.nn as nn batch = torch.ones(1, 3, 10, 10) layer = nn.Conv2d(3, 4, kernel_size=5) result = layer(batch) print(result.shape) # выведет torch.Size([1, 4, 6, 6])

Соберите слой с 1 входным каналом, 8 фильтрами и окном 5. Подайте батч 2 на 1 на 10 на 10 из единиц. Выведите размеры результата.

Опишите преобразование с 3 каналами на входе, 12 на выходе и окном 3. Пропустите через него случайный батч 4 картинок размером 16 на 16. Выведите размеры результата.

Возьмите нулевой пакет 1 на 2 на 20 на 20 и слой с двумя входными каналами, одним фильтром и окном 7. Выведите размеры после прохода.

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