mirror of
https://github.com/k2-fsa/icefall.git
synced 2025-08-10 10:32:17 +00:00
44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
import argparse
|
|
from typing import List, Union
|
|
|
|
from lhotse import CutSet
|
|
from torch.utils.data import DataLoader
|
|
|
|
|
|
class DataModule:
|
|
"""
|
|
Contains dataset-related code. It is intended to read/construct Lhotse cuts,
|
|
and create Dataset/Sampler/DataLoader out of them.
|
|
|
|
There is a separate method to create each of train/valid/test DataLoader.
|
|
In principle, there might be multiple DataLoaders for each of
|
|
train/valid/test
|
|
(e.g. when a corpus has multiple test sets).
|
|
The API of this class allows to return lists of CutSets/DataLoaders.
|
|
"""
|
|
|
|
def __init__(self, args: argparse.Namespace):
|
|
self.args = args
|
|
|
|
@classmethod
|
|
def add_arguments(cls, parser: argparse.ArgumentParser):
|
|
pass
|
|
|
|
def train_cuts(self) -> Union[CutSet, List[CutSet]]:
|
|
raise NotImplementedError()
|
|
|
|
def valid_cuts(self) -> Union[CutSet, List[CutSet]]:
|
|
raise NotImplementedError()
|
|
|
|
def test_cuts(self) -> Union[CutSet, List[CutSet]]:
|
|
raise NotImplementedError()
|
|
|
|
def train_dataloaders(self) -> Union[DataLoader, List[DataLoader]]:
|
|
raise NotImplementedError()
|
|
|
|
def valid_dataloaders(self) -> Union[DataLoader, List[DataLoader]]:
|
|
raise NotImplementedError()
|
|
|
|
def test_dataloaders(self) -> Union[DataLoader, List[DataLoader]]:
|
|
raise NotImplementedError()
|