Pytorch 功能线性层的尺寸失配

Pytorch 功能线性层的尺寸失配,pytorch,pytorch-lightning,Pytorch,Pytorch Lightning,很抱歉,这可能是一个简单的问题,以前已经回答过,但我找不到答案。我试图使用CNN提取特征,然后将其输入到输出2个变量的FC网络中。我试图使用功能性线性层作为动态处理展平特征的方法。self.cnn是一个顺序容器,最后一层是nn.flant()。当我在CNN后打印x的大小时,我看到它是15x152064,所以我不清楚为什么F.linear层无法运行,错误如下。任何帮助都将不胜感激 运行时错误:大小不匹配,获取15x152064,2 x = self.cnn(x) batch_size, chann

很抱歉,这可能是一个简单的问题,以前已经回答过,但我找不到答案。我试图使用CNN提取特征,然后将其输入到输出2个变量的FC网络中。我试图使用功能性线性层作为动态处理展平特征的方法。
self.cnn
是一个顺序容器,最后一层是
nn.flant()
。当我在CNN后打印x的大小时,我看到它是15x152064,所以我不清楚为什么
F.linear
层无法运行,错误如下。任何帮助都将不胜感激

运行时错误:大小不匹配,获取15x152064,2

x = self.cnn(x)
batch_size, channels = x.size()
x = F.linear(x, torch.Tensor([256,channels]))
y_hat = self.FC(x)
torch.Tensor([256,channels])
不会创建大小为
(256,channels)
的张量,而是包含值256和
channels
的1D张量。我不知道您想如何初始化权重,但有几个选项:

# Identity transform:
x = F.linear(x, torch.ones(256,channels))
# Random transform :
x = F.linear(x, torch.randn(256,channels))