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"