
    khU                         d dl mZ d dlmZ d dlZ G d dee      Zeeef   ZdefdZdefdZ	d	ej                  defd
Zd	ej                  defdZy)    )Enum)UnionNc                       e Zd ZdZdZdZdZy)FormatNCHWNHWCNCLNLCN)__name__
__module____qualname__r   r   r	   r
        N/var/www/teggl/fontify/venv/lib/python3.12/site-packages/timm/layers/format.pyr   r      s    DD
C
Cr   r   fmtc                     t        |       } | t         j                  u rd}|S | t         j                  u rd}|S | t         j                  u rd}|S d}|S )N)   )   )r   r   )r      )r   r
   r	   r   r   dims     r   get_spatial_dimr      sc    
+C
fjj J 


	
 J	 
	 J Jr   c                 x    t        |       } | t         j                  u rd}|S | t         j                  u rd}|S d}|S )Nr   r   r   )r   r   r
   r   s     r   get_channel_dimr      sI    
+C
fkk
 J	 


	 J Jr   xc                    |t         j                  k(  r| j                  dddd      } | S |t         j                  k(  r#| j	                  d      j                  dd      } | S |t         j                  k(  r| j	                  d      } | S )Nr   r   r   r   )r   r   permuter
   flatten	transposer	   r   r   s     r   nchw_tor!   )   sx    
fkkIIaAq!
 H	 


	IIaL""1a( H 


	IIaLHr   c                    |t         j                  k(  r| j                  dddd      } | S |t         j                  k(  r| j	                  dd      } | S |t         j
                  k(  r"| j	                  dd      j                  dd      } | S )Nr   r   r   r   )r   r   r   r
   r   r	   r   r    s     r   nhwc_tor#   3   s|    
fkkIIaAq!
 H	 


	IIaO H 


	IIaO%%a+Hr   )enumr   typingr   torchstrr   FormatTr   r   Tensorr!   r#   r   r   r   <module>r*      sr      S$  V

 
 u|| & u|| & r   