Ë
    þÍ:j  ã                   óÆ   — d dl mZmZmZ d dlZd dlmZ dej                  ddfd„Zdej                  deddfd	„Z	dej                  d
ee
e   e
e
e      f   dee   defd„Zy)é    )ÚAnyÚOptionalÚUnionN)ÚnnÚmoduleÚreturnc                 ó<  — i }| j                  «       D ]`  \  }}t        |«       t        |«      t        j                  u st        |«      t        j
                  u sŒHt        j                  d¬«      ||<   Œb |j                  «       D ]  \  }}|| j                  |<   Œ y )NF©Úinplace)Únamed_childrenÚ_replace_reluÚtyper   ÚReLUÚReLU6ÚitemsÚ_modules)r   ÚreassignÚnameÚmodÚkeyÚvalues         úz/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/torchvision/models/quantization/utils.pyr   r      sˆ   € Ø€HØ×*Ñ*Ó,ò 4‰	ˆˆcÜ�cÔô �‹9œŸ™Ñ¤4¨£9´·±Ò#8ÜŸW™W¨UÔ3ˆH�TŠNð4ð —n‘nÓ&ò %‰
ˆˆUØ$ˆ�‰˜Òñ%ó    ÚmodelÚbackendc                 ó¶  — t        j                  dddd«      }|t         j                  j                  j                  vrt        d«      ‚|t         j                  j                  _        | j                  «        |dk(  rut         j                  j                  j                  t         j                  j                  j                  t         j                  j                  j                  ¬«      | _        ny|dk(  rtt         j                  j                  j                  t         j                  j                  j                  t         j                  j                  j                  ¬«      | _        | j                  «        t         j                  j                  j!                  | d¬	«        | |«       t         j                  j                  j#                  | d¬	«       y )
Né   é   i+  z Quantized backend not supported Úfbgemm)Ú
activationÚweightÚqnnpackTr
   )ÚtorchÚrandÚbackendsÚ	quantizedÚsupported_enginesÚRuntimeErrorÚengineÚevalÚaoÚquantizationÚQConfigÚdefault_observerÚ#default_per_channel_weight_observerÚqconfigÚdefault_weight_observerÚ
fuse_modelÚprepareÚconvert)r   r   Ú_dummy_input_datas      r   Úquantize_modelr6      sF  € ÜŸ
™
 1 a¨¨cÓ2ÐØ”e—n‘n×.Ñ.×@Ñ@Ñ@ÜÐ=Ó>Ð>Ø&-„E‡N�N×ÑÔ#Ø	‡J�J„Là�(ÒÜŸ™×-Ñ-×5Ñ5Ü—x‘x×,Ñ,×=Ñ=Ü—8‘8×(Ñ(×LÑLð 6ó 
ˆ�ð 
�IÒ	ÜŸ™×-Ñ-×5Ñ5Ü—x‘x×,Ñ,×=Ñ=ÄeÇhÁh×F[ÑF[×FsÑFsð 6ó 
ˆŒð
 
×ÑÔÜ	‡H�H×Ñ×!Ñ! %°Ð!Ô6Ù	Ð
ÔÜ	‡H�H×Ñ×!Ñ! %°Ð!Õ6r   Úmodules_to_fuseÚis_qatÚkwargsc                 óÆ   — |€| j                   }|r$t        j                  j                  j                  n#t        j                  j                  j
                  } || |fi |¤ŽS )N)Útrainingr#   r+   r,   Úfuse_modules_qatÚfuse_modules)r   r7   r8   r9   Úmethods        r   Ú_fuse_modulesr?   -   sM   € ð €~Ø—‘ˆÙ7=ŒU�X‰X×"Ñ"×3Ò3Ä5Ç8Á8×CXÑCX×CeÑCe€FÙ�%˜Ñ3¨FÑ3Ð3r   )Útypingr   r   r   r#   r   ÚModuler   Ústrr6   ÚlistÚboolr?   © r   r   ú<module>rF      s‹   ðß 'Ñ 'ã Ý ð%˜"Ÿ)™)ð %¨ó %ð7˜"Ÿ)™)ð 7¨cð 7°dó 7ð04Ø�9‰9ð4Ø',¨T°#©Y¸¸TÀ#¹Y¹Ð-GÑ'Hð4ØRZÐ[_ÑR`ð4Øloô4r   