Как найти аргументы для torch.nn.conv_transpose2d и max_unpool2d? - PullRequest
1 голос
/ 30 апреля 2020

В данной прямой функции сверточного слоя у меня есть:

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?

1 Ответ

0 голосов
/ 30 апреля 2020

Я нашел частичный ответ на мой вопрос:

Я могу получить доступ к параметрам для conv_transpose2d и max_unpool2d, используя, например, torch.nn.functional.conv2d.kernel_size. Имена параметров хранятся в модели и могут быть получены с помощью print(torch.nn.functional.conv2d.features).

...