Код здесь:
import torch
from torchvision.models import alexnet
if __name__ == "__main__":
net = alexnet()
x = torch.rand((1, 3, 224, 224))
for name, layer in net.named_children():
x = layer(x)
print(name, ' output shape:\t', x.shape)
Вывод здесь:
features output shape: torch.Size([1, 256, 6, 6])
avgpool output shape: torch.Size([1, 256, 6, 6])
File "AlexNet.py", line 9, in <module>
x = layer(x)
RuntimeError: size mismatch, m1: [1536 x 6], m2: [9216 x 4096]
Я хочу проверить вход и выход эля xNet, но мне не удалось с ошибка "несоответствие размера". Я использую размер изображения (3,224,224), представленный в статье Ale xNet, и хочу получить правильный вывод. После этой ошибки я пытаюсь исправить
self.avgpool = nn.AdaptiveAvgPool2d((6, 6))
до
self.avgpool = nn.AdaptiveAvgPool2d((1, 9216))
, и я получаю правильный вывод.
Я действительно хочу знать, что я сделал не так с факелом. И я также хочу знать, что люди будут делать, когда им нужно будет проверить ввод и вывод cnn.
thx за вашу помощь!