RepVGG icon indicating copy to clipboard operation
RepVGG copied to clipboard

question: have you ever tried to combine this method with ACNet?

Open CoinCheung opened this issue 4 years ago • 6 comments

If we replace the 3x3 conv with the convolution proposed with ACNet, are we expected to have further improvements on the test set ?

CoinCheung avatar Mar 20 '21 13:03 CoinCheung

We have not tried that. But we are working to release ACNet v2 (Diverse Branch Block, also accepted by CVPR 2021, https://github.com/DingXiaoH/DiverseBranchBlock). We will try combining them very soon.

DingXiaoH avatar Mar 21 '21 17:03 DingXiaoH

@DingXiaoH Thanks for replying !!! I have another question:

We can see from this line: https://github.com/DingXiaoH/RepVGG/blob/a689eaf2c3d8f9d553328a4f7207c8b1a8f20933/repvgg.py#L33 that the identity branch is a nn.BatchNorm2d layer, which should learned a a * x + b mapping of each feature channel.

However, in the fusing process: https://github.com/DingXiaoH/RepVGG/blob/a689eaf2c3d8f9d553328a4f7207c8b1a8f20933/repvgg.py#L84 The values are all set to an constant value of 1.

Why not set these values to the as and bs learned by the bn layer ?

CoinCheung avatar Mar 22 '21 11:03 CoinCheung

This kernel_value is a fake "1x1 conv" constructed just for the ease of merging the BN. Because y=x is equivalent to y=conv(x, identity_kernel) There is no such kernel in the block.

DingXiaoH avatar Mar 24 '21 03:03 DingXiaoH

@DingXiaoH Thanks for telling this, I have made sense of it. By the ways, what is the arxiv index of acnetv2 ? I cannot find it by searching the title directly in google.

CoinCheung avatar Mar 24 '21 06:03 CoinCheung

Working on it. Will be released very soon. https://github.com/DingXiaoH/DiverseBranchBlock

DingXiaoH avatar Mar 25 '21 08:03 DingXiaoH

Hi,

I have another question about repvgg, did you use label-smooth/auto-augment or other regularization method to train repvgg_a0-a3, and repvgg_b0-b1 ?

CoinCheung avatar Apr 03 '21 01:04 CoinCheung