
    kh
                         d dl mZ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List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         a/var/www/teggl/fontify/venv/lib/python3.12/site-packages/torchvision/models/quantization/utils.pyr   r      s    H**, 4	cc 949#8WWU3HTN4 nn& %
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_modelr7      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                     || j                   }|r$t        j                  j                  j                  n#t        j                  j                  j
                  } || |fi |S )N)trainingr$   r,   r-   fuse_modules_qatfuse_modules)r   r8   r9   r:   methods        r   _fuse_modulesr@   -   sM     ~7=UXX""33588CXCXCeCeF%3F33r   )typingr   r   r   r   r$   r   Moduler   strr7   boolr@    r   r   <module>rF      s    - -  %")) % %7")) 7c 7d 704994',T#YT#Y-G'H4RZ[_R`4lo4r   