data
FCNConfig
extends
ModelConfigFCNConfig(num_classes: int = 21, in_channels: int = 3, backbone: str = 'resnet50', variant: str = 'fcn32s', classifier_hidden_channels: int = 512, aux_hidden_channels: int = 256, dropout: float = 0.1)Configuration for Fully Convolutional Network (FCN).
FCN adapts a classification CNN backbone (ResNet) into a dense predictor by replacing fully-connected layers with convolutions and adding upsampling to restore spatial resolution.
Parameters
num_classesint= 21Number of output segmentation classes.
in_channelsint= 3Number of input image channels.
backbonestr= 'resnet50'Backbone descriptor label ("resnet50" or "resnet101").
variantstr= 'fcn32s'FCN variant string ("fcn32s", "fcn16s", "fcn8s").
classifier_hidden_channelsint= 512Hidden channels in the FCN segmentation head.
aux_hidden_channelsint= 256Hidden channels in the auxiliary head.
dropoutfloat= 0.1Dropout probability in the heads.
Notes
ResNet backbone with dilated convolutions (layer3 dilation=2, layer4 dilation=4) → FCN head (3×3 conv + BN + ReLU + 1×1 conv) → bilinear upsample to input resolution.
An auxiliary head on layer3 output provides additional supervision during training.