Fangjun Kuang
Committed by GitHub

Print a more user-friendly error message when using --hotwords-file. (#344)

... ... @@ -46,7 +46,17 @@ bool OfflineRecognizerConfig::Validate() const {
max_active_paths);
return false;
}
if (!lm_config.Validate()) return false;
if (!lm_config.Validate()) {
return false;
}
}
if (!hotwords_file.empty() && decoding_method != "modified_beam_search") {
SHERPA_ONNX_LOGE(
"Please use --decoding-method=modified_beam_search if you"
" provide --hotwords-file. Given --decoding-method=%s",
decoding_method.c_str());
return false;
}
return model_config.Validate();
... ...
... ... @@ -156,8 +156,9 @@ class OnlineRecognizerTransducerImpl : public OnlineRecognizerImpl {
bool has_context_graph = false;
for (int32_t i = 0; i != n; ++i) {
if (!has_context_graph && ss[i]->GetContextGraph())
if (!has_context_graph && ss[i]->GetContextGraph()) {
has_context_graph = true;
}
const auto num_processed_frames = ss[i]->GetNumProcessedFrames();
std::vector<float> features =
... ...
... ... @@ -102,8 +102,20 @@ bool OnlineRecognizerConfig::Validate() const {
max_active_paths);
return false;
}
if (!lm_config.Validate()) return false;
if (!lm_config.Validate()) {
return false;
}
}
if (!hotwords_file.empty() && decoding_method != "modified_beam_search") {
SHERPA_ONNX_LOGE(
"Please use --decoding-method=modified_beam_search if you"
" provide --hotwords-file. Given --decoding-method=%s",
decoding_method.c_str());
return false;
}
return model_config.Validate();
}
... ...
from typing import Dict, List, Optional
from _sherpa_onnx import (
CircularBuffer,
Display,
... ...
... ... @@ -102,6 +102,12 @@ class OfflineRecognizer(object):
feature_dim=feature_dim,
)
if len(hotwords_file) > 0 and decoding_method != "modified_beam_search":
raise ValueError(
"Please use --decoding-method=modified_beam_search when using "
f"--hotwords-file. Currently given: {decoding_method}"
)
recognizer_config = OfflineRecognizerConfig(
feat_config=feat_config,
model_config=model_config,
... ...
... ... @@ -132,6 +132,12 @@ class OnlineRecognizer(object):
rule3_min_utterance_length=rule3_min_utterance_length,
)
if len(hotwords_file) > 0 and decoding_method != "modified_beam_search":
raise ValueError(
"Please use --decoding-method=modified_beam_search when using "
f"--hotwords-file. Currently given: {decoding_method}"
)
recognizer_config = OnlineRecognizerConfig(
feat_config=feat_config,
model_config=model_config,
... ...