RepVGG

The ResNet model is based on the “RepVGG: Making VGG-style ConvNets Great Again” paper.

Architecture overview

This paper revisits the VGG architecture by adapting its parameter setting in training and inference mode to combine the original VGG speed and the block design of ResNet.

https://github.com/frgfm/Holocron/releases/download/v0.2.1/repvgg.png

The key takeaways from the paper are the following:

  • have different block architectures between training and inference modes

  • the block is designed in a similar fashion as a ResNet bottleneck but in a way that all branches can be fused into a single one

  • The more complex training architecture improves gradient flow and overall optimization, while its inference counterpart is optimized for minimum latency and memory usage

Model builders

The following model builders can be used to instantiate a RepVGG model, with or without pre-trained weights. All the model builders internally rely on the holocron.models.classification.revpgg.RepVGG base class. Please refer to the source code for more details about this class.

repvgg_a0([pretrained, checkpoint, progress])

RepVGG-A0 from "RepVGG: Making VGG-style ConvNets Great Again"

repvgg_a1([pretrained, checkpoint, progress])

RepVGG-A1 from "RepVGG: Making VGG-style ConvNets Great Again"

repvgg_a2([pretrained, checkpoint, progress])

RepVGG-A2 from "RepVGG: Making VGG-style ConvNets Great Again"

repvgg_b0([pretrained, checkpoint, progress])

RepVGG-B0 from "RepVGG: Making VGG-style ConvNets Great Again"

repvgg_b1([pretrained, checkpoint, progress])

RepVGG-B1 from "RepVGG: Making VGG-style ConvNets Great Again"

repvgg_b2([pretrained, checkpoint, progress])

RepVGG-B2 from "RepVGG: Making VGG-style ConvNets Great Again"

repvgg_b3([pretrained, checkpoint, progress])

RepVGG-B3 from "RepVGG: Making VGG-style ConvNets Great Again"