o
    i                     @   s*   d dl Z d dlmZ G dd dejZdS )    Nc                       s&   e Zd Zd fdd	Zdd Z  ZS )AFF@      c                    sj   t t|   t|| }ttj|d |ddddt|tjddtj||ddddt|| _	d S )N      r   )kernel_sizestridepaddingT)inplace)
superr   __init__intnn
SequentialConv2dBatchNorm2dSiLU	local_att)selfchannelsrinter_channels	__class__ Q/home/ubuntu/.local/lib/python3.10/site-packages/funasr/models/eres2net/fusion.pyr   
   s   

zAFF.__init__c                 C   sJ   t j||fdd}| |}dt | }t ||t |d|  }|S )Nr   )dimg      ?g       @)torchcatr   tanhmul)r   xds_yxax_attxor   r   r   forward   s
   
zAFF.forward)r   r   )__name__
__module____qualname__r   r&   __classcell__r   r   r   r   r      s    r   )r   torch.nnr   Moduler   r   r   r   r   <module>   s   