Files
nvidia-nemo--speech/nemo/collections/asr/data/feature_to_text_dataset.py
T
wehub-resource-sync ba4be087d5
Create PR to main with cherry-pick from release / cherry-pick (push) Failing after 0s
CICD NeMo / pre-flight (push) Failing after 0s
CICD NeMo / configure (push) Has been skipped
Build, validate, and release Neural Modules / pre-flight (push) Failing after 1s
CICD NeMo / code-linting (push) Has been skipped
Build, validate, and release Neural Modules / release (push) Has been skipped
Build, validate, and release Neural Modules / release-summary (push) Has been cancelled
CICD NeMo / cicd-test-container-build (push) Has been cancelled
CICD NeMo / cicd-import-tests (push) Has been cancelled
CICD NeMo / L0_Setup_Test_Data_And_Models (push) Has been cancelled
CICD NeMo / cicd-main-unit-tests (push) Has been cancelled
CICD NeMo / cicd-main-speech (push) Has been cancelled
CICD NeMo / Nemo_CICD_Test (push) Has been cancelled
CICD NeMo / Coverage (e2e) (push) Has been cancelled
CICD NeMo / Coverage (unit-test) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
CICD NeMo / cicd-wait-in-queue (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:28:58 +08:00

95 lines
3.8 KiB
Python

# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import Optional
from nemo.collections.asr.data.feature_to_text import FeatureToBPEDataset, FeatureToCharDataset
from nemo.utils import logging
def get_char_dataset(config: dict, augmentor: Optional['FeatureAugmentor'] = None) -> FeatureToCharDataset:
"""
Instantiates a Character Encoding based FeatureToCharDataset.
Args:
config: Config of the FeatureToCharDataset.
augmentor: Optional AudioAugmentor object for augmentations on audio data.
Returns:
An instance of FeatureToCharDataset.
"""
if 'labels' not in config:
logging.warning(f"dataset does not have explicitly defined labels")
dataset = FeatureToCharDataset(
manifest_filepath=config['manifest_filepath'],
labels=config.get('labels', None),
normalize=config.get('normalize', 'post_norm'),
normalize_type=config.get('normalize_type', 'per_feature'),
use_rttm=config.get('use_rttm', False),
rttm_mode=config.get('rttm_mode', 'mask'),
feat_min_len=config.get('feat_min_len', 4),
feat_mask_val=config.get('feat_mask_val', None),
frame_unit_time_secs=config.get('frame_unit_time_secs', 0.01),
sample_rate=config.get('sample_rate', 16000),
augmentor=augmentor,
max_duration=config.get('max_duration', None),
min_duration=config.get('min_duration', None),
max_utts=config.get('max_utts', 0),
blank_index=config.get('blank_index', -1),
unk_index=config.get('unk_index', -1),
trim=config.get('trim_silence', False),
parser=config.get('parser', 'en'),
return_sample_id=config.get('return_sample_id', False),
channel_selector=config.get('channel_selector', None),
)
return dataset
def get_bpe_dataset(
config: dict, tokenizer: 'TokenizerSpec', augmentor: Optional['FeatureAugmentor'] = None
) -> FeatureToBPEDataset:
"""
Instantiates a Byte Pair Encoding / Word Piece Encoding based FeatureoToBPEDataset.
Args:
config: Config of the FeatureToBPEDataset.
tokenizer: An instance of a TokenizerSpec object.
augmentor: Optional FeatureAugmentor object for augmentations on audio features.
Returns:
An instance of FeatureToBPEDataset.
"""
dataset = FeatureToBPEDataset(
manifest_filepath=config['manifest_filepath'],
tokenizer=tokenizer,
normalize=config.get('normalize', 'post_norm'),
normalize_type=config.get('normalize_type', 'per_feature'),
use_rttm=config.get('use_rttm', False),
rttm_mode=config.get('rttm_mode', 'mask'),
feat_min_len=config.get('feat_min_len', 4),
feat_mask_val=config.get('feat_mask_val', None),
frame_unit_time_secs=config.get('frame_unit_time_secs', 0.01),
sample_rate=config.get('sample_rate', 16000),
augmentor=augmentor,
max_duration=config.get('max_duration', None),
min_duration=config.get('min_duration', None),
max_utts=config.get('max_utts', 0),
trim=config.get('trim_silence', False),
use_start_end_token=config.get('use_start_end_token', True),
return_sample_id=config.get('return_sample_id', False),
channel_selector=config.get('channel_selector', None),
)
return dataset