| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | from abc import ABC |
| | from typing import Dict, Optional |
| |
|
| | from nemo.core.classes import NeuralModule |
| | from nemo.core.neural_types import ChannelType, MaskType, NeuralType |
| |
|
| | __all__ = ['EncoderModule'] |
| |
|
| |
|
| | class EncoderModule(NeuralModule, ABC): |
| | """ Base class for encoder neural module to be used in NLP models. """ |
| |
|
| | @property |
| | def input_types(self) -> Optional[Dict[str, NeuralType]]: |
| | return { |
| | "input_ids": NeuralType(('B', 'T'), ChannelType()), |
| | "encoder_mask": NeuralType(('B', 'T'), MaskType()), |
| | } |
| |
|
| | @property |
| | def output_types(self) -> Optional[Dict[str, NeuralType]]: |
| | return {"last_hidden_states": NeuralType(('B', 'T', 'D'), ChannelType())} |
| |
|
| | @property |
| | def hidden_size(self) -> Optional[int]: |
| | raise NotImplementedError |
| |
|