+
     °³j#  ã                   óR  € ^ RI Ht ^ RIHtHt ^ RIHt ^RIHt ^RI	H
t
HtHt ^RIHt ^RIHtHtHt ^RIHtHtHtHtHt ^R	IHt . R&Ot ! R R
]4      t ! R R]P8                  4      tR]RR'RR/t ! R R]4      t ! R R]4      t R R lt!]
! 4       ]! R]PD                  3R]PF                  3R7      RRRRRRR RR!]PF                  /R" R# ll4       4       t$]
! 4       ]! R] PD                  3R]PF                  3R7      RRRRRRR RR!]PF                  /R$ R% ll4       4       t%R# )(é    )Úpartial)ÚAnyÚOptional)Únn)ÚSemanticSegmentation)Úregister_modelÚWeightsÚWeightsEnum)Ú_VOC_CATEGORIES)Ú_ovewrite_value_paramÚhandle_legacy_interfaceÚIntermediateLayerGetter)ÚResNetÚ	resnet101ÚResNet101_WeightsÚresnet50ÚResNet50_Weights)Ú_SimpleSegmentationModelÚFCNÚFCN_ResNet50_WeightsÚFCN_ResNet101_Weightsc                   ó   € ] tR t^tRtRtR# )r   a[  
Implements FCN model from
`"Fully Convolutional Networks for Semantic Segmentation"
<https://arxiv.org/abs/1411.4038>`_.

Args:
    backbone (nn.Module): the network used to compute the features for the model.
        The backbone should return an OrderedDict[Tensor], with the key being
        "out" for the last feature map used, and "aux" if an auxiliary classifier
        is used.
    classifier (nn.Module): module that takes the "out" element returned from
        the backbone and returns a dense prediction.
    aux_classifier (nn.Module, optional): auxiliary classifier used during training
© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   ó    Úd/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/models/segmentation/fcn.pyr   r      s   † ñó 	r    c                   ó>   a a€ ] tR t^$t oV3R lV 3R lltRtVtV ;t# )ÚFCNHeadc                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )é   Úin_channelsÚchannelsÚreturnN)Úint)ÚformatÚ__classdict__s   "€r!   Ú__annotate__ÚFCNHead.__annotate__%   s"   ø€ ÷ 
"ñ 
"¡Cð 
"±3ð 
"¸4ñ 
"r    c           	     ó  <€ V^,          p\         P                  ! W^^RR7      \         P                  ! V4      \         P                  ! 4       \         P                  ! R4      \         P                  ! W2^4      .p\
        SV `  ! V!   R# )é   F)ÚpaddingÚbiasgš™™™™™¹?N)r   ÚConv2dÚBatchNorm2dÚReLUÚDropoutÚsuperÚ__init__)Úselfr&   r'   Úinter_channelsÚlayersÚ	__class__s   &&&  €r!   r7   ÚFCNHead.__init__%   sc   ø€ Ø$¨Õ)ˆä�IŠI�k°1¸aÀeÔLÜ�NŠN˜>Ó*Ü�GŠG‹IÜ�JŠJ�s‹OÜ�IŠI�n°Ó2ð
ˆô 	‰Ò˜&Ô!r    r   )r   r   r   r   r7   r   Ú__classdictcell__Ú__classcell__)r;   r+   s   @@r!   r#   r#   $   s   ù‡ € ÷
"÷ 
"ó 
"r    r#   Ú
categoriesÚmin_sizeÚ_docszŽ
        These weights were trained on a subset of COCO, using only the 20 categories that are present in the Pascal VOC
        dataset.
    c                   óh   € ] tR t^<t]! R]! ]RR7      / ]CRRRRRR	R
RRR//RRRR/CR7      t]t	Rt
R# )r   zBhttps://download.pytorch.org/models/fcn_resnet50_coco-1167a1af.pthé  ©Úresize_sizeÚ
num_paramsijùÚrecipezPhttps://github.com/pytorch/vision/tree/main/references/segmentation#fcn_resnet50Ú_metricsúCOCO-val2017-VOC-labelsÚmioug     @N@Ú	pixel_accgš™™™™ÙV@Ú_opsgmçû©ñc@Ú
_file_sizeg?5^ºIà`@©ÚurlÚ
transformsÚmetar   N©r   r   r   r   r	   r   r   Ú_COMMON_METAÚCOCO_WITH_VOC_LABELS_V1ÚDEFAULTr   r   r    r!   r   r   <   se   † Ù%ØPÙÐ/¸SÔAð
Øð
à˜(ØÐhØØ)Ø˜DØ ð,ðð �GØ˜'ñ
ôÐð" &„Gr    c                   óh   € ] tR t^Qt]! R]! ]RR7      / ]CRRRRRR	R
RRR//RRRR/CR7      t]t	Rt
R# )r   zChttps://download.pytorch.org/models/fcn_resnet101_coco-7ecb50ca.pthrC   rD   rF   ijÅ<rG   zWhttps://github.com/pytorch/vision/tree/main/references/segmentation#deeplabv3_resnet101rH   rI   rJ   gš™™™™ÙO@rK   gš™™™™ùV@rL   gV-²�m@rM   g˜nƒÀöi@rN   r   NrR   r   r    r!   r   r   Q   se   † Ù%ØQÙÐ/¸SÔAð
Øð
à˜(ØÐoØØ)Ø˜DØ ð,ðð �GØ˜'ñ
ôÐð" &„Gr    c                ó^   € V ^8„  d   QhR\         R\        R\        \        ,          R\        /# )r%   ÚbackboneÚnum_classesÚauxr(   )r   r)   r   Úboolr   )r*   s   "r!   r,   r,   f   s4   € ÷ 5ñ 5Üð5äð5ô 
”$�ð5ô 	ñ	5r    c                 ó˜   € R R/pV'       d   RVR&   \        WR7      p V'       d   \        RV4      MRp\        RV4      p\        WV4      # )Úlayer4ÚoutrZ   Úlayer3)Úreturn_layersi   Ni   )r   r#   r   )rX   rY   rZ   r`   Úaux_classifierÚ
classifiers   &&&   r!   Ú_fcn_resnetrc   f   sN   € ð
 ˜uÐ%€Mß
