我理解的意思是矩阵或者说张量mat1 的第二维度要与mat2的第一维度不匹配。
出现问题代码为:(这里要进行全连接,但是输入进block6的矩阵行数不为一)
self.block6 = nn.Sequential(
# nn.Flatten(),
nn.Linear(512 * 7 * 7, 4096),
nn.ReLU(),
nn.Dropout(p=0.5),
nn.Linear(4096, 4096),
nn.ReLU(),
nn.Dropout(p=0.5),
nn.Linear(4096, 1000),
nn.ReLU(),
)
解决方法为,加入Flatten()函数。
self.block6 = nn.Sequential(
nn.Flatten(),
nn.Linear(512 * 7 * 7, 4096),
nn.ReLU(),
nn.Dropout(p=0.5),
nn.Linear(4096, 4096),
nn.ReLU(),
nn.Dropout(p=0.5),
nn.Linear(4096, 1000),
nn.ReLU(),
)