diff --git a/docs/source/models/fcn.rst b/docs/source/models/fcn.rst new file mode 100644 index 00000000000..ae76c50ff1b --- /dev/null +++ b/docs/source/models/fcn.rst @@ -0,0 +1,26 @@ +FCN +=== + +.. currentmodule:: torchvision.models.segmentation + +The FCN model is based on the `Fully Convolutional Networks for Semantic +Segmentation `__ +paper. + + +Model builders +-------------- + +The following model builders can be used to instantiate a FCN model, with or +without pre-trained weights. All the model builders internally rely on the +``torchvision.models.segmentation.FCN`` base class. Please refer to the `source +code +`_ for +more details about this class. + +.. autosummary:: + :toctree: generated/ + :template: function.rst + + fcn_resnet50 + fcn_resnet101 diff --git a/docs/source/models_new.rst b/docs/source/models_new.rst index 43f0190f006..3a7b874841c 100644 --- a/docs/source/models_new.rst +++ b/docs/source/models_new.rst @@ -73,6 +73,7 @@ pre-trained weights: :maxdepth: 1 models/deeplabv3 + models/fcn Table of all available semantic segmentation weights diff --git a/torchvision/models/segmentation/fcn.py b/torchvision/models/segmentation/fcn.py index dddd50ae4b8..55b60f312d9 100644 --- a/torchvision/models/segmentation/fcn.py +++ b/torchvision/models/segmentation/fcn.py @@ -115,15 +115,30 @@ def fcn_resnet50( weights_backbone: Optional[ResNet50_Weights] = ResNet50_Weights.IMAGENET1K_V1, **kwargs: Any, ) -> FCN: - """Constructs a Fully-Convolutional Network model with a ResNet-50 backbone. + """Fully-Convolutional Network model with a ResNet-50 backbone from the `Fully Convolutional + Networks for Semantic Segmentation `_ paper. Args: - weights (FCN_ResNet50_Weights, optional): The pretrained weights for the model - progress (bool): If True, displays a progress bar of the download to stderr - num_classes (int, optional): number of output classes of the model (including the background) - aux_loss (bool, optional): If True, it uses an auxiliary loss - weights_backbone (ResNet50_Weights, optional): The pretrained weights for the backbone + weights (:class:`~torchvision.models.segmentation.FCN_ResNet50_Weights`, optional): The + pretrained weights to use. See + :class:`~torchvision.models.segmentation.FCN_ResNet50_Weights` below for + more details, and possible values. By default, no pre-trained + weights are used. + progress (bool, optional): If True, displays a progress bar of the + download to stderr. Default is True. + num_classes (int, optional): number of output classes of the model (including the background). + aux_loss (bool, optional): If True, it uses an auxiliary loss. + weights_backbone (:class:`~torchvision.models.ResNet50_Weights`, optional): The pretrained + weights for the backbone. + **kwargs: parameters passed to the ``torchvision.models.segmentation.fcn.FCN`` + base class. Please refer to the `source code + `_ + for more details about this class. + + .. autoclass:: torchvision.models.segmentation.FCN_ResNet50_Weights + :members: """ + weights = FCN_ResNet50_Weights.verify(weights) weights_backbone = ResNet50_Weights.verify(weights_backbone) @@ -156,15 +171,30 @@ def fcn_resnet101( weights_backbone: Optional[ResNet101_Weights] = ResNet101_Weights.IMAGENET1K_V1, **kwargs: Any, ) -> FCN: - """Constructs a Fully-Convolutional Network model with a ResNet-101 backbone. + """Fully-Convolutional Network model with a ResNet-101 backbone from the `Fully Convolutional + Networks for Semantic Segmentation `_ paper. Args: - weights (FCN_ResNet101_Weights, optional): The pretrained weights for the model - progress (bool): If True, displays a progress bar of the download to stderr - num_classes (int, optional): number of output classes of the model (including the background) - aux_loss (bool, optional): If True, it uses an auxiliary loss - weights_backbone (ResNet101_Weights, optional): The pretrained weights for the backbone + weights (:class:`~torchvision.models.segmentation.FCN_ResNet101_Weights`, optional): The + pretrained weights to use. See + :class:`~torchvision.models.segmentation.FCN_ResNet101_Weights` below for + more details, and possible values. By default, no pre-trained + weights are used. + progress (bool, optional): If True, displays a progress bar of the + download to stderr. Default is True. + num_classes (int, optional): number of output classes of the model (including the background). + aux_loss (bool, optional): If True, it uses an auxiliary loss. + weights_backbone (:class:`~torchvision.models.ResNet101_Weights`, optional): The pretrained + weights for the backbone. + **kwargs: parameters passed to the ``torchvision.models.segmentation.fcn.FCN`` + base class. Please refer to the `source code + `_ + for more details about this class. + + .. autoclass:: torchvision.models.segmentation.FCN_ResNet101_Weights + :members: """ + weights = FCN_ResNet101_Weights.verify(weights) weights_backbone = ResNet101_Weights.verify(weights_backbone)