У меня есть модель дискриминатора и генератора в GAN, и я хочу изменить размеры ядра, чтобы они были больше.Входное изображение поступает в 64x64.На данный момент ядра имеют размер 4x4 (для ks установлено значение 4):
self.main = nn.Sequential(
# input is (nc) x 64 x 64
nn.Conv2d(nc, self.ndf, ks, 2, 1, bias=False),
nn.LeakyReLU(0.2, inplace=True),
# state size. (self.ndf) x 32 x 32
nn.Conv2d(self.ndf, self.ndf * 2, ks, 2, 1, bias=False),
nn.BatchNorm2d(self.ndf * 2),
nn.LeakyReLU(0.2, inplace=True),
# state size. (self.ndf*2) x 16 x 16
nn.Conv2d(self.ndf * 2, self.ndf * 4, ks, 2, 1, bias=False),
nn.BatchNorm2d(self.ndf * 4),
nn.LeakyReLU(0.2, inplace=True),
# state size. (self.ndf*4) x 8 x 8
nn.Conv2d(self.ndf * 4, self.ndf * 8, ks, 2, 1, bias=False),
nn.BatchNorm2d(self.ndf * 8),
nn.LeakyReLU(0.2, inplace=True),
# state size. (self.ndf*8) x 4 x 4
nn.Conv2d(self.ndf * 8, 1, ks, 1, 0, bias=False),
nn.Sigmoid()
)
Если я хочу изменить его на 5 или 3, могу ли я просто изменить ks на 5 или 3?Конечно, есть проблема, потому что если вы продолжите делить размер изображения на два, конечный слой будет иметь размер 4х4, поэтому он не будет помещаться поверх него должным образом.