+
     °³j—3  ã                   ób  € ^ RI t ^ RIHt ^ RIHt ^ RIHtHtHtH	t	 ^ RI
t
^ RI
HtHt ^RIHt ^RI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 ^RIHtH t  ^RIHt! ^RI"H#t# ^RI$H%t% ^RI&H't'H(t( RR.t)R R lt*R R lt+R R lt, ! R R]PZ                  4      t. ! R R](4      t/ ! R R](4      t0 ! R  R!]PZ                  4      t1R" R# lt2 ! R$ R]4      t3]! 4       ]! R%]3Ph                  3R&] Pj                  3R'7      R(RR)R*R+RR,] Pj                  R-RR.R/R/ R0 ll4       4       t6R# )1é    N)ÚOrderedDict)Úpartial)ÚAnyÚCallableÚOptionalÚUnion)ÚnnÚTensor)ÚConv2dNormActivation)ÚObjectDetection)Ú_log_api_usage_once)Ú	mobilenet)Úregister_modelÚWeightsÚWeightsEnum)Ú_COCO_CATEGORIES)Ú_ovewrite_value_paramÚhandle_legacy_interface)Úmobilenet_v3_largeÚMobileNet_V3_Large_Weights)Ú_utils)ÚDefaultBoxGenerator)Ú_validate_trainable_layers)ÚSSDÚSSDScoringHeadÚ%SSDLite320_MobileNet_V3_Large_WeightsÚssdlite320_mobilenet_v3_largec          
      ó–   € V ^8„  d   QhR\         R\         R\         R\        R\        P                  3,          R\        P                  /# )é   Úin_channelsÚout_channelsÚkernel_sizeÚ
