1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
|
|