What is the use of fused modules in quantization?

I am working on static quantization and have found that quantizing model with fuse module gives more accuracy than the models without applying fuse model.

What is the meaning of ConvRelu2d? whether the batchnormalization part is fused with the convolution weights or bachnormalization is removed?

Please do help me understand this concept.

Hi @Midhilesh,
What I understand from ConvReLU2d() is that it just converts from
Conv2d()-> ReLU() to something like ReLU(Conv2d()) .
However, there is no BatchNorm2d here, if you want to fuse even the BatchNorm layer, you could use this ConvBnReLU2d() .

You will find more info from the quantization doc https://pytorch.org/docs/stable/quantization.html#torch.nn.intrinsic.ConvReLU2d