norm_layer.Úreturn©Úintr   r	   ÚModuleÚ
Sequential)Úformats   "Úe/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/models/detection/ssdlite.pyÚ__annotate__r+      sJ   € ÷ ñ ÜðÜ$'ðÜ69ðÜGOÐPSÔUW×U^ÑU^ÐP^ÕG_ðä‡]�]ñó    c                 ó”   € \         P                  ! \        V V VV V\         P                  R 7      \         P                  ! W^4      4      # ))r"   Úgroupsr#   Úactivation_layer)r	   r(   r   ÚReLU6ÚConv2d)r    r!   r"   r#   s   &&&&r*   Ú_prediction_blockr2      sC   € ô �=Š=äØØØ#ØØ!ÜŸX™Xô	
ô 	�	Š	�+¨QÓ/óð r,   c                óŠ   € V ^8„  d   QhR\         R\         R\        R\        P                  3,          R\        P                  /# )r   r    r!   r#   .r$   r%   )r)   s   "r*   r+   r+   0   s?   € ÷ ñ œcð ´ð Ä(È3ÔPR×PYÑPYÈ>ÕBZð Ô_a×_lÑ_lñ r,   c                 ó´   € \         P                  pV^,          p\         P                  ! \        W^W#R7      \        VV^^VVVR7      \        WA^W#R7      4      # )r   )r"   r#   r/   )r"   Ústrider.   r#   r/   )r	   r0   r(   r   )r    r!   r#   Ú
activationÚintermediate_channelss   &&&  r*   Ú_extra_blockr8   0   sf   € Ü—‘€JØ(¨AÕ-ÐÜ�=Š=äØ¸AÈ*ô	
ô 	Ø!Ø!ØØØ(Ø!Ø'ô	
ô 	Ø!¸QÈ:ô	
ó!ð r,   c                ó8   € V ^8„  d   QhR\         P                  /# )r   Úconv)r	   r'   )r)   s   "r*   r+   r+   I   s   € ÷ 9ñ 9”r—y‘yñ 9r,   c                 ól  € V P                  4        FŸ  p\        V\        P                  4      '       g   K%  \        P                  P
                  P                  VP                  R RR7       VP                  f   Kk  \        P                  P
                  P                  VP                  R 4       K¡  	  R# )g        ç¸…ëQ¸ž?)ÚmeanÚstdN)
ÚmodulesÚ
isinstancer	   r1   ÚtorchÚinitÚnormal_ÚweightÚbiasÚ	constant_)r:   Úlayers   & r*   Ú_normal_initrH   I   sj   € Ø—‘–ˆÜ�eœRŸY™Y×'Ô'Ü�H‰H�M‰M×!Ñ! %§,¡,°S¸dÐ!ÔCØ�z‰zÔ%Ü—‘—‘×'Ñ'¨¯
©
°CÖ8ó	  r,   c                   óP   a a€ ] tR t^Qt oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚSSDLiteHeadc          
      óz   <€ V ^8„  d   QhRS[ S[,          RS[ S[,          RS[RS[RS[P                  3,          /# ©r   r    Únum_anchorsÚnum_classesr#   .©Úlistr&   r   r	   r'   )r)   Ú__classdict__s   "€r*   r+   ÚSSDLiteHead.__annotate__R   sM   ø€ ÷ [ñ [Ù¡�9ð[Ù37¹µ9ð[ÙKNð[Ù\dÐehÑjl×jsÑjsÐesÕ\tñ[r,   c                óh   <€ \         SV `  4        \        WW44      V n        \	        WV4      V n        R # ©N)ÚsuperÚ__init__ÚSSDLiteClassificationHeadÚclassification_headÚSSDLiteRegressionHeadÚregression_head)Úselfr    rM   rN   r#   Ú	__class__s   &&&&&€r*   rV   ÚSSDLiteHead.__init__R   s/   ø€ ô 	‰ÑÔÜ#<¸[ÐWbÓ#oˆÔ Ü4°[ÈzÓZˆÖr,   c                óL   <€ V ^8„  d   QhRS[ S[,          RS[S[S[3,          /# ©r   Úxr$   )rP   r
   ÚdictÚstr)r)   rQ   s   "€r*   r+   rR   Y   s(   ø€ ÷ 
ñ 
™™f�ð 
©$©s±F¨{Õ*;ñ 
r,   c                óJ   € R V P                  V4      RV P                  V4      /# )Úbbox_regressionÚ
cls_logits)rZ   rX   )r[   r`   s   &&r*   ÚforwardÚSSDLiteHead.forwardY   s,   € à˜t×3Ñ3°AÓ6Ø˜$×2Ñ2°1Ó5ð
ð 	
r,   )rX   rZ   ©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rV   rf   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r\   rQ   s   @@r*   rJ   rJ   Q   s    ù‡ € ÷[ó [÷
÷ 
ð 
r,   rJ   c                   ó>   a a€ ] tR t^`t oV3R lV 3R lltRtVtV ;t# )rW   c          
      óz   <€ V ^8„  d   QhRS[ S[,          RS[ S[,          RS[RS[RS[P                  3,          /# rL   rO   )r)   rQ   s   "€r*   r+   Ú&SSDLiteClassificationHead.__annotate__a   sG   ø€ ÷ 2ñ 2Ù¡�9ð2Ù37¹µ9ð2ÙKNð2Ù\dÐehÑjl×jsÑjsÐesÕ\tñ2r,   c           	     óÔ   <€ \         P                  ! 4       p\        W4       F(  w  rgVP                  \	        WcV,          ^V4      4       K*  	  \        V4       \        SV `  WS4       R# )é   N©r	   Ú
ModuleListÚzipÚappendr2   rH   rU   rV   )	r[   r    rM   rN   r#   re   ÚchannelsÚanchorsr\   s	   &&&&&   €r*   rV   Ú"SSDLiteClassificationHead.__init__a   sV   ø€ ô —]’]“_ˆ
Ü!$ [Ö!>ÑˆHØ×ÑÔ/°ÈÕ:OÐQRÐT^Ó_Ö`ñ "?ä�ZÔ Ü‰Ñ˜Ö1r,   © ©ri   rj   rk   rl   rV   rm   rn   ro   rp   s   @@r*   rW   rW   `   s   ù‡ € ÷2÷ 2ó 2r,   rW   c                   ó>   a a€ ] tR t^kt oV3R lV 3R lltRtVtV ;t# )rY   c                ót   <€ V ^8„  d   QhRS[ S[,          RS[ S[,          RS[RS[P                  3,          /# )r   r    rM   r#   .rO   )r)   rQ   s   "€r*   r+   Ú"SSDLiteRegressionHead.__annotate__l   s=   ø€ ÷ &ñ &¡D©¥Ið &¹DÁ½Ið &ÑS[Ð\_Ñac×ajÑajÐ\jÕSkñ &r,   c           	     óØ   <€ \         P                  ! 4       p\        W4       F)  w  rVVP                  \	        V^V,          ^V4      4       K+  	  \        V4       \        SV `  V^4       R# )é   Nrv   )r[   r    rM   r#   Úbbox_regrz   r{   r\   s   &&&&   €r*   rV   ÚSSDLiteRegressionHead.__init__l   sS   ø€ Ü—=’=“?ˆÜ!$ [Ö!>ÑˆHØ�O‰OÔ-¨h¸¸G½ÀQÈ
ÓSÖTñ "?ä�XÔÜ‰Ñ˜ 1Ö%r,   r}   r~   rp   s   @@r*   rY   rY   k   s   ù‡ € ÷&÷ &ó &r,   rY   c                   óT   a a€ ] tR t^tt oRV3R lV 3R llltV3R lR ltRtVtV ;t# )Ú SSDLiteFeatureExtractorMobileNetc          
      ót   <€ V ^8„  d   QhRS[ P                  RS[RS[RS[ P                  3,          RS[RS[/# )r   ÚbackboneÚc4_posr#   .Ú
width_multÚ	min_depth)r	   r'   r&   r   Úfloat)r)   rQ   s   "€r*   r+   Ú-SSDLiteFeatureExtractorMobileNet.__annotate__u   sN   ø€ ÷ ñ á—)‘)ðñ ðñ ˜S¡"§)¡)˜^Õ,ð	ñ
 ðñ ñr,   c                ó¼  <aa€ \         SV `  4        \        V 4       W,          P                  '       d   \	        R 4      h\
        P                  ! \
        P                  ! . VRV OW,          P                  ^ ,          N5!  \
        P                  ! W,          P                  R,          .W^,           R O5!  4      V n        VV3R lp\
        P                  ! \        VR,          P                  V! R4      V4      \        V! R4      V! R4      V4      \        V! R4      V! R4      V4      \        V! R4      V! ^€4      V4      .4      p\        V4       Wpn        R# )z0backbone[c4_pos].use_res_connect should be FalseN:é   NNc                 ó<   <€ \        S\        V S,          4      4      # rT   )Úmaxr&   )ÚdrŒ   r‹   s   &€€r*   Ú<lambda>Ú;SSDLiteFeatureExtractorMobileNet.__init__.<locals>.<lambda>‰   s   ø€ œc )¬S°°ZµÓ-@ÔAr,   i   é   éÿÿÿÿ)rU   rV   r   Úuse_res_connectÚ
ValueErrorr	   r(   ÚblockÚfeaturesrw   r8   r!   rH   Úextra)	r[   r‰   rŠ   r#   r‹   rŒ   Ú	get_depthrœ   r\   s	   &&&&ff  €r*   rV   Ú)SSDLiteFeatureExtractorMobileNet.__init__u   s  ú€ ô 	‰ÑÔÜ˜DÔ!àÕ×+×+Ð+ÜÐOÓPÐPäŸšä�MŠMÐH˜8 G VÐ,ÐH¨hÕ.>×.DÑ.DÀQÕ.GÓHÜ�MŠM˜(Õ*×0Ñ0°Õ4ÐN°xÈÅ
ÀÐ7MÓNó
ˆŒõ Bˆ	Ü—’ä˜X b�\×6Ñ6¹	À#»È
ÓSÜ™Y s›^©Y°s«^¸ZÓHÜ™Y s›^©Y°s«^¸ZÓHÜ™Y s›^©Y°s«^¸ZÓHð	ó
ˆô 	�UÔàŽ
r,   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# r_   )r
   ra   rb   )r)   rQ   s   "€r*   r+   rŽ   –   s(   ø€ ÷ Hñ H™ð H¡D©©f¨Õ$5ñ Hr,   c           	     ó(  € . pV P                    F  pV! V4      pVP                  V4       K  	  V P                   F  pV! V4      pVP                  V4       K  	  \        \	        V4       UUu. uF  w  rE\        V4      V3NK  	  upp4      # u uppi rT   )r›   ry   rœ   r   Ú	enumeraterb   )r[   r`   Úoutputrš   ÚiÚvs   &&    r*   rf   Ú(SSDLiteFeatureExtractorMobileNet.forward–   s   € àˆØ—]”]ˆEÙ�a“ˆAØ�M‰M˜!Öñ #ð —Z”ZˆEÙ�a“ˆAØ�M‰M˜!Öñ  ô ´I¸fÔ4EÔFÑ4E©D¨AœS ›V Q›KÑ4EÒFÓGÐGùÓFs   Á.B
)rœ   r›   )g      ð?é   rh   rp   s   @@r*   r‡   r‡   t   s"   ù‡ € ÷õ ÷BH÷ Hð Hr,   r‡   c                ó´   € V ^8„  d   QhR\         \        P                  \        P                  3,          R\        R\
        R\        P                  3,          /# )r   r‰   Útrainable_layersr#   .)r   r   ÚMobileNetV2ÚMobileNetV3r&   r   r	   r'   )r)   s   "r*   r+   r+   ¤   sN   € ÷ Uñ UÜ”I×)Ñ)¬9×+@Ñ+@Ð@ÕAðUäðUô ˜œbŸi™i˜Õ(ñUr,   c           
      óì  € V P                   p ^ .\        V 4       UUu. uF  w  r4\        VRR4      '       g   K  VNK  	  upp,           \        V 4      ^,
          .,           p\        V4      p^ Tu;8:  d   V8:  g   M \	        R4      hV^ 8X  d   \        V 4      MWVV,
          ,          pV RV  F+  pVP                  4        F  pVP                  R4       K  	  K-  	  \        WR,          V4      # u uppi )r   Ú_is_cnFzYtrainable_layers should be in the range [0, {num_stages}], instead got {trainable_layers}Néþÿÿÿ)r›   r¡   ÚgetattrÚlenr™   Ú
parametersÚrequires_grad_r‡   )	r‰   r¨   r#   r£   ÚbÚstage_indicesÚ
num_stagesÚfreeze_beforeÚ	parameters	   &&&      r*   Ú_mobilenet_extractorr·   ¤   sâ   € ð
 × Ñ €Hð �C¬°8Ô)<Ô\Ñ)<¡ ÄÈÈ8ÐUZ×@[Ÿ1˜1Ñ)<Ò\Õ\Ô`cÐdlÓ`mÐpqÕ`qÐ_rÕr€MÜ�]Ó#€Jð Ð Ö. JÖ.ÜÐtÓuÐuØ%5¸Ô%:”C˜”MÀÐ[kÕNkÕ@l€Mà�n�}Ó%ˆØŸ™žˆIØ×$Ñ$ UÖ+ó (ñ &ô ,¨HÀBÕ6GÈÓTÐTùó ]s
   �C0¹C0c                   óX   € ] tR t^»t]! R]RRR]RRRRRR	R
R//RRRRRR/R7      t]tRt	R# )r   zShttps://download.pytorch.org/models/ssdlite320_mobilenet_v3_large_coco-a79551df.pthÚ
num_paramsi¼}4 Ú
categoriesÚmin_sizeÚrecipez]https://github.com/pytorch/vision/tree/main/references/detection#ssdlite320-mobilenetv3-largeÚ_metricszCOCO-val2017Úbox_mapgÍÌÌÌÌL5@Ú_opsg-²�ï§â?Ú
_file_sizeg¼t“Ö*@Ú_docszSThese weights were produced by following a similar training recipe as on the paper.)ÚurlÚ
transformsÚmetar}   N)r�   r�   )
ri   rj   rk   rl   r   r   r   ÚCOCO_V1ÚDEFAULTrm   r}   r,   r*   r   r   »   s[   † ÙØaØ"à˜'ØÐ*Ø˜ØÐuØØØ˜tð!ðð
 �EØ˜&ØÐnð
ô€Gð$ „Gr,   Ú
pretrainedÚpretrained_backbone)ÚweightsÚweights_backbonerÉ   ÚprogressTrN   rÊ   Útrainable_backbone_layersr#   c                ó  € V ^8„  d   QhR\         \        ,          R\        R\         \        ,          R\         \        ,          R\         \        ,          R\         \
        R\        P                  3,          ,          R\        R	\        /# )
r   rÉ   rË   rN   rÊ   rÌ   r#   .Úkwargsr$   )
r   r   Úboolr&   r   r   r	   r'   r   r   )r)   s   "r*   r+   r+   Ö   sŠ   € ÷ uñ uäÔ;Õ<ðuô ðuô œ#•ð	uô
 Ô9Õ:ðuô  (¬�}ðuô œ #¤r§y¡y .Õ1Õ2ðuô ðuô 	ñur,   c                óÚ  € \         P                  V 4      p \        P                  ! V4      pRV9   d   \        P                  ! R4       V e+   Rp\        RV\        V P                  R,          4      4      pMVf   ^[p\        V RJ;'       g    VRJV^^4      pVRJ pVf   \        \        P                  RRR7      p\        RR	VR
VRVRV/VB pVf   \        V4       \        VVV4      pRp	\        \!        ^4       U
u. uF  p
^^.NK	  	  up
RRR7      p\"        P$                  ! W‰4      pVP'                  4       p\        V4      \        VP(                  4      8w  d.   \+        R\        V4       R\        VP(                  4       24      hRRRRRRRRR. ROR. RO/p/ VCVCp\-        VVV	V3R\/        WÍW%4      /VB pV e#   VP1                  V P3                  VRR7      4       V# u up
i ) a  SSDlite model architecture with input size 320x320 and a MobileNetV3 Large backbone, as
described at `Searching for MobileNetV3 <https://arxiv.org/abs/1905.02244>`__ and
`MobileNetV2: Inverted Residuals and Linear Bottlenecks <https://arxiv.org/abs/1801.04381>`__.

.. betastatus:: detection module

See :func:`~torchvision.models.detection.ssd300_vgg16` for more details.

Example:

    >>> model = torchvision.models.detection.ssdlite320_mobilenet_v3_large(weights=SSDLite320_MobileNet_V3_Large_Weights.DEFAULT)
    >>> model.eval()
    >>> x = [torch.rand(3, 320, 320), torch.rand(3, 500, 400)]
    >>> predictions = model(x)

Args:
    weights (:class:`~torchvision.models.detection.SSDLite320_MobileNet_V3_Large_Weights`, optional): The
        pretrained weights to use. See
        :class:`~torchvision.models.detection.SSDLite320_MobileNet_V3_Large_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).
    weights_backbone (:class:`~torchvision.models.MobileNet_V3_Large_Weights`, optional): The pretrained
        weights for the backbone.
    trainable_backbone_layers (int, optional): number of trainable (not frozen) layers
        starting from final block. Valid values are between 0 and 6, with 6 meaning all
        backbone layers are trainable. If ``None`` is passed (the default) this value is
        set to 6.
    norm_layer (callable, optional): Module specifying the normalization layer to use.
    **kwargs: parameters passed to the ``torchvision.models.detection.ssd.SSD``
        base class. Please refer to the `source code
        <https://github.com/pytorch/vision/blob/main/torchvision/models/detection/ssdlite.py>`_
        for more details about this class.

.. autoclass:: torchvision.models.detection.SSDLite320_MobileNet_V3_Large_Weights
    :members:
Úsizez?The size of the model is already fixed; ignoring the parameter.NrN   rº   gü©ñÒMbP?r<   )ÚepsÚmomentumrÉ   rË   r#   Úreduced_tailgš™™™™™É?gffffffî?)Ú	min_ratioÚ	max_ratioz4The length of the output channels from the backbone z? do not match the length of the anchor generator aspect ratios Úscore_threshÚ
nms_threshgš™™™™™á?Údetections_per_imgi,  Útopk_candidatesÚ
image_meanÚ	image_stdÚheadT)rË   Ú
check_hashr}   )é@  rß   )ç      à?rà   rà   )r   Úverifyr   ÚwarningsÚwarnr   r¯   rÄ   r   r   r	   ÚBatchNorm2dr   rH   r·   r   ÚrangeÚ	det_utilsÚretrieve_out_channelsÚnum_anchors_per_locationÚaspect_ratiosr™   r   rJ   Úload_state_dictÚget_state_dict)rÉ   rË   rN   rÊ   rÌ   r#   rÎ   Úreduce_tailr‰   rÑ   Ú_Úanchor_generatorr!   rM   ÚdefaultsÚmodels   $$$$$$,         r*   r   r   Ñ   sg  € ôp 4×:Ñ:¸7ÓC€GÜ1×8Ò8Ð9IÓJÐà�ÔÜ�ŠÐWÔXàÒØÐÜ+¨M¸;ÌÈGÏLÉLÐYeÕLfÓHgÓh‰Ø	Ò	Øˆä :Ø�tÐ×;Ð;Ð/°tÐ;Ð=VÐXYÐ[\ó!Ðð
 # dÐ*€KàÒÜœRŸ^™^°ÀÔFˆ
ä!ñ Ø ðØ+3ðØ@JðØYdðØhnñ€Hð Òä�XÔÜ#ØØ!Øó€Hð €DÜ*¼EÀ!¼HÓ+E¹H°q¨Q°«F¹HÑ+EÐQTÐ`dÔeÐÜ×2Ò2°8ÓB€LØ"×;Ñ;Ó=€KÜ
ˆ<ÓœCÐ 0× >Ñ >Ó?Ô?ÜØBÄ3À|ÓCTÐBUð  VUô  VYð  Zj÷  Zxñ  Zxó  Vyð  Uzð  {ó
ð 	
ð
 	˜Ø�dØ˜cØ˜3ð 	’oØ’_ð	€Hð )�XÐ( Ð(€FÜØØØØñ	ô
 ˜°KÓLðð ñ€Eð ÒØ×Ñ˜g×4Ñ4¸hÐSWÐ4ÓXÔYà€Lùò? ,Fs   Ä G()7râ   Úcollectionsr   Ú	functoolsr   Útypingr   r   r   r   rA   r	   r
   Úops.miscr   Útransforms._presetsr   Úutilsr   Ú r   Ú_apir   r   r   Ú_metar   r   r   r   Úmobilenetv3r   r   ræ   Úanchor_utilsr   Úbackbone_utilsr   Ússdr   r   Ú__all__r2   r8   rH   r'   rJ   rW   rY   r‡   r·   r   rÅ   ÚIMAGENET1K_V1r   r}   r,   r*   Ú<module>r      s7  ðÛ Ý #Ý ß 1Ó 1ã ß å ,Ý 2Ý (Ý ß 7Ñ 7Ý $ß Cß HÝ !Ý -Ý 6ß $ð ,Ø#ð€õõ$õ29ô
�"—)‘)ô 
ô2 ô 2ô&˜Nô &ô-H r§y¡yô -Hõ`Uô.¨Kô ñ, ÓÙØÐ@×HÑHÐIØ+Ð-G×-UÑ-UÐVôðuà?Cðuð ðuð "&ð	uð
 >X×=eÑ=eðuð 04ðuð 6:öuó	ó ò
ur,   