o
    }oi                     @   sX   d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
 dgZG dd deeZdS )    )ABC)DictOptional)NeuralModule)ChannelTypeMaskType
NeuralTypeEncoderModulec                   @   sb   e Zd ZdZedeeeef  fddZ	edeeeef  fddZ
edee fddZd	S )
r	   z@ Base class for encoder neural module to be used in NLP models. returnc                 C   s   t dt t dt dS )N)BT)	input_idsencoder_mask)r   r   r   self r   f/home/ubuntu/.local/lib/python3.10/site-packages/nemo/collections/nlp/modules/common/encoder_module.pyinput_types   s   

zEncoderModule.input_typesc                 C   s   dt dt iS )Nlast_hidden_states)r   r   D)r   r   r   r   r   r   output_types"   s   zEncoderModule.output_typesc                 C   s   t )N)NotImplementedErrorr   r   r   r   hidden_size&   s   zEncoderModule.hidden_sizeN)__name__
__module____qualname____doc__propertyr   r   strr   r   r   intr   r   r   r   r   r	      s    N)abcr   typingr   r   nemo.core.classesr   nemo.core.neural_typesr   r   r   __all__r	   r   r   r   r   <module>   s   