DeepLabv3 R50

Click a block to read its description, or select it with Tab and Enter.

DeepLabv3 R50Semantic segmentation, 21 classes, 520 × 520 RGB, native eval. Shapes exclude batch.LibreYOLODeepLabv3 R50Semantic segmentation, 21 classes, 520 × 520 RGB, native eval. Shapes exclude batch.Dilated ResNet backboneInput RGB3 × 520 × 520Normalized inputNormalization occurs in preprocessingConv2d 7×7, stride 23 to 64; padding 3BatchNorm2d + ReLU64 × 260 × 260MaxPool2d 3×3, stride 264 × 130 × 130; padding 1Bottleneck stage 1, n=3256 × 130 × 130; width 64Bottleneck stage 2, n=4512 × 65 × 65; width 128Bottleneck stage 3, n=61024 × 65 × 65; width 256Bottleneck stage 4, n=32048 × 65 × 65; width 512Output stride 8. Stage 3/4 replace spatial strides with dilation.BStage 1 bottlenecks (n=3)First blockInput64 channelsConv2d 1×164 to 64, stride 1BatchNorm2d64 channelsReLUConv2d 3×364 to 64; s=1, d=p=1BatchNorm2d64 channelsReLUConv2d 1×164 to 256, stride 1BatchNorm2d256 channels+Conv 1×164 to 256; s=1BatchNorm256 channelsReLUConv bias=False; addition precedes final ReLU.Repeated block, n=2Input256 channelsConv2d 1×1256 to 64, stride 1BatchNorm2d64 channelsReLUConv2d 3×364 to 64; s=1, d=p=1BatchNorm2d64 channelsReLUConv2d 1×164 to 256, stride 1BatchNorm2d256 channels+ReLUConv bias=False; addition precedes final ReLU.s: stride; d: dilation; p: padding. First block projects the residual branch.Stage 2 bottlenecks (n=4)First blockInput256 channelsConv2d 1×1256 to 128, stride 1BatchNorm2d128 channelsReLUConv2d 3×3128 to 128; s=2, d=p=1BatchNorm2d128 channelsReLUConv2d 1×1128 to 512, stride 1BatchNorm2d512 channels+Conv 1×1256 to 512; s=2BatchNorm512 channelsReLUConv bias=False; addition precedes final ReLU.Repeated block, n=3Input512 channelsConv2d 1×1512 to 128, stride 1BatchNorm2d128 channelsReLUConv2d 3×3128 to 128; s=1, d=p=1BatchNorm2d128 channelsReLUConv2d 1×1128 to 512, stride 1BatchNorm2d512 channels+ReLUConv bias=False; addition precedes final ReLU.s: stride; d: dilation; p: padding. First block projects the residual branch.Stage 3 bottlenecks (n=6)First blockInput512 channelsConv2d 1×1512 to 256, stride 1BatchNorm2d256 channelsReLUConv2d 3×3256 to 256; s=1, d=p=1BatchNorm2d256 channelsReLUConv2d 1×1256 to 1024, stride 1BatchNorm2d1024 channels+Conv 1×1512 to 1024; s=1BatchNorm1024 channelsReLUConv bias=False; addition precedes final ReLU.Repeated block, n=5Input1024 channelsConv2d 1×11024 to 256, stride 1BatchNorm2d256 channelsReLUConv2d 3×3256 to 256; s=1, d=p=2BatchNorm2d256 channelsReLUConv2d 1×1256 to 1024, stride 1BatchNorm2d1024 channels+ReLUConv bias=False; addition precedes final ReLU.s: stride; d: dilation; p: padding. First block projects the residual branch.Stage 4 bottlenecks (n=3)First blockInput1024 channelsConv2d 1×11024 to 512, stride 1BatchNorm2d512 channelsReLUConv2d 3×3512 to 512; s=1, d=p=2BatchNorm2d512 channelsReLUConv2d 1×1512 to 2048, stride 1BatchNorm2d2048 channels+Conv 1×11024 to 2048; s=1BatchNorm2048 channelsReLUConv bias=False; addition precedes final ReLU.Repeated block, n=2Input2048 channelsConv2d 1×12048 to 512, stride 1BatchNorm2d512 channelsReLUConv2d 3×3512 to 512; s=1, d=p=4BatchNorm2d512 channelsReLUConv2d 1×1512 to 2048, stride 1BatchNorm2d2048 channels+ReLUConv bias=False; addition precedes final ReLU.s: stride; d: dilation; p: padding. First block projects the residual branch.ConvNormActivation definitionConv2dNumeric channels, kernel, stride and dilation at occurrenceBatchNorm2dOne normalization parameter set per output channelReLU or HardswishActual activation named at occurrenceA projection marked no activation stops after BatchNorm2d.ASPP and dense prediction headB denotes the backbone output: 2048 × 65 × 65. All five branches consume B.B2048 channelsConv2d 1×12048 to 256; d=1BatchNorm2d256 channelsReLU256 × 65 × 65B2048 channelsAtrous Conv2d 3×32048 to 256; d=12BatchNorm2d256 channelsReLU256 × 65 × 65B2048 channelsAtrous Conv2d 3×32048 to 256; d=24BatchNorm2d256 channelsReLU256 × 65 × 65B2048 channelsAtrous Conv2d 3×32048 to 256; d=36BatchNorm2d256 channelsReLU256 × 65 × 65B2048 channelsAdaptiveAvgPool2d(1)2048 × 1 × 1Conv2d 1×12048 to 256BatchNorm2d256 channelsReLUBilinear resize256 × 65 × 65Concat five 256-channel branches1280 × 65 × 65Conv2d 1×11280 to 256; bias=FalseBatchNorm2d256 channelsReLUDropout 0.5Identity in evalConv2d 3×3256 to 256; s=1, p=1, bias=FalseBatchNorm2d256 channelsReLUConv2d 1×1256 to 21; bias=TrueBilinear resize to 520 × 520align_corners=FalseSemantic logits21 × 520 × 520No auxiliary FCN head in this native inference graph. ASPP conv padding equals dilation.Source: libreyolo/models/deeplabv3/nn.py and model.py. Revision a4d0ecc9e17f.libreyolo.com