o
    ii                     @   s(   d dl Z d dlmZ G dd deZdS )    N)
AbsDecoderc                       sD   e Zd ZdZdededef fddZdejdejfd	d
Z  Z	S )ConvDecoderzFTransposed Convolutional decoder for speech enhancement and separationchannelkernel_sizestridec                    s&   t    tjj|d|d|d| _d S )N   F)biasr   )super__init__torchnnConvTranspose1dconvtrans1d)selfr   r   r   	__class__ T/home/ubuntu/.local/lib/python3.10/site-packages/espnet2/enh/decoder/conv_decoder.pyr
   	   s   

zConvDecoder.__init__inputilensc                 C   s@   | dd}|jd }| j||d| fd}|d}||fS )zForward.

        Args:
        input (torch.Tensor): spectrum [Batch, T, F]
        ilens (torch.Tensor): input lengths [Batch]
        r      r   )output_size)	transposeshaper   maxsqueeze)r   r   r   
batch_sizewavr   r   r   forward   s
   

zConvDecoder.forward)
__name__
__module____qualname____doc__intr
   r   Tensorr   __classcell__r   r   r   r   r      s    r   )r   espnet2.enh.decoder.abs_decoderr   r   r   r   r   r   <module>   s    