+
     °³j°  ã                   ó’  € ^ RI t ^ RIHt ^ RIHtHtHt ^ RI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HtHt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]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# )#é    N)Úpartial)ÚAnyÚOptionalÚUnion©ÚTensor)Ú
functional)ÚImageClassification)Úregister_modelÚWeightsÚWeightsEnum)Ú_IMAGENET_CATEGORIES)Ú_ovewrite_named_paramÚhandle_legacy_interface)ÚBasicConv2dÚ	GoogLeNetÚGoogLeNet_WeightsÚGoogLeNetOutputsÚ	InceptionÚInceptionAux)Ú_fuse_modulesÚ_replace_reluÚquantize_modelÚQuantizableGoogLeNetÚGoogLeNet_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	# )	ÚQuantizableBasicConv2dc                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# ©é   ÚargsÚkwargsÚreturnN©r   )ÚformatÚ__classdict__s   "€Új/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/models/quantization/googlenet.pyÚ__annotate__Ú#QuantizableBasicConv2d.__annotate__   ó"   ø€ ÷ ñ ™cð ©Sð °Tñ ó    c                ó\   <€ \         SV `  ! V/ VB  \        P                  ! 4       V n        R # ©N)ÚsuperÚ__init__ÚnnÚReLUÚrelu©Úselfr!   r"   Ú	__class__s   &*,€r'   r/   ÚQuantizableBasicConv2d.__init__   s"   ø€ Ü‰Ò˜$Ð) &Ò)Ü—G’G“IˆŽ	r+   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r    Úxr#   r   )r%   r&   s   "€r'   r(   r)      s   ø€ ÷ ñ ™ð ¡Fñ r+   c                ól   € V P                  V4      pV P                  V4      pV P                  V4      pV# r-   ©ÚconvÚbnr2   ©r4   r9   s   &&r'   ÚforwardÚQuantizableBasicConv2d.forward   s.   € Ø�I‰I�a‹LˆØ�G‰G�A‹JˆØ�I‰I�a‹LˆØˆ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#   ø€ ÷ Jñ J¡©$¥ð J¸4ñ Jr+   c                ó(   € \        V . ROVRR7       R# )r<   T)ÚinplaceNr;   )r   )r4   rC   s   &&r'   Ú
fuse_modelÚ!QuantizableBasicConv2d.fuse_model$   s   € Ü�dÒ2°FÀD×Ir+   ©r2   r-   ©
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r/   r?   rH   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r5   r&   s   @@r'   r   r      s+   ù‡ € ÷ó ÷ð ÷J÷ Jò Jr+   r   c                   óP   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tVtV ;t# )ÚQuantizableInceptionc                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# r   r$   )r%   r&   s   "€r'   r(   Ú!QuantizableInception.__annotate__)   s"   ø€ ÷ 2ñ 2™cð 2©Sð 2°Tñ 2r+   c                óz   <€ \         SV `  ! VR \        /VB  \        P                  P                  4       V n        R# ©Ú
conv_blockN)r.   r/   r   r0   Ú	quantizedÚFloatFunctionalÚcatr3   s   &*,€r'   r/   ÚQuantizableInception.__init__)   s/   ø€ Ü‰Ò˜$ÐLÔ+AÐLÀVÒLÜ—<‘<×/Ñ/Ó1ˆŽr+   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r8   r   )r%   r&   s   "€r'   r(   rW   -   s   ø€ ÷ (ñ (™ð (¡Fñ (r+   c                ó\   € V P                  V4      pV P                  P                  V^4      # )é   )Ú_forwardr]   )r4   r9   Úoutputss   && r'   r?   ÚQuantizableInception.forward-   s%   € Ø—-‘- Ó"ˆØ�x‰x�|‰|˜G QÓ'Ð'r+   )r]   ©	rL   rM   rN   rO   r/   r?   rP   rQ   rR   rS   s   @@r'   rU   rU   (   s   ù‡ € ÷2ó 2÷(÷ (ð (r+   rU   c                   óP   a a€ ] tR t^2t oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚQuantizableInceptionAuxc                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# r   r$   )r%   r&   s   "€r'   r(   Ú$QuantizableInceptionAux.__annotate__4   r*   r+   c                óh   <€ \         SV `  ! VR \        /VB  \        P                  ! 4       V n        R# rY   )r.   r/   r   r0   r1   r2   r3   s   &*,€r'   r/   Ú QuantizableInceptionAux.__init__4   s(   ø€ Ü‰Ò˜$ÐLÔ+AÐLÀVÒLÜ—G’G“IˆŽ	r+   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r8   r   )r%   r&   s   "€r'   r(   ri   8   s   ø€ ÷ ñ ™ð ¡Fñ r+   c                ó  € \         P                  ! VR4      pV P                  V4      p\        P                  ! V^4      pV P                  V P                  V4      4      pV P                  V4      pV P                  V4      pV# )é   )rn   rn   )	ÚFÚadaptive_avg_pool2dr<   ÚtorchÚflattenr2   Úfc1ÚdropoutÚfc2r>   s   &&r'   r?   ÚQuantizableInceptionAux.forward8   sh   € ä×!Ò! ! VÓ,ˆà�I‰I�a‹Lˆä�MŠM˜!˜QÓˆà�I‰I�d—h‘h˜q“kÓ"ˆà�L‰L˜‹Oˆà�H‰H�Q‹Kˆð ˆr+   rJ   re   rS   s   @@r'   rg   rg   2   s   ù‡ € ÷ó ÷÷ ð r+   rg   c                   óf   a a€ ] tR t^Jt 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(   Ú!QuantizableGoogLeNet.__annotate__L   s"   ø€ ÷ ;ñ ;™cð ;©Sð ;°Tñ ;r+   c                óþ   <€ \         SV `  ! VR \        \        \        ./VB  \
        P                  P                  P                  4       V n	        \
        P                  P                  P                  4       V n        R# )ÚblocksN)r.   r/   r   rU   rg   rq   ÚaoÚquantizationÚ	QuantStubÚquantÚDeQuantStubÚdequantr3   s   &*,€r'   r/   ÚQuantizableGoogLeNet.__init__L   sb   ø€ Ü‰ÒØð	
Ü1Ô3GÔI`Ðað	
Øekò	
ô —X‘X×*Ñ*×4Ñ4Ó6ˆŒ
Ü—x‘x×,Ñ,×8Ñ8Ó:ˆŽr+   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r8   )r   r   )r%   r&   s   "€r'   r(   ry   S   s   ø€ ÷ 5ñ 5™ð 5Ñ$4ñ 5r+   c                ó�  € V P                  V4      pV P                  V4      pV P                  V4      w  rpV P                  V4      pV P                  ;'       d    V P
                  p\        P                  P                  4       '       d+   V'       g   \        P                  ! R 4       \        WV4      # V P                  WV4      # )zCScripted QuantizableGoogleNet always returns GoogleNetOutputs Tuple)Ú_transform_inputr   rb   r�   ÚtrainingÚ
aux_logitsrq   ÚjitÚis_scriptingÚwarningsÚwarnr   Úeager_outputs)r4   r9   Úaux1Úaux2Úaux_defineds   &&   r'   r?   ÚQuantizableGoogLeNet.forwardS   s–   € Ø×!Ñ! !Ó$ˆØ�J‰J�q‹MˆØŸ™ aÓ(‰ˆ�Ø�L‰L˜‹OˆØ—m‘m×7Ð7¨¯©ˆÜ�9‰9×!Ñ!×#Ò#ßÜ—’ÐcÔdÜ# A¨TÓ2Ð2à×%Ñ% a¨tÓ4Ð4r+   c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# rB   rD   )r%   r&   s   "€r'   r(   ry   `   s   ø€ ÷ 
%ñ 
%¡©$¥ð 
%¸4ñ 
%r+   c                ó€   € V P                  4        F)  p\        V4      \        J g   K  VP                  V4       K+  	  R# )zýFuse conv/bn/relu modules in googlenet model

Fuse conv+bn+relu/ conv+relu/conv+bn modules to prepare for quantization.
Model is modified in place.  Note that this operation does not change numerics
and the model after modification is in floating point
N)ÚmodulesÚtyper   rH   )r4   rC   Úms   && r'   rH   ÚQuantizableGoogLeNet.fuse_model`   s-   € ð —‘–ˆAÜ�A‹wÔ0Õ0Ø—‘˜VÖ$ó  r+   )r�   r   r-   rK   rS   s   @@r'   r   r   J   s(   ù‡ € ÷;ó ;÷5ð 5÷
%÷ 
%ò 
%r+   c                   óˆ   € ] tR t^mt]! 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   zKhttps://download.pytorch.org/models/quantized/googlenet_fbgemm-c81f6644.pth)Ú	crop_sizeÚ
num_paramsiˆe Úmin_sizeÚ
categoriesÚbackendÚfbgemmÚrecipezdhttps://github.com/pytorch/vision/tree/main/references/classification#post-training-quantized-modelsÚunquantizedÚ_metricszImageNet-1Kzacc@1g¾Ÿ/ÝtQ@zacc@5g`åÐ"ÛYV@Ú_opsg+‡ÙÎ÷÷?Ú
_file_sizeg#Ûù~j<)@Ú_docszª
                These weights were produced by doing Post Training Quantization (eager mode) on top of the unquantized
                weights listed below.
            )ÚurlÚ