Ø"'ˆ�hÑÜ& xÔM€Hç36”W˜T ;Ô/¸D€NÜ˜˜{Ó+€JÜˆx ^Ó4Ð4r    Ú
pretrainedÚpretrained_backbone)ÚweightsÚweights_backbonerf   NÚprogressTrY   Úaux_lossrg   c                óÄ   € V ^8„  d   QhR\         \        ,          R\        R\         \        ,          R\         \        ,          R\         \        ,          R\
        R\        /# ©r%   rf   rh   rY   ri   rg   Úkwargsr(   )r   r   r[   r)   r   r   r   )r*   s   "r!   r,   r,   z   sd   € ÷ 3ñ 3äÔ*Õ+ð3ô ð3ô œ#•ð	3ô
 ”t�nð3ô Ô/Õ0ð3ô ð3ô 	ñ3r    c                ó`  € \         P                  V 4      p \        P                  ! V4      pV e8   Rp\        RV\	        V P
                  R,          4      4      p\        RVR4      pMVf   ^p\        V. ROR7      p\        WbV4      pV e#   VP                  V P                  VRR7      4       V# )	a  Fully-Convolutional Network model with a ResNet-50 backbone from the `Fully Convolutional
Networks for Semantic Segmentation <https://arxiv.org/abs/1411.4038>`_ paper.

.. betastatus:: segmentation module

Args:
    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:
NrY   r?   ri   T©rf   Úreplace_stride_with_dilation©rh   Ú
check_hash©FTT)
r   Úverifyr   r   ÚlenrQ   r   rc   Úload_state_dictÚget_state_dict©rf   rh   rY   ri   rg   rl   rX   Úmodels   $$$$$,  r!   Úfcn_resnet50ry   u   s­   € ôP #×)Ñ)¨'Ó2€GÜ'×.Ò.Ð/?Ó@ÐàÒØÐÜ+¨M¸;ÌÈGÏLÉLÐYeÕLfÓHgÓhˆÜ(¨°X¸tÓD‰Ø	Ò	ØˆäÐ 0ÒObÔc€HÜ˜¨xÓ8€EàÒØ×Ñ˜g×4Ñ4¸hÐSWÐ4ÓXÔYà€Lr    c                óÄ   € V ^8„  d   QhR\         \        ,          R\        R\         \        ,          R\         \        ,          R\         \        ,          R\
        R\        /# rk   )r   r   r[   r)   r   r   r   )r*   s   "r!   r,   r,   µ   sd   € ÷ 3ñ 3äÔ+Õ,ð3ô ð3ô œ#•ð	3ô
 ”t�nð3ô Ô0Õ1ð3ô ð3ô 	ñ3r    c                ó`  € \         P                  V 4      p \        P                  ! V4      pV e8   Rp\        RV\	        V P
                  R,          4      4      p\        RVR4      pMVf   ^p\        V. ROR7      p\        WbV4      pV e#   VP                  V P                  VRR7      4       V# )	a  Fully-Convolutional Network model with a ResNet-101 backbone from the `Fully Convolutional
Networks for Semantic Segmentation <https://arxiv.org/abs/1411.4038>`_ paper.

.. betastatus:: segmentation module

Args:
    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:
NrY   r?   ri   Trn   rp   rr   )
r   rs   r   r   rt   rQ   r   rc   ru   rv   rw   s   $$$$$,  r!   Úfcn_resnet101r|   °   s­   € ôP $×*Ñ*¨7Ó3€GÜ(×/Ò/Ð0@ÓAÐàÒØÐÜ+¨M¸;ÌÈGÏLÉLÐYeÕLfÓHgÓhˆÜ(¨°X¸tÓD‰Ø	Ò	ØˆäÐ!1ÒPcÔd€HÜ˜¨xÓ8€EàÒØ×Ñ˜g×4Ñ4¸hÐSWÐ4ÓXÔYà€Lr    )r   r   r   ry   r|   )é   r}   )&Ú	functoolsr   Útypingr   r   Útorchr   Útransforms._presetsr   Ú_apir   r	   r
   Ú_metar   Ú_utilsr   r   r   Úresnetr   r   r   r   r   r   Ú__all__r   Ú
Sequentialr#   rS   r   r   rc   rT   ÚIMAGENET1K_V1ry   r|   r   r    r!   Ú<module>r‰      sy  ðÝ ß  å å 7ß 7Ñ 7Ý #ß \Ñ \ß UÕ UÝ ,ò d€ô	Ð
"ô 	ô&"ˆb�m‰mô "ð �/Ø�Øð ð€ô&˜;ô &ô*&˜Kô &õ*5ñ ÓÙØÐ/×GÑGÐHØ+Ð-=×-KÑ-KÐLôð3à.2ð3ð ð3ð "&ð	3ð
  $ð3ð 4D×3QÑ3Qö3ó	ó ð
3ñl ÓÙØÐ0×HÑHÐIØ+Ð->×-LÑ-LÐMôð3à/3ð3ð ð3ð "&ð	3ð
  $ð3ð 5F×4SÑ4Sö3ó	ó ò
3r    