можем ли мы передавать изображения, для которых высота! = Ширина через наш CNN в Pytorch?
В CNN у меня есть свертка, пакетная норма, максимальный пул, релю и полностью связанные слои.
Моя сеть
self.conv_seqn = nn.Sequential(
nn.Conv2d(in_channels=3, out_channels=32, kernel_size=3, padding=1),
nn.BatchNorm2d(32),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=2, stride=2),
nn.Conv2d(in_channels=32, out_channels=64, kernel_size=3, padding=1),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=4, stride=4),
nn.Conv2d(in_channels=64, out_channels=128, kernel_size=3, padding=1),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=4, stride=4),
)
self.fc_seqn = nn.Sequential(
nn.Linear(1843200, 256),
nn.ReLU(inplace=True),
nn.Linear(256, total_configs)
)
Моя функция пересылки
forward()
{
x = self.conv_seqn(x)
x = x.view(x.size(0), -1)
x = self.fc_seqn(x)
return x
}
Если после применения conv_seqn () входное изображение имеет размер 3840 *1920* 3, оно должно иметь размер [ 1, 128, 120, 60], но я получаю размер [1,128,120,120] (размер партии = 1 здесь)
любое предложение будет очень полезным.