transformsÚmeta© N)é   r¨   )rL   rM   rN   rO   r   r   r
   r   r   ÚIMAGENET1K_V1ÚIMAGENET1K_FBGEMM_V1ÚDEFAULTrP   r§   r+   r'   r   r   m   s|   † Ù"ØYÙÐ.¸#Ô>à˜'Ø˜ØÐ.Ø�xØÐ|ØÐ,×:Ñ:ØØØ˜VØ˜Vð ðð �EØ˜&Øð ð
ôÐð0 #„Gr+   Úquantized_googlenet)ÚnameÚ
pretrainedc                 ór   € V P                  R R4      '       d   \        P                  # \        P                  # )ÚquantizeF)Úgetr   rª   r   r©   )r"   s   &r'   Ú<lambda>r²   �   s1   € à�z‰z˜* e×,Ò,ô '×;Ñ;ð 1ä"×0Ñ0ð1r+   )Úweightsr³   ÚprogressTr°   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   € ÷ @ñ @ä”eÔ6Ô8IÐIÕJÕKð@ô ð@ô ð	@ô
 ð@ô ñ@r+   c                ó¬  € V'       d   \         M\        P                  V 4      p VP                  RR4      pV e…   RV9  d   \	        VRR4       \	        VRR4       \	        VRR4       \	        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/ VB p\        V4       V'       d   \        We4       V eX   VP                  V P                  VRR7      4       V'       g   RVn        RVn        RVn        V# \         P"                  ! R4       V# )a\  GoogLeNet (Inception v1) model architecture from `Going Deeper with Convolutions <http://arxiv.org/abs/1409.4842>`__.

