+
     °³j($  ã                   ó„  € ^ RI Ht ^ RIHtHtHt ^ RIt^ RIHtHt ^ RI	H
t
Ht ^RIHt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HtHtHt ^RI H!t!H"t" . R#Ot# ! R R]4      t$ ! R R]4      t% ! R R]4      t&R R lt' ! R R]4      t(]! RR7      ]! RR 3R7      RRRRRR /R! R" ll4       4       t)R# )$é    )Úpartial)ÚAnyÚOptionalÚUnionN)ÚnnÚTensor)ÚDeQuantStubÚ	QuantStub)ÚConv2dNormActivationÚSqueezeExcitation)ÚImageClassification)Úregister_modelÚWeightsÚWeightsEnum)Ú_IMAGENET_CATEGORIES)Ú_ovewrite_named_paramÚhandle_legacy_interface)Ú_mobilenet_v3_confÚInvertedResidualÚInvertedResidualConfigÚMobileNet_V3_Large_WeightsÚMobileNetV3)Ú_fuse_modulesÚ_replace_reluÚQuantizableMobileNetV3Ú#MobileNet_V3_Large_QuantizedWeightsc                   óv   a a€ ] tR t^t o^tV3R lV 3R lltV3R lR ltR	V3R lR lltV 3R ltRt	Vt
V ;t# )
ÚQuantizableSqueezeExcitationc                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# ©é   ÚargsÚkwargsÚreturnN©r   )ÚformatÚ__classdict__s   "€Úl/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/models/quantization/mobilenetv3.pyÚ__annotate__Ú)QuantizableSqueezeExcitation.__annotate__!   s"   ø€ ÷ 7ñ 7™cð 7©Sð 7°Tñ 7ó    c                ó”   <€ \         P                  VR &   \        SV `  ! V/ VB  \         P                  P                  4       V n        R# )Úscale_activationN)r   ÚHardsigmoidÚsuperÚ__init__Ú	quantizedÚFloatFunctionalÚskip_mul©Úselfr"   r#   Ú	__class__s   &*,€r(   r0   Ú%QuantizableSqueezeExcitation.__init__!   s8   ø€ Ü%'§^¡^ˆÐ!Ñ"Ü‰Ò˜$Ð) &Ò)ÜŸ™×4Ñ4Ó6ˆŽr+   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r!   Úinputr$   ©r   )r&   r'   s   "€r(   r)   r*   &   s   ø€ ÷ <ñ <™Vð <©ñ <r+   c                óX   € V P                   P                  V P                  V4      V4      # ©N)r3   ÚmulÚ_scale)r5   r9   s   &&r(   ÚforwardÚ$QuantizableSqueezeExcitation.forward&   s"   € Ø�}‰}× Ñ  §¡¨UÓ!3°UÓ;Ð;r+   c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# ©r!   Úis_qatr$   N©r   Úbool)r&   r'   s   "€r(   r)   r*   )   s#   ø€ ÷ Iñ I¡©$¥ð I¸4ñ Ir+   c                ó(   € \        V R R.VRR7       R# )Úfc1Ú
activationT©ÚinplaceN)r   )r5   rC   s   &&r(   Ú
fuse_modelÚ'QuantizableSqueezeExcitation.fuse_model)   s   € Ü�d˜U LÐ1°6À4×Hr+   c                óB  <€ VP                  R R4      p\        V R4      '       då   Ve   V^8  dÚ   R\        P                  ! R.4      R\        P                  ! R.4      R\        P                  ! ^ .\        P                  R7      R\        P                  ! ^ .\        P                  R7      R	\        P                  ! ^.4      R
\        P                  ! ^.4      /p	V	P                  4        F  w  r«W*,           pWÁ9  g   K  W±V&   K  	  \        SV `  VVVVVVV4       R# )ÚversionNÚqconfigz.scale_activation.activation_post_process.scaleg      ð?zFscale_activation.activation_post_process.activation_post_process.scalez3scale_activation.activation_post_process.zero_point)ÚdtypezKscale_activation.activation_post_process.activation_post_process.zero_pointz;scale_activation.activation_post_process.fake_quant_enabledz9scale_activation.activation_post_process.observer_enabled)ÚgetÚhasattrÚtorchÚtensorÚint32Úitemsr/   Ú_load_from_state_dict)r5   Ú
state_dictÚprefixÚlocal_metadataÚstrictÚmissing_keysÚunexpected_keysÚ
error_msgsrN   Údefault_state_dictÚkÚvÚfull_keyr6   s   &&&&&&&&     €r(   rW   Ú2QuantizableSqueezeExcitation._load_from_state_dict,   s  ø€ ð !×$Ñ$ Y°Ó5ˆä�4˜×#Ò#¨ª¸GÀa¼Kà@Ä%Ç,Â,ÐPSÈuÓBUØXÔZ_×ZfÒZfÐhkÐglÓZmØEÄuÇ|Â|ÐUVÐTWÔ_d×_jÑ_jÔGkØ]Ô_d×_kÒ_kØ�CœuŸ{™{ô`ð NÌuÏ|Ê|Ð]^Ð\_ÓO`ØKÌUÏ\Ê\Ð[\ÐZ]ÓM^ð	"Ðð +×0Ñ0Ö2‘�Ø!�:�ØÖ-Ø+,˜xÓ(ñ 3ô
 	‰Ñ%ØØØØØØØö	
r+   )r3   r<   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú_versionr0   r?   rK   rW   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r6   r'   s   @@r(   r   r      s4   ù‡ € Ø€H÷7ó 7÷
<ð <÷Iò I÷$
õ $
r+   r   c                   óP   a a€ ] tR t^St oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚQuantizableInvertedResidualc                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# r    r%   )r&   r'   s   "€r(   r)   Ú(QuantizableInvertedResidual.__annotate__U   s"   ø€ ÷ 7ñ 7™cð 7©Sð 7°Tñ 7r+   c                óz   <€ \         SV `  ! VR \        /VB  \        P                  P                  4       V n        R# )Úse_layerN)r/   r0   r   r   r1   r2   Úskip_addr4   s   &*,€r(   r0   Ú$QuantizableInvertedResidual.__init__U   s/   ø€ Ü‰Ò˜$ÐPÔ)EÐPÈÒPÜŸ™×4Ñ4Ó6ˆŽr+   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r!   Úxr$   r:   )r&   r'   s   "€r(   r)   rp   Y   s   ø€ ÷ !ñ !™ð !¡Fñ !r+   c                óœ   € V P                   '       d+   V P                  P                  WP                  V4      4      # V P                  V4      # r<   )Úuse_res_connectrs   ÚaddÚblock©r5   rw   s   &&r(   r?   Ú#QuantizableInvertedResidual.forwardY   s9   € Ø××ÐØ—=‘=×$Ñ$ Q¯
©
°1«Ó6Ð6à—:‘:˜a“=Ð r+   )rs   )	rd   re   rf   rg   r0   r?   ri   rj   rk   rl   s   @@r(   rn   rn   S   s   ù‡ € ÷7ó 7÷!÷ !ð !r+   rn   c                   óf   a a€ ] tR t^`t oV3R lV 3R lltV3R lR ltRV3R lR lltRtVtV ;t	# )	r   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# r    r%   )r&   r'   s   "€r(   r)   Ú#QuantizableMobileNetV3.__annotate__a   s"   ø€ ÷ 	%ñ 	%™cð 	%©Sð 	%°Tñ 	%r+   c                ód   <€ \         SV `  ! V/ VB  \        4       V n        \	        4       V n        R# )zQ
MobileNet V3 main class

