
    RЦi                        S r SSKrSSKrSSKJrJr  SSKr/ SQrSqSq	Sq
Sq\" \R                  R                  S5      rS\R                   ;   a  \" \R                   S   5      qOSqS	\R                   ;   a  \" \R                   S	   5      qOSqS
 r " S S5      rS r " S S5      rS r " S S5      r " S S5      rSS\S\4S jjrSS\S\4S jjrS\4S jrSS\4S jjrg)z%Model / Layer Config singleton state
    N)AnyOptional)is_exportableis_scriptable	is_no_jituse_fused_attnset_exportableset_scriptable
set_no_jitset_layer_configset_fused_attnset_reentrant_ckptuse_reentrant_ckptFscaled_dot_product_attentionTIMM_FUSED_ATTN   TIMM_REENTRANT_CKPTc                      [         $ N)_NO_JIT     Q/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/timm/layers/config.pyr   r   ,   s    Nr   c                   B    \ rS rSrS\SS4S jrS
S jrS\S\4S jrS	r	g)r   0   modereturnNc                     [         U l        Uq g r   )r   prevselfr   s     r   __init__set_no_jit.__init__1   s    	r   c                     g r   r   r!   s    r   	__enter__set_no_jit.__enter__6       r   argsc                     U R                   qgNF)r   r   r!   r)   s     r   __exit__set_no_jit.__exit__9   s    ))r   r   r   N
__name__
__module____qualname____firstlineno__boolr"   r&   r   r-   __static_attributes__r   r   r   r   r   0   s-    T d 
c d r   r   c                      [         $ r   )_EXPORTABLEr   r   r   r   r   ?       r   c                   B    \ rS rSrS\SS4S jrS
S jrS\S\4S jrS	r	g)r	   C   r   r   Nc                     [         U l        Uq g r   )r9   r   r    s     r   r"   set_exportable.__init__D       	r   c                     g r   r   r%   s    r   r&   set_exportable.__enter__I   r(   r   r)   c                     U R                   qgr+   )r   r9   r,   s     r   r-   set_exportable.__exit__L       iir   r/   r0   r1   r   r   r   r	   r	   C   -    T d 
c d r   r	   c                      [         $ r   )_SCRIPTABLEr   r   r   r   r   R   r:   r   c                   B    \ rS rSrS\SS4S jrS
S jrS\S\4S jrS	r	g)r
   V   r   r   Nc                     [         U l        Uq g r   )rG   r   r    s     r   r"   set_scriptable.__init__W   r?   r   c                     g r   r   r%   s    r   r&   set_scriptable.__enter__\   r(   r   r)   c                     U R                   qgr+   )r   rG   r,   s     r   r-   set_scriptable.__exit___   rD   r   r/   r0   r1   r   r   r   r
   r
   V   rE   r   r
   c            
       r    \ rS rSrSr    SS\\   S\\   S\\   S\\   4S jjrSS
 jrS\	S	\4S jr
Srg)r   e   zLayer config context manager that allows setting all layer config flags at once.
If a flag arg is None, it will not change the current value.
N
scriptable
exportableno_jitno_activation_jitc                 d    [         [        [        [        4U l        Ub  Uq Ub  UqUb  UqUb  Uqg g r   )rG   r9   r   _NO_ACTIVATION_JITr   )r!   rR   rS   rT   rU   s        r   r"   set_layer_config.__init__i   sG      g7II	!$K!$KG(!2 )r   r   c                     g r   r   r%   s    r   r&   set_layer_config.__enter__}   r(   r   r)   c                 &    U R                   u  qqqqgr+   )r   rG   r9   r   rW   r,   s     r   r-   set_layer_config.__exit__   s    
 AE		=['+=r   r/   )NNNNr0   )r2   r3   r4   r5   __doc__r   r6   r"   r&   r   r-   r7   r   r   r   r   r   e   sh    
 *.)-%)043 3 !3 TN	3
  (~3(c d r   r   experimentalr   c                 b    [         (       a  [        (       a  gU (       a	  [        S:  $ [        S:  $ )NFr   r   )_HAS_FUSED_ATTNr9   _USE_FUSED_ATTN)r^   s    r   r   r      s'    ?kk""Qr   enablec                     [         (       d  [        R                  " S5        g U(       a
  U (       a  Sqg U (       a  Sqg Sqg )Nz^This version of pytorch does not have F.scaled_dot_product_attention, fused_attn flag ignored.   r   r   )r`   warningswarnra   )rb   r^   s     r   r   r      s.    ?vw	r   c                      [         $ r   _USE_REENTRANT_CKPTr   r   r   r   r      s    r   c                     U q g r   rh   )rb   s    r   r   r      s     r   )F)TF)T) r]   osre   typingr   r   torch__all__r   rW   r9   rG   hasattrnn
functionalr`   environintra   r6   ri   r   r   r   r	   r   r
   r   r   r   r   r   r   r   r   <module>rt      s   	     
     %((--/MN

""**%678OO BJJ&rzz*?@A   ! !H $ 
4 
d 
D !t !r   