.. 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.GoogLeNet_QuantizedWeights` or :class:`~torchvision.models.GoogLeNet_Weights`, optional): The
        pretrained weights for the model. See
        :class:`~torchvision.models.quantization.GoogLeNet_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, return a quantized version of the model. Default is False.
    **kwargs: parameters passed to the ``torchvision.models.quantization.QuantizableGoogLeNet``
        base class. Please refer to the `source code
        <https://github.com/pytorch/vision/blob/main/torchvision/models/quantization/googlenet.py>`_
        for more details about this class.

.. autoclass:: torchvision.models.quantization.GoogLeNet_QuantizedWeights
    :members:

.. autoclass:: torchvision.models.GoogLeNet_Weights
    :members:
    :noindex:
r‡   FNÚtransform_inputTÚinit_weightsÚnum_classesr›   rœ   r�   )r´   Ú
check_hashz`auxiliary heads in the pretrained googlenet model are NOT pretrained, so make sure to train themr§   )r   r   Úverifyr±   r   Úlenr¦   Úpopr   r   r   Úload_state_dictÚget_state_dictr‡   r�   rŽ   rŠ   r‹   )r³   r´   r°   r"   Úoriginal_aux_logitsrœ   Úmodels   $$$,   r'   Ú	googlenetrÂ   ‰   s(  € ÷\ .6Õ)Ô;L×TÑTÐU\Ó]€Gà Ÿ*™* \°5Ó9ÐØÒØ FÔ*Ü! &Ð*;¸TÔBÜ˜f l°DÔ9Ü˜f n°eÔ<Ü˜f m´S¸¿¹ÀlÕ9SÓ5TÔUØ˜Ÿ™Ô$Ü! &¨)°W·\±\À)Õ5LÔMØ�j‰j˜ HÓ-€Gä Ñ* 6Ñ*€EÜ�%ÔßÜ�uÔ&àÒØ×Ñ˜g×4Ñ4¸hÐSWÐ4ÓXÔYß"Ø$ˆEÔØˆEŒJØˆEŒJð €Lô	 �MŠMØrôð €Lr+   )r   r   rÂ   ))rŠ   Ú	functoolsr   Útypingr   r   r   rq   Útorch.nnr0   r   r	   ro   Útransforms._presetsr
   Ú_apir   r   r   Ú_metar   Ú_utilsr   r   rÂ   r   r   r   r   r   r   Úutilsr   r   r   Ú__all__r   rU   rg   r   r   r§   r+   r'   Ú<module>rÌ      sÓ   ðÛ Ý ß 'Ñ 'ã Ý Ý Ý $å 6ß 7Ñ 7Ý (ß Cß l× lß ?Ñ ?ò€ôJ˜[ô Jô(˜9ô (ô˜lô ô0 %˜9ô  %ôF# ô #ñ8 Ð*Ô+Ùàñ	
ðô	ð@àNRð@ð ð@ð ö	@ó	ó ,ò@r+   