Args:
   Inherits args from floating point MobileNetV3
N)r/   r0   r
   Úquantr	   Údequantr4   s   &*,€r(   r0   ÚQuantizableMobileNetV3.__init__a   s)   ø€ ô 	‰Ò˜$Ð) &Ò)Ü“[ˆŒ
Ü"“}ˆŽr+   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# rv   r:   )r&   r'   s   "€r(   r)   r€   l   s   ø€ ÷ ñ ™ð ¡Fñ r+   c                ól   € V P                  V4      pV P                  V4      pV P                  V4      pV# r<   )r‚   Ú_forward_implrƒ   r|   s   &&r(   r?   ÚQuantizableMobileNetV3.forwardl   s1   € Ø�J‰J�q‹MˆØ×Ñ˜qÓ!ˆØ�L‰L˜‹OˆØˆr+   c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# rB   rD   )r&   r'   s   "€r(   r)   r€   r   s   ø€ ÷ %ñ %¡©$¥ð %¸4ñ %r+   c                óX  € V P                  4        F•  p\        V4      \        J dZ   R R.p\        V4      ^8X  d6   \        V^,          4      \        P
                  J d   VP                  R4       \        W#VRR7       Ko  \        V4      \        J g   K„  VP                  V4       K—  	  R# )Ú0Ú1Ú2TrI   N)
ÚmodulesÚtyper   Úlenr   ÚReLUÚappendr   r   rK   )r5   rC   ÚmÚmodules_to_fuses   &&  r(   rK   Ú!QuantizableMobileNetV3.fuse_modelr   sy   € Ø—‘–ˆAÜ�A‹wÔ.Ó.Ø#&¨ *�Ü�q“6˜Q”;¤4¨¨!­£:´·±Ó#8Ø#×*Ñ*¨3Ô/Ü˜a°&À$×GÜ�a“Ô8Õ8Ø—‘˜VÖ$ó  r+   )rƒ   r‚   r<   )
rd   re   rf   rg   r0   r?   rK   ri   rj   rk   rl   s   @@r(   r   r   `   s(   ù‡ € ÷	%ó 	%÷ð ÷%÷ %ò %r+   c                ó˜   € V ^8„  d   QhR\         \        ,          R\        R\        \        ,          R\
        R\
        R\        R\        /# )r!   Úinverted_residual_settingÚlast_channelÚweightsÚprogressÚquantizer#   r$   )Úlistr   Úintr   r   rE   r   r   )r&   s   "r(   r)   r)   }   sY   € ÷ !ñ !Ü#Ô$:Õ;ð!äð!ô ”kÕ"ð!ô ð	!ô
 ð!ô ð!ô ñ!r+   c                 óÐ  € VeW   \        VR\        VP                  R,          4      4       RVP                  9   d   \        VRVP                  R,          4       VP                  RR4      p\	        W3R\
        /VB p\        V4       V'       dl   VP                  RR7       \        P                  P                  P                  V4      Vn        \        P                  P                  P                  VRR7       Ve#   VP                  VP                  VRR	7      4       V'       d<   \        P                  P                  P!                  VRR7       VP#                  4        V# )
NÚnum_classesÚ
categoriesÚbackendÚqnnpackr{   T)rC   rI   )rš   Ú
check_hash)r   r�   ÚmetaÚpopr   rn   r   rK   rS   ÚaoÚquantizationÚget_default_qat_qconfigrO   Úprepare_qatÚload_state_dictÚget_state_dictÚconvertÚeval)r—   r˜   r™   rš   r›   r#   r¡   Úmodels   &&&&&,  r(   Ú_mobilenet_v3_modelr¯   }   s  € ð ÒÜ˜f m´S¸¿¹ÀlÕ9SÓ5TÔUØ˜Ÿ™Ô$Ü! &¨)°W·\±\À)Õ5LÔMØ�j‰j˜ IÓ.€Gä"Ð#<ÑxÔRmÐxÐqwÑx€EÜ�%Ôçð
 	×Ñ ÐÔ%ÜŸ™×-Ñ-×EÑEÀgÓNˆŒÜ�‰×Ñ×)Ñ)¨%¸Ð)Ô>àÒØ×Ñ˜g×4Ñ4¸hÐSWÐ4ÓXÔYçÜ�‰×Ñ×%Ñ% e°TÐ%Ô:Ø�
‰
Œà€Lr+   c                   óˆ   € ] tR t^¡t]! R]! ]^àR7      RRRRR]RRR	R
R]P                  RRRRRR//RRRRRR/
R7      t
]
tRtR# )r   zUhttps://download.pytorch.org/models/quantized/mobilenet_v3_large_qnnpack-5bcacf28.pth)Ú	crop_sizeÚ
num_paramsiªS Úmin_sizer    r¡   r¢   ÚrecipezUhttps://github.com/pytorch/vision/tree/main/references/classification#qat-mobilenetv3ÚunquantizedÚ_metricszImageNet-1Kzacc@1gÇK7‰A@R@zacc@5gôýÔxé¶V@Ú_opsg-²�ï§ÆË?Ú
_file_sizegçû©ñÒ�5@Ú_docsz«
                These weights were produced by doing Quantization Aware Training (eager mode) on top of the unquantized
                weights listed below.
            )ÚurlÚ
transformsr¤   © N)é   r½   )rd   re   rf   rg   r   r   r   r   r   ÚIMAGENET1K_V1ÚIMAGENET1K_QNNPACK_V1ÚDEFAULTri   r¼   r+   r(   r   r   ¡   s|   † Ù#ØcÙÐ.¸#Ô>à˜'Ø˜ØÐ.Ø�yØÐmØÐ5×CÑCØØØ˜VØ˜Vð ðð �EØ˜&Øð ð
ôÐð0 $„Gr+   Úquantized_mobilenet_v3_large)ÚnameÚ
pretrainedc                 ór   € V P                  R R4      '       d   \        P                  # \        P                  # )r›   F)rQ   r   r¿   r   r¾   )r#   s   &r(   Ú<lambda>rÅ   Á   s1   € à�z‰z˜* e×,Ò,ô 0×EÑEð :ä+×9Ñ9ð:r+   )r™   r™   rš   Tr›   Fc          
      óŒ   € V ^8„  d   QhR\         \        \        \        3,          ,          R\        R\        R\
        R\        /# )r!   r™   rš   r›   r#   r$   )r   r   r   r   rE   r   r   )r&   s   "r(   r)   r)   È   sT   € ÷ 'oñ 'oä”eÔ?ÔA[Ð[Õ\Õ]ð'oô ð'oô ð	'oô
 ð'oô ñ'or+   c                ó~   € V'       d   \         M\        P                  V 4      p \        R/ VB w  rE\	        WEWV3/ VB # )ap  
MobileNetV3 (Large) model from
`Searching for MobileNetV3 <https://arxiv.org/abs/1905.02244>`_.

.. note::
    Note that ``quantize = True`` returns a quantized model with 8 bit
    weights. Quantized models only support inference and run on CPUs.
    GPU inference is not yet supported.

Args:
    weights (:class:`~torchvision.models.quantization.MobileNet_V3_Large_QuantizedWeights` or :class:`~torchvision.models.MobileNet_V3_Large_Weights`, optional): The
        pretrained weights for the model. See
        :class:`~torchvision.models.quantization.MobileNet_V3_Large_QuantizedWeights` below for
        more details, and possible values. By default, no pre-trained
        weights are used.
    progress (bool): If True, displays a progress bar of the
        download to stderr. Default is True.
    quantize (bool): If True, return a quantized version of the model. Default is False.
    **kwargs: parameters passed to the ``torchvision.models.quantization.MobileNet_V3_Large_QuantizedWeights``
        base class. Please refer to the `source code
        <https://github.com/pytorch/vision/blob/main/torchvision/models/quantization/mobilenetv3.py>`_
        for more details about this class.

.. autoclass:: torchvision.models.quantization.MobileNet_V3_Large_QuantizedWeights
    :members:
.. autoclass:: torchvision.models.MobileNet_V3_Large_Weights
    :members:
    :noindex:
)Úmobilenet_v3_large)r   r   Úverifyr   r¯   )r™   rš   r›   r#   r—   r˜   s   $$$,  r(   rÈ   rÈ   ½   sE   € ÷^ 7?Õ2ÔD^×fÑfÐgnÓo€Gä.@Ñ.`ÐY_Ñ.`Ñ+ÐÜÐ8ÈÐ[cÑnÐgmÑnÐnr+   )r   r   rÈ   )*Ú	functoolsr   Útypingr   r   r   rS   r   r   Útorch.ao.quantizationr	   r
   Úops.miscr   r   Útransforms._presetsr   Ú_apir   r   r   Ú_metar   Ú_utilsr   r   Úmobilenetv3r   r   r   r   r   Úutilsr   r   Ú__all__r   rn   r   r¯   r   rÈ   r¼   r+   r(   Ú<module>rÕ      sÍ   ðÝ ß 'Ñ 'ã ß ß 8ç ?Ý 6ß 7Ñ 7Ý (ß C÷õ ÷ 0ò€ô2
Ð#4ô 2
ôj
!Ð"2ô 
!ô%˜[ô %õ:!ôH$¨+ô $ñ8 Ð3Ô4Ùàñ	
ðô	ð'oà`dð'oð ð'oð ö	'oó	ó 5ò'or+   