from abc import ABC from abc import abstractmethod from typing import Tuple import torch class AbsPreEncoder(torch.nn.Module, ABC): @abstractmethod def output_size(self) -> int: raise NotImplementedError @abstractmethod def forward( self, input: torch.Tensor, input_lengths: torch.Tensor ) -> Tuple[torch.Tensor, torch.Tensor]: raise NotImplementedError