MCPcopy Create free account
hub / github.com/espnet/espnet / _parse_data_specifier

Function _parse_data_specifier

espnet2/speechlm/dataloader/iterator.py:348–404  ·  view source on GitHub ↗

Parse data specifier strings into structured tuples. Args: task_data_factors: Space-separated unregistered data specifiers. Format: "task:name:data_json[:factor]" Example: "asr:librispeech:train.json:2.0" task_registered_data_factors: Space-separated regi

(
    task_data_factors: str,
    task_registered_data_factors: str,
)

Source from the content-addressed store, hash-verified

346
347
348def _parse_data_specifier(
349 task_data_factors: str,
350 task_registered_data_factors: str,
351) -> Tuple[List[Tuple], List[Tuple]]:
352 """Parse data specifier strings into structured tuples.
353
354 Args:
355 task_data_factors: Space-separated unregistered data specifiers.
356 Format: "task:name:data_json[:factor]"
357 Example: "asr:librispeech:train.json:2.0"
358 task_registered_data_factors: Space-separated registered data
359 specifiers. Format: "task:name[:factor]"
360 Example: "tts:ljspeech:1.5"
361
362 Returns:
363 Tuple of (unregistered_list, registered_list) where:
364 - unregistered_list: List of (task, name, data_json, factor)
365 - registered_list: List of (task, name, factor)
366
367 Raises:
368 ValueError: If specifier format is invalid.
369 """
370 cache_unregistered = []
371 if task_data_factors.strip():
372 for entry in task_data_factors.split():
373 parts = entry.split(":")
374 if len(parts) == 4:
375 task, name, data_json, factor = parts
376 factor = float(factor)
377 elif len(parts) == 3:
378 task, name, data_json = parts
379 factor = 1.0
380 else:
381 raise ValueError(
382 f"Invalid unregistered specifier '{entry}'. "
383 f"Expected format: 'task:name:data_json[:factor]'"
384 )
385 cache_unregistered.append((task, name, data_json, factor))
386
387 cache_registered = []
388 if task_registered_data_factors.strip():
389 for entry in task_registered_data_factors.split():
390 parts = entry.split(":")
391 if len(parts) == 3:
392 task, name, factor = parts
393 factor = float(factor)
394 elif len(parts) == 2:
395 task, name = parts
396 factor = 1.0
397 else:
398 raise ValueError(
399 f"Invalid registered specifier '{entry}'. "
400 f"Expected format: 'task:name[:factor]'"
401 )
402 cache_registered.append((task, name, factor))
403
404 return cache_unregistered, cache_registered
405

Calls 2

appendMethod · 0.80
splitMethod · 0.45

Used in the wild real call sites across dependent graphs

searching dependent graphs…