a
    þdU  ã                   @   s‚   d dl mZ d dlmZ d dlZG dd„ deeƒZeeef Zedœdd„Zedœd	d
„Z	ej
edœdd„Zej
edœdd„ZdS )é    )ÚEnum)ÚUnionNc                   @   s   e Zd ZdZdZdZdZdS )ÚFormatÚNCHWÚNHWCÚNCLÚNLCN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   © r   r   ú[/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/timm/layers/format.pyr      s   r   )Úfmtc                 C   s@   t | ƒ} | t ju rd}n$| t ju r(d}n| t ju r8d}nd}|S )N)é   )é   )r   r   )r   é   )r   r   r   r   ©r   Zdimr   r   r   Úget_spatial_dim   s    


r   c                 C   s0   t | ƒ} | t ju rd}n| t ju r(d}nd}|S )Nr   r   r   )r   r   r   r   r   r   r   Úget_channel_dim   s    

r   ©Úxr   c                 C   sR   |t jkr|  dddd¡} n2|t jkr:|  d¡ dd¡} n|t jkrN|  d¡} | S )Nr   r   r   r   )r   r   Úpermuter   ÚflattenÚ	transposer   r   r   r   r   Únchw_to)   s    



r   c                 C   sV   |t jkr|  dddd¡} n6|t jkr4|  dd¡} n|t jkrR|  dd¡ dd¡} | S )Nr   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   Únhwc_to3   s    


r   )Úenumr   Útypingr   ZtorchÚstrr   ZFormatTr   r   ZTensorr   r   r   r   r   r   Ú<module>   s   
