Multi-Branch Networks (GoogLeNet)

http://d2l.ai/chapter_convolutional-modern/googlenet.html

Hello, I find that there is no relu function after the second convolutional layer in module ‘b2’ in the pytorch version, is it missing?

Thanks @Leosword for raising this. Indeed it is missing. Will be fixed in this PR.

we do’nt add Batchnorm after AdaptiveAvgPool2d and Flatten(), right? I’m just add nn.BatchNorm2d after Conv2d


how can I get the ratio of 1/2 and 1/12?

I am also confused to it so I try to find the answer in its original paper.
The structure of GoogLeNet like below:

In the Insecetion(3a), #3*3 reduce is the input of second path, #3*3 is the output of second path. In this chapter, author only tell me the truth that This layer Input/Before layer Output=96/128=1/2, #5*5 reduce as the same. It hard to find rule because it changes to 1/2, 1/8 in the second Inception block.

If you want to know why structure like that, the paper seems do not give us a reason. I think it comes from a lot of try.

Last, I think it is more important to know the idea that we can use more conv(11, 33, 55) with less channel to replace directly using 55 or 3*3 conv.

My solutions to the exs: 8.4

1 Like