Skip to content

docs: Added FCN to the new doc #5915

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
May 3, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions docs/source/models/fcn.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
FCN
===

.. currentmodule:: torchvision.models.segmentation

The FCN model is based on the `Fully Convolutional Networks for Semantic
Segmentation <https://arxiv.org/abs/1411.4038>`__
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
<https://github.com/pytorch/vision/blob/main/torchvision/models/segmentation/fcn.py>`_ for
more details about this class.

.. autosummary::
:toctree: generated/
:template: function.rst

fcn_resnet50
fcn_resnet101
1 change: 1 addition & 0 deletions docs/source/models_new.rst
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ pre-trained weights:
:maxdepth: 1

models/deeplabv3
models/fcn


Table of all available semantic segmentation weights
Expand Down
54 changes: 42 additions & 12 deletions torchvision/models/segmentation/fcn.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 <https://arxiv.org/abs/1411.4038>`_ 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
<https://github.com/pytorch/vision/blob/main/torchvision/models/segmentation/fcn.py>`_
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)

Expand Down Expand Up @@ -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 <https://arxiv.org/abs/1411.4038>`_ 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
<https://github.com/pytorch/vision/blob/main/torchvision/models/segmentation/fcn.py>`_
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)

Expand Down