+
     °³j  ã                   óR  € ^ RI Ht ^ RIHtHtHt ^ RIHtHt ^ RI	H
t
Ht ^ RIHt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 ^RIHtHtH t  . ROt! ! R R]4      t" ! R R]4      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ÚUnion)ÚnnÚTensor)ÚDeQuantStubÚ	QuantStub)ÚInvertedResidualÚMobileNet_V2_WeightsÚMobileNetV2)ÚConv2dNormActivation)ÚImageClassification)Úregister_modelÚWeightsÚWeightsEnum)Ú_IMAGENET_CATEGORIES)Ú_ovewrite_named_paramÚhandle_legacy_interface)Ú_fuse_modulesÚ_replace_reluÚquantize_modelÚQuantizableMobileNetV2ÚMobileNet_V2_QuantizedWeightsc                   ó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	# )	ÚQuantizableInvertedResidualc                ó*   <€ 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/mobilenetv2.pyÚ__annotate__Ú(QuantizableInvertedResidual.__annotate__   s"   ø€ ÷ 7ñ 7™cð 7©Sð 7°Tñ 7ó    c                ón   <€ \         SV `  ! V/ VB  \        P                  P	                  4       V n        R # ©N)ÚsuperÚ__init__r   Ú	quantizedÚFloatFunctionalÚskip_add©Úselfr    r!   Ú	__class__s   &*,€r&   r-   Ú$QuantizableInvertedResidual.__init__   s)   ø€ Ü‰Ò˜$Ð) &Ò)ÜŸ™×4Ñ4Ó6ˆŽr)   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r   Úxr"   ©r   )r$   r%   s   "€r&   r'   r(      s   ø€ ÷  ñ  ™ð  ¡Fñ  r)   c                óœ   € V P                   '       d+   V P                  P                  WP                  V4      4      # V P                  V4      # r+   )Úuse_res_connectr0   ÚaddÚconv©r2   r7   s   &&r&   ÚforwardÚ#QuantizableInvertedResidual.forward   s9   € Ø××ÐØ—=‘=×$Ñ$ Q¯	©	°!«Ó5Ð5à—9‘9˜Q“<Ð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#   ø€ ÷ Yñ Y¡©$¥ð Y¸4ñ Yr)   c           	     ó  € \        \        V P                  4      4       Fg  p\        V P                  V,          4      \        P
                  J g   K3  \        V P                  \        V4      \        V^,           4      .VRR7       Ki  	  R# )é   T©ÚinplaceN)ÚrangeÚlenr<   Útyper   ÚConv2dr   Ústr)r2   rB   Úidxs   && r&   Ú
fuse_modelÚ&QuantizableInvertedResidual.fuse_model"   sV   € Üœ˜TŸY™Y›Ö(ˆCÜ�D—I‘I˜c•NÓ#¤r§y¡yÕ0Ü˜dŸi™i¬#¨c«(´C¸¸a½³LÐ)AÀ6ÐSW×Xó )r)   )r0   r+   ©
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r-   r>   rO   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r3   r%   s   @@r&   r   r      s+   ù‡ € ÷7ó 7÷ ð  ÷Y÷ Yò Yr)   r   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'   Ú#QuantizableMobileNetV2.__annotate__)   s"   ø€ ÷ 	%ñ 	%™cð 	%©Sð 	%°Tñ 	%r)   c                ód   <€ \         SV `  ! V/ VB  \        4       V n        \	        4       V n        R# )zQ
MobileNet V2 main class

Args:
   Inherits args from floating point MobileNetV2
N)r,   r-   r
   Úquantr	   Údequantr1   s   &*,€r&   r-   ÚQuantizableMobileNetV2.__init__)   s)   ø€ ô 	‰Ò˜$Ð) &Ò)Ü“[ˆŒ
Ü"“}ˆŽr)   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r6   r8   )r$   r%   s   "€r&   r'   r\   4   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>   ÚQuantizableMobileNetV2.forward4   s1   € Ø�J‰J�q‹MˆØ×Ñ˜qÓ!ˆØ�L‰L˜‹OˆØˆr)   c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# rA   rC   )r$   r%   s   "€r&   r'   r\   :   s   ø€ ÷ %ñ %¡©$¥ð %¸4ñ %r)   c                óÈ   € V P                  4        FM  p\        V4      \        J d   \        V. ROVRR7       \        V4      \        J g   K<  VP                  V4       KO  	  R# )Ú0TrG   N)rg   Ú1Ú2)ÚmodulesrK   r   r   r   rO   )r2   rB   Úms   && r&   rO   Ú!QuantizableMobileNetV2.fuse_model:   sF   € Ø—‘–ˆAÜ�A‹wÔ.Ó.Ü˜a¢°&À$ÕGÜ�A‹wÔ5Õ5Ø—‘˜VÖ$ó	  r)   )r_   r^   r+   rQ   rY   s   @@r&   r   r   (   s(   ù‡ € ÷	%ó 	%÷ð ÷%÷ %ò %r)   c                   óˆ   € ] tR t^Bt]! 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   zOhttps://download.pytorch.org/models/quantized/mobilenet_v2_qnnpack_37f702c5.pth)Ú	crop_sizeÚ
num_paramsièz5 Úmin_sizeÚ
categoriesÚbackendÚqnnpackÚrecipezUhttps://github.com/pytorch/vision/tree/main/references/classification#qat-mobilenetv2ÚunquantizedÚ_metricszImageNet-1Kzacc@1g'1¬êQ@zacc@5gš™™™™‰V@Ú_opsgÝ$�•CÓ?Ú
_file_sizegü©ñÒMb@Ú_docsz«
                These weights were produced by doing Quantization Aware Training (eager mode) on top of the unquantized
                weights listed below.
            )ÚurlÚ
