Ë
    éÓ^já  ã                   óº  — d Z ddlZddlZddlmZmZ ddlZg d¢Zdada	da
da eej                  j                  d«      Zdej                   v r eej                   d   «      andad	ej                   v r eej                   d	   «      andad
„ Z G d„ d«      Zd„ Z G d„ d«      Zd„ Z G d„ d«      Z G d„ d«      Zddedefd„Zddedefd„Zdefd„Zddefd„Zy)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                  ó   — t         S ©N)Ú_NO_JIT© ó    ú]/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/timm/layers/config.pyr   r   ,   s   € Ü€Nr   c                   ó4   — e Zd Zdeddfd„Zdd„Zdedefd„Zy)	r   ÚmodeÚreturnNc                 ó   — t         | _        |a y r   )r   Úprev©Úselfr   s     r   Ú__init__zset_no_jit.__init__1   s   € äˆŒ	Ø‰r   c                  ó   — y r   r   ©r    s    r   Ú	__enter__zset_no_jit.__enter__6   ó   € Ør   Úargsc                 ó   — | j                   ay©NF)r   r   ©r    r&   s     r   Ú__exit__zset_no_jit.__exit__9   s   € à—)‘)ˆØr   ©r   N©Ú__name__Ú
__module__Ú__qualname__Úboolr!   r$   r   r*   r   r   r   r   r   0   s-   „ ð˜Tð  dó ó
ð˜cð  dô r   r   c                  ó   — t         S r   )Ú_EXPORTABLEr   r   r   r   r   ?   ó   € ÜÐr   c                   ó4   — e Zd Zdeddfd„Zdd„Zdedefd„Zy)	r	   r   r   Nc                 ó   — t         | _        |a y r   )r2   r   r   s     r   r!   zset_exportable.__init__D   ó   € äˆŒ	Ø‰r   c                  ó   — y r   r   r#   s    r   r$   zset_exportable.__enter__I   r%   r   r&   c                 ó   — | j                   ayr(   )r   r2   r)   s     r   r*   zset_exportable.__exit__L   ó   € à—i‘iˆØr   r+   r,   r   r   r   r	   r	   C   ó-   „ ð˜Tð  dó ó
ð˜cð  dô r   r	   c                  ó   — t         S r   )Ú_SCRIPTABLEr   r   r   r   r   R   r3   r   c                   ó4   — e Zd Zdeddfd„Zdd„Zdedefd„Zy)	r
   r   r   Nc                 ó   — t         | _        |a y r   )r<   r   r   s     r   r!   zset_scriptable.__init__W   r6   r   c                  ó   — y r   r   r#   s    r   r$   zset_scriptable.__enter__\   r%   r   r&   c                 ó   — | j                   ayr(   )r   r<   r)   s     r   r*   zset_scriptable.__exit___   r9   r   r+   r,   r   r   r   r
   r
   V   r:   r   r
   c            
       ób   — e Zd ZdZ	 	 	 	 ddee   dee   dee   dee   fd„Zdd	„Zd
edefd„Z	y)r   z— Layer 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                 ó\   — t         t        t        t        f| _        |�|a |�|a|�|a|�|ay y r   )r<   r2   r   Ú_NO_ACTIVATION_JITr   )r    rB   rC   rD   rE   s        r   r!   zset_layer_config.__init__i   sG   € ô  ¤¬gÔ7IÐIˆŒ	ØÐ!Ø$ˆKØÐ!Ø$ˆKØÐØˆGØÐ(Ø!2Ñð )r   r   c                  ó   — y r   r   r#   s    r   r$   zset_layer_config.__enter__}   r%   r   r&   c                 ó&   — | j                   \  aaaayr(   )r   r<   r2   r   rG   r)   s     r   r*   zset_layer_config.__exit__€   s   € ð
 AEÇ	Á	Ñ=ˆ�[ 'Ð+=Ør   )NNNNr+   )
r-   r.   r/   Ú__doc__r   r0   r!   r$   r   r*   r   r   r   r   r   e   sh   „ ñð
 *.Ø)-Ø%)Ø04ñ3à  ™ð3ð ! ™ð3ð ˜T‘Nð	3ð
  (¨™~ó3ó(ð˜cð  dô r   r   Úexperimentalr   c                 óD   — t         rt        ry| r	t        dkD  S t        dkD  S )NFr   r   )Ú_HAS_FUSED_ATTNr2   Ú_USE_FUSED_ATTN)rK   s    r   r   r   ‰   s#   € å�kØÙÜ Ñ"Ð"Ü˜QÑÐr   Úenablec                 óX   — t         st        j                  d«       y |r| rday | rday day )Nz^This version of pytorch does not have F.scaled_dot_product_attention, fused_attn flag ignored.é   r   r   )rM   ÚwarningsÚwarnrN   )rO   rK   s     r   r   r   ’   s,   € åÜ�‰ÐvÔwØÙ™Ø‰Ù	Ø‰à‰r   c                  ó   — t         S r   ©Ú_USE_REENTRANT_CKPTr   r   r   r   r   Ÿ   s   € ÜÐr   c                 ó   — | a y r   rU   )rO   s    r   r   r   £   s   € à Ñr   )F)TF)T) rJ   ÚosrR   Útypingr   r   ÚtorchÚ__all__r   rG   r2   r<   ÚhasattrÚnnÚ
functionalrM   ÚenvironÚintrN   r0   rV   r   r   r   r	   r   r
   r   r   r   r   r   r   r   r   ú<module>ra      s  ðñã 	Û ß  ã ò€ð €ð
 Ð ð €ð €ñ ˜%Ÿ(™(×-Ñ-Ð/MÓN€Ø˜Ÿ
™
Ñ"Ù˜"Ÿ*™*Ð%6Ñ7Ó8�Oà€Oð ˜BŸJ™JÑ&Ù˜rŸz™zÐ*?Ñ@ÓAÑàÐò÷ñ ò÷ñ ò÷ñ ÷!ñ !ñH ð °$ó ñ
˜4ð 
°dó 
ð˜Dó ñ!˜tô !r   