首页 > 解决方案 > python中的CNN模块给出错误大小不匹配,m1:[12288 x 26],m2:[12288 x 26]

问题描述

我的 CNN 模型有一些问题,我不明白我做错了什么。我尝试多次更改我的模型,使其看起来像 m1:12288 x 26 和 26 x 12288,但我不太确定该怎么做。有人可以帮我吗?

 self.conv1 = torch.nn.Conv1d(input_size, 256, kernel_size)
 self.conv2 = torch.nn.Conv1d(256, 256, kernel_size)
 self.fc1 = torch.nn.Linear(256*input_size, output_size)

或者

 #self.conv1 = torch.nn.Conv1d(48, 256, 1)
 #self.conv2 = torch.nn.Conv1d(256, 48, 1)
 #self.fc1 = torch.nn.Linear(48*256, 26)

模型看起来像:

CNN(
(conv1): Conv1d(48, 256, kernel_size=(1,), stride=(1,))
(conv2): Conv1d(256, 256, kernel_size=(1,), stride=(1,))
(fc1): Linear(in_features=12288, out_features=26, bias=True)
)

错误我得到“RuntimeError: size mismatch, m1: [12288 x 26], m2: [12288 x 26] at ..\aten\src\TH/generic/THTensorMath.cpp:41”

标签: pythonconv-neural-network

解决方案


需要将其“压平”: self.fc1 = torch.nn.Linear(256(48-(kernel_size-1)2), output_size) 成功了。


推荐阅读