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)