
    9j                         d dl mZ d dlZd dlmZ d dlmZ d dlmZ dgZ	 G d dej                  j                  j                        Z G d	 de      Zy)
    )CallableN)_FusedModule)Tracer)ScopeQuantizationTracerc                   T     e Zd Zdedej
                  j                  def fdZ xZ	S )ScopeContextManagerscopecurrent_modulecurrent_module_pathc           	      L    t         |   |t        |t        |                   y )N)super__init__r   type)selfr
   r   r   	__class__s       _/media/conek/DATA/Code/OCR/venv/lib/python3.12/site-packages/torch/ao/quantization/fx/tracer.pyr   zScopeContextManager.__init__   s!     	&94;O PQ    )
__name__
__module____qualname__r   torchnnModulestrr   __classcell__r   s   @r   r	   r	      s2    RR,1HHOORRUR Rr   r	   c                   p     e Zd Zdee   dee   f fdZdej                  j                  dede
fdZ xZS )r   skipped_module_namesskipped_module_classesc                     t         |           || _        || _        t	        dd       | _        t        j                  j                  j                   | _
        y )N )r   r   r   r    r   r
   r   fxconfigdo_not_emit_stack_tracesrecord_stack_traces)r   r   r    r   s      r   r   zQuantizationTracer.__init__   sH     	$8!&<# 2t_
',xx'O'O#O r   mmodule_qualified_namereturnc                 6   |j                   j                  d      xs |j                   j                  d      xr% t        |t        j                  j
                         xs9 || j                  v xs) t        |      | j                  v xs t        |t              S )Nztorch.nnztorch.ao.nn)
r   
startswith
isinstancer   r   
Sequentialr   r   r    r   )r   r'   r(   s      r   is_leaf_modulez!QuantizationTracer.is_leaf_module$   s     LL++J7 >||..}=; #1ehh&9&9::	+ %(A(AA	+ Aw$555	+ !\*	
r   )r   r   r   listr   r   r   r   r   r   boolr.   r   r   s   @r   r   r      sF    P$(IPGKH~P
 
 
PT 
r   )collections.abcr   r   torch.ao.nn.intrinsicr   torch.fx._symbolic_tracer   torch.fx.proxyr   __all__r#   proxyr	   r    r   r   <module>r8      sH    $  . +   
R%((..<< R
 
r   