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