hnluo
2023-09-21 bf4b3ef9cb95acaa2b92b98f236c4f3228cdbc2d
funasr/models/encoder/abs_encoder.py
New file
@@ -0,0 +1,21 @@
from abc import ABC
from abc import abstractmethod
from typing import Optional
from typing import Tuple
import torch
class AbsEncoder(torch.nn.Module, ABC):
    @abstractmethod
    def output_size(self) -> int:
        raise NotImplementedError
    @abstractmethod
    def forward(
        self,
        xs_pad: torch.Tensor,
        ilens: torch.Tensor,
        prev_states: torch.Tensor = None,
    ) -> Tuple[torch.Tensor, torch.Tensor, Optional[torch.Tensor]]:
        raise NotImplementedError