
    h                         S SK JrJrJr  S SKrS SKJr  S\R                  SS4S jrS\R                  S\SS4S	 jr	S\R                  S
\\
\   \
\
\      4   S\\   S\4S jrg)    )AnyOptionalUnionN)nnmodulereturnc                 >   0 nU R                  5        H`  u  p#[        U5        [        U5      [        R                  L d  [        U5      [        R
                  L d  MJ  [        R                  " SS9X'   Mb     UR                  5        H  u  pEXPR                  U'   M     g )NFinplace)named_children_replace_relutyper   ReLUReLU6items_modules)r   reassignnamemodkeyvalues         ]/var/www/auris/envauris/lib/python3.13/site-packages/torchvision/models/quantization/utils.pyr   r      sv    H**,	c 949#8WWU3HN - nn&
$ '    modelbackendc                    [         R                  " SSSS5      nU[         R                  R                  R                  ;  a  [        S5      eU[         R                  R                  l        U R                  5         US:X  ar  [         R                  R                  R                  [         R                  R                  R                  [         R                  R                  R                  S9U l        OwUS:X  aq  [         R                  R                  R                  [         R                  R                  R                  [         R                  R                  R                  S9U l        U R                  5         [         R                  R                  R!                  U SS	9  U " U5        [         R                  R                  R#                  U SS	9  g )
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   

1ac2enn..@@@=>>&-ENN#	JJL(--55xx,,==88((LL 6 
 
I	--55xx,,==ehhF[F[FsFs 6 

 
	HH!!%!6	
	HH!!%!6r   modules_to_fuseis_qatkwargsc                     Uc  U R                   nU(       a$  [        R                  R                  R                  O#[        R                  R                  R
                  nU" X40 UD6$ )N)trainingr#   r+   r,   fuse_modules_qatfuse_modules)r   r7   r8   r9   methods        r   _fuse_modulesr?   -   sK     ~7=UXX""33588CXCXCeCeF%3F33r   )typingr   r   r   r#   r   Moduler   strr6   listboolr?    r   r   <module>rF      s    ' '  %")) % %7")) 7c 7d 704994',T#YT#Y-G'H4RZ[_R`4lo4r   