OTTC_MDD / utils /hparam_helpers.py
Haopeng's picture
Include SpeechBrain HyperPyYAML helpers
672b227
Raw
History Blame Contribute Delete
1.34 kB
"""Small helpers used from HyperPyYAML files."""
from __future__ import annotations
import json
from pathlib import Path
def read_output_neurons(metadata_path: str) -> int:
"""Read output_neurons from a metadata JSON file."""
path = Path(metadata_path)
with path.open("r", encoding="utf-8") as f:
metadata = json.load(f)
return int(metadata["output_neurons"])
def read_subphonetic_topology_output_neurons(
label_encoder_path: str,
context_phone_mode: str = "mono",
topology: str = "three_state_skip_two",
split_silence: bool = False,
) -> int:
"""Compute output size for an auxiliary subphonetic topology head."""
from utils.subphonetic_topology import topology_output_neurons
return topology_output_neurons(
label_encoder_path=label_encoder_path,
context_phone_mode=context_phone_mode,
topology=topology,
split_silence=split_silence,
)
def sum_ints(*values) -> int:
"""Return the sum of integer-like HyperPyYAML values."""
return sum(int(value) for value in values if value is not None)
def load_ctc_text_encoder_from_file(path: str):
"""Construct and load a SpeechBrain CTCTextEncoder from a text file."""
import speechbrain as sb
encoder = sb.dataio.encoder.CTCTextEncoder()
encoder.load(path)
return encoder