Ë
    éÓ^jç  ã                   óX   — d Z ddlZddlmc mZ ddlmZ  G d„ dej                  «      Zy)z% Linear layer (alternate definition)
é    N)Únnc                   óH   — e Zd ZdZdej
                  dej
                  fd„Zy)ÚLinearzûApplies a linear transformation to the incoming data: :math:`y = xA^T + b`

    Wraps torch.nn.Linear to support AMP + torchscript usage by manually casting
    weight & bias to input.dtype to work around an issue w/ torch.addmm in this use case.
    ÚinputÚreturnc                 ót  — t         j                  j                  «       rp| j                  �&| j                  j	                  |j
                  ¬«      nd }t        j                  || j                  j	                  |j
                  ¬«      |¬«      S t        j                  || j                  | j                  «      S )N)Údtype)Úbias)	ÚtorchÚjitÚis_scriptingr
   Útor	   ÚFÚlinearÚweight)Úselfr   r
   s      ú]/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/timm/layers/linear.pyÚforwardzLinear.forward   sw   € Ü�9‰9×!Ñ!Ô#Ø6:·i±iÐ6K�4—9‘9—<‘< e§k¡k�<Ô2ÐQUˆDÜ—8‘8˜E 4§;¡;§>¡>¸¿¹ >Ó#DÈ4ÔPÐPä—8‘8˜E 4§;¡;°·	±	Ó:Ð:ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚTensorr   © r   r   r   r      s"   „ ñð
;˜UŸ\™\ð ;¨e¯l©lô ;r   r   )r   r   Útorch.nn.functionalr   Ú
functionalr   r   r   r   r   ú<module>r      s&   ðñã ß Ð Ý ô;ˆR�Y‰Yõ ;r   