FCN R50

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

FCN R50Semantic segmentation, 21 classes, 520 × 520 RGB, native eval with auxiliary output. Shapes exclude batch.LibreYOLOFCN R50Semantic segmentation, 21 classes, 520 × 520 RGB, native eval with auxiliary output. Shapes exclude batch.Dilated ResNet backboneInput RGB3 × 520 × 520ImageNet normalization(x-mean)/std, per RGB channelConv2d 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.S3S4FCN headsFrom stage 4 (S4)2048 × 65 × 65Conv2d 3×32048 to 512; s=1, p=1, bias=FalseBatchNorm2d512 channelsReLUDropout 0.1Identity in evalConv2d 1×1512 to 21; bias=TrueBilinear resize to 520 × 520align_corners=Falsemain logits21 × 520 × 520From stage 3 (S3)1024 × 65 × 65Conv2d 3×31024 to 256; s=1, p=1, bias=FalseBatchNorm2d256 channelsReLUDropout 0.1Identity in evalConv2d 1×1256 to 21; bias=TrueBilinear resize to 520 × 520align_corners=Falseaux logits21 × 520 × 520Native output is an OrderedDict with out and aux; both paths execute during eval.The public semantic result can use argmax over the 21 out channels.This is the dilated-ResNet adaptation, not the original VGG FCN-8s topology.Stage 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.Shared family variable N3: 6 for r50, 23 for r101. All other stage counts and dimensions are identical.ResNet backbone comes from torchvision (BSD-3-Clause); native FCN head and orchestration are in LibreYOLO.Source: libreyolo/models/fcn/nn.py and model.py. Revision a4d0ecc9e17f.libreyolo.com