Refactor online recognizer (#250)

* Refactor online recognizer.

Make it easier to support other streaming models.

Note that it is a breaking change for the Python API.
`sherpa_onnx.OnlineRecognizer()` used before should be
replaced by `sherpa_onnx.OnlineRecognizer.from_transducer()`.
This commit is contained in:
Fangjun Kuang
2023-08-09 20:27:31 +08:00
committed by GitHub
parent 6061318e3f
commit 79c2ce5dd4
40 changed files with 670 additions and 480 deletions

View File

@@ -65,7 +65,7 @@ class TestOnlineRecognizer(unittest.TestCase):
return
for decoding_method in ["greedy_search", "modified_beam_search"]:
recognizer = sherpa_onnx.OnlineRecognizer(
recognizer = sherpa_onnx.OnlineRecognizer.from_transducer(
encoder=encoder,
decoder=decoder,
joiner=joiner,
@@ -109,7 +109,7 @@ class TestOnlineRecognizer(unittest.TestCase):
return
for decoding_method in ["greedy_search", "modified_beam_search"]:
recognizer = sherpa_onnx.OnlineRecognizer(
recognizer = sherpa_onnx.OnlineRecognizer.from_transducer(
encoder=encoder,
decoder=decoder,
joiner=joiner,

View File

@@ -14,19 +14,13 @@ import _sherpa_onnx
class TestOnlineTransducerModelConfig(unittest.TestCase):
def test_constructor(self):
config = _sherpa_onnx.OnlineTransducerModelConfig(
encoder_filename="encoder.onnx",
decoder_filename="decoder.onnx",
joiner_filename="joiner.onnx",
tokens="tokens.txt",
num_threads=8,
debug=True,
encoder="encoder.onnx",
decoder="decoder.onnx",
joiner="joiner.onnx",
)
assert config.encoder_filename == "encoder.onnx", config.encoder_filename
assert config.decoder_filename == "decoder.onnx", config.decoder_filename
assert config.joiner_filename == "joiner.onnx", config.joiner_filename
assert config.tokens == "tokens.txt", config.tokens
assert config.num_threads == 8, config.num_threads
assert config.debug is True, config.debug
assert config.encoder == "encoder.onnx", config.encoder
assert config.decoder == "decoder.onnx", config.decoder
assert config.joiner == "joiner.onnx", config.joiner
print(config)