Add C++ support for streaming NeMo CTC models. (#857)
This commit is contained in:
@@ -15,6 +15,7 @@ void OnlineModelConfig::Register(ParseOptions *po) {
|
||||
paraformer.Register(po);
|
||||
wenet_ctc.Register(po);
|
||||
zipformer2_ctc.Register(po);
|
||||
nemo_ctc.Register(po);
|
||||
|
||||
po->Register("tokens", &tokens, "Path to tokens.txt");
|
||||
|
||||
@@ -31,11 +32,11 @@ void OnlineModelConfig::Register(ParseOptions *po) {
|
||||
po->Register("provider", &provider,
|
||||
"Specify a provider to use: cpu, cuda, coreml");
|
||||
|
||||
po->Register(
|
||||
"model-type", &model_type,
|
||||
"Specify it to reduce model initialization time. "
|
||||
"Valid values are: conformer, lstm, zipformer, zipformer2, wenet_ctc"
|
||||
"All other values lead to loading the model twice.");
|
||||
po->Register("model-type", &model_type,
|
||||
"Specify it to reduce model initialization time. "
|
||||
"Valid values are: conformer, lstm, zipformer, zipformer2, "
|
||||
"wenet_ctc, nemo_ctc. "
|
||||
"All other values lead to loading the model twice.");
|
||||
}
|
||||
|
||||
bool OnlineModelConfig::Validate() const {
|
||||
@@ -61,6 +62,10 @@ bool OnlineModelConfig::Validate() const {
|
||||
return zipformer2_ctc.Validate();
|
||||
}
|
||||
|
||||
if (!nemo_ctc.model.empty()) {
|
||||
return nemo_ctc.Validate();
|
||||
}
|
||||
|
||||
return transducer.Validate();
|
||||
}
|
||||
|
||||
@@ -72,6 +77,7 @@ std::string OnlineModelConfig::ToString() const {
|
||||
os << "paraformer=" << paraformer.ToString() << ", ";
|
||||
os << "wenet_ctc=" << wenet_ctc.ToString() << ", ";
|
||||
os << "zipformer2_ctc=" << zipformer2_ctc.ToString() << ", ";
|
||||
os << "nemo_ctc=" << nemo_ctc.ToString() << ", ";
|
||||
os << "tokens=\"" << tokens << "\", ";
|
||||
os << "num_threads=" << num_threads << ", ";
|
||||
os << "warm_up=" << warm_up << ", ";
|
||||
|
||||
Reference in New Issue
Block a user