В данной прямой функции сверточного слоя у меня есть:
def forward(self, x):
c = torch.nn.functional.conv2d(x)
a,i = torch.maxpool2d(c)
o = torch.relu(a)
return a,i
Я пытаюсь отменить эту функцию с torch.nn.functional.max_unpool2d
и torch.nn.functional.conv_transpose2d
.
Пока что я иметь (не совсем уверен в этом тоже):
a = torch.relu(o)
c = torch.nn.functional.max_unpool2d(a, i, kernel_size=c.size[1])
x = torch.nn.functional.conv_transpose2d(c,..)
Мои вопросы:
- Почему для вызова conv2d не требуются какие-либо другие аргументы, чем приведенный?
- Как получить параметры для
conv_transpose2d
только от a и i (например, от их размеров)? Или есть какой-то другой способ, которого я не вижу? - По умолчанию используется kernel_size conv2d?