从汇合处往回看
Inception 同时让多个分支观察同一输入。不同卷积核和池化路径各自提取特征,最后通常沿通道维度汇合:
outputs = [branch1(x), branch2(x), branch3(x), branch4(x)]
return torch.cat(outputs, dim=1)
空间尺寸必须对齐
dim=1 表示拼接通道,因此各分支的高度和宽度必须一致。卷积核大小不同并不意味着输出尺寸一定不同;合适的 padding 可以让它们保持对齐。
通道数会相加
假设四条分支分别输出 16、24、24、16 个通道,那么拼接后的输出就是 80 个通道。阅读模型时,我会把每条分支的输出形状写下来,再检查下一层期待的输入通道。
这样,Inception 就不再是一张复杂结构图,而是几条可逐一验证、最后通过 torch.cat 汇合的路径。