
    RЦi                     X    S r SSKrSSKJs  Jr  SSKJr   " S S\R                  5      rg)z$Linear layer (alternate definition)
    N)nnc                   R    \ rS rSrSrS\R                  S\R                  4S jrSrg)Linear   zApplies 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                 n   [         R                  R                  5       (       ah  U R                  b#  U R                  R	                  UR
                  S9OS n[        R                  " XR                  R	                  UR
                  S9US9$ [        R                  " XR                  U R                  5      $ )N)dtype)bias)	torchjitis_scriptingr   tor
   Flinearweight)selfr   r   s      Q/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/timm/layers/linear.pyforwardLinear.forward   sv    99!!##6:ii6K499<<ekk<2QUD88E;;>>>#D4PP88E;;		::     N)	__name__
__module____qualname____firstlineno____doc__r   Tensorr   __static_attributes__r   r   r   r   r      s"    
;U\\ ;ell ;r   r   )r   r   torch.nn.functionalr   
functionalr   r   r   r   r   <module>r"      s&       ;RYY ;r   