Source code for vak.datasets.frame_classification.helper

"""Helper functions used with frame classification datasets."""
from __future__ import annotations

from ... import common
from . import constants


[docs] def sample_ids_array_filename_for_subset(subset: str) -> str: """Returns name of sample IDs array file for a subset of the training data.""" return constants.SAMPLE_IDS_ARRAY_FILENAME.replace( ".npy", f"-{subset}.npy" )
[docs] def inds_in_sample_array_filename_for_subset(subset: str) -> str: """Returns name of inds in sample array file for a subset of the training data.""" return constants.INDS_IN_SAMPLE_ARRAY_FILENAME.replace( ".npy", f"-{subset}.npy" )
[docs] def load_frames(frames_path, input_type): """Helper function that loads "frames", the input to the frame classification model. Loads audio or spectrogram, depending on :attr:`self.input_type`. This function assumes that audio is in wav format and spectrograms are in npz files. """ if input_type == "audio": frames, _ = common.constants.AUDIO_FORMAT_FUNC_MAP[ constants.FRAME_CLASSIFICATION_DATASET_AUDIO_FORMAT ](frames_path) elif input_type == "spect": spect_dict = common.files.spect.load(frames_path) frames = spect_dict[common.constants.SPECT_KEY] return frames