Skip to content
Snippets Groups Projects
pipeline_process_asr.py 1.37 KiB
Newer Older
Marcin Wątroba's avatar
Marcin Wątroba committed
import argparse

from experiment.experiment_dependency_provider import get_repository, get_record_provider
from sziszapangma.integration.asr_processor import AsrPathCacheClient
from sziszapangma.integration.experiment_manager import ExperimentManager
from sziszapangma.integration.task.asr_task import AsrTask


def run_asr_pipeline(dataset_name: str, asr_name: str):
    record_provider = get_record_provider(dataset_name)
    experiment_processor = ExperimentManager(
        record_id_iterator=record_provider,
        processing_tasks=[
            AsrTask(
                task_name=f'AsrTask___{dataset_name}___{asr_name}',
                asr_processor=AsrPathCacheClient(
                    f'experiment_data/cached_asr/{dataset_name}/{dataset_name}__{asr_name}',
                    record_provider,
                    record_provider
                ),
                asr_property_name=f'{asr_name}__result',
                require_update=False,
                record_path_provider=record_provider
            )
        ],
        experiment_repository=get_repository(dataset_name),
        relation_manager_provider=record_provider
    )
    experiment_processor.process()


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("--dataset")
    parser.add_argument("--asr")
    args = parser.parse_args()
    run_asr_pipeline(args.dataset, args.asr)