transformsÚmeta© N)rF   rF   )rR   rS   rT   rU   r   r   r   r   r   ÚIMAGENET1K_V1ÚIMAGENET1K_QNNPACK_V1ÚDEFAULTrV   r}   r)   r&   r   r   B   s|   † Ù#Ø]ÙÐ.¸#Ô>à˜'Ø˜ØÐ.Ø�yØÐmØÐ/×=Ñ=ØØØ˜VØ˜Vð ðð �EØ˜%Øð ð
ôÐð0 $„Gr)   Úquantized_mobilenet_v2)ÚnameÚ
pretrainedc                 ór   € V P                  R R4      '       d   \        P                  # \        P                  # )ÚquantizeF)Úgetr   r   r   r~   )r!   s   &r&   Ú<lambda>r‡   b   s1   € à�z‰z˜* e×,Ò,ô *×?Ñ?ð 4ä%×3Ñ3ð4r)   )Úweightsrˆ   NÚprogressTr…   Fc          
      óŒ   € V ^8„  d   QhR\         \        \        \        3,          ,          R\        R\        R\
        R\        /# )r   rˆ   r‰   r…   r!   r"   )r   r   r   r   rD   r   r   )r$   s   "r&   r'   r'   i   sM   € ÷ 3ñ 3ä”eÔ9Ô;OÐOÕPÕQð3ô ð3ô ð	3ô
 ð3ô ñ3r)   c                óÎ  € V'       d   \         M\        P                  V 4      p 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\        RR\        /VB p\        V4       V'       d   \        WT4       V e#   VP                  V P                  VRR7      4       V# )	az  
Constructs a MobileNetV2 architecture from
`MobileNetV2: Inverted Residuals and Linear Bottlenecks
<https://arxiv.org/abs/1801.04381>`_.

.. 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_V2_QuantizedWeights` or :class:`~torchvision.models.MobileNet_V2_Weights`, optional): The
        pretrained weights for the model. See
        :class:`~torchvision.models.quantization.MobileNet_V2_QuantizedWeights` 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.
    quantize (bool, optional): If True, returns a quantized version of the model. Default is False.
    **kwargs: parameters passed to the ``torchvision.models.quantization.QuantizableMobileNetV2``
        base class. Please refer to the `source code
        <https://github.com/pytorch/vision/blob/main/torchvision/models/quantization/mobilenetv2.py>`_
        for more details about this class.
.. autoclass:: torchvision.models.quantization.MobileNet_V2_QuantizedWeights
    :members:
.. autoclass:: torchvision.models.MobileNet_V2_Weights
    :members:
    :noindex:
Únum_classesrq   rr   rs   ÚblockT)r‰   Ú
check_hashr}   )r   r   Úverifyr   rJ   r|   Úpopr   r   r   r   Úload_state_dictÚget_state_dict)rˆ   r‰   r…   r!   rr   Úmodels   $$$,  r&   Úmobilenet_v2r”   ^   s½   € ÷\ 19Õ,Ô>R×ZÑZÐ[bÓc€GàÒÜ˜f m´S¸¿¹ÀlÕ9SÓ5TÔUØ˜Ÿ™Ô$Ü! &¨)°W·\±\À)Õ5LÔMØ�j‰j˜ IÓ.€Gä"ÑOÔ)DÐOÈÑO€EÜ�%ÔßÜ�uÔ&àÒØ×Ñ˜g×4Ñ4¸hÐSWÐ4ÓXÔYà€Lr)   )r   r   r”   )&Ú	functoolsr   Útypingr   r   r   Útorchr   r   Útorch.ao.quantizationr	   r
   Útorchvision.models.mobilenetv2r   r   r   Úops.miscr   Útransforms._presetsr   Ú_apir   r   r   Ú_metar   Ú_utilsr   r   Úutilsr   r   r   Ú__all__r   r   r   r”   r}   r)   r&   Ú<module>r¡      s°   ðÝ ß 'Ñ 'ç ß 8ß ^Ñ ^å ,Ý 6ß 7Ñ 7Ý (ß Cß ?Ñ ?ò€ôYÐ"2ô Yô"%˜[ô %ô4$ Kô $ñ8 Ð-Ô.Ùàñ	
ðô	ð3àTXð3ð ð3ð ö	3ó	ó /ò3r)   