from abc import ABC, abstractmethod
from collections import OrderedDict
from typing import Dict, Optional, Tuple
import torch
[docs]class AbsSeparator(torch.nn.Module, ABC):
[docs] @abstractmethod
def forward(
self,
input: torch.Tensor,
ilens: torch.Tensor,
additional: Optional[Dict] = None,
) -> Tuple[Tuple[torch.Tensor], torch.Tensor, OrderedDict]:
raise NotImplementedError
[docs] def forward_streaming(
self,
input_frame: torch.Tensor,
buffer=None,
):
raise NotImplementedError
@property
@abstractmethod
def num_spk(self):
raise NotImplementedError