Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/test-funasr-onnx-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ jobs:
import importlib.util
from importlib.metadata import requires, version

assert version("funasr-onnx") == "0.4.5"
assert version("funasr-onnx") == "0.4.6"
assert importlib.util.find_spec("torch") is None

requirements = requires("funasr-onnx") or []
Expand Down Expand Up @@ -125,6 +125,7 @@ jobs:
if: matrix.python-version == '3.12'
uses: actions/upload-artifact@v7
with:
name: funasr-onnx-0.4.5
name: funasr-onnx-0.4.6
path: dist/funasr-onnx/*
if-no-files-found: error

14 changes: 10 additions & 4 deletions runtime/python/onnxruntime/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ does not update the installed ONNX wrappers. Check their versions separately
with `python -m pip show funasr-onnx funasr`; use the source installation below
when a required wrapper fix is newer than the published PyPI package.

Version 0.4.6 fixes offline FSMN-VAD calls with multiple inputs so each
waveform is scored independently and returns one independent result per input.
Requested batch sizes remain accepted, while the effective model batch remains 1
(#3831).

Version 0.4.5 also fixes streaming Paraformer crashes on short packets that have
not produced a feature frame yet. Buffered audio and final cache flushing are
preserved (#3827).
Expand All @@ -19,9 +24,9 @@ and postprocessing fixes, not a model-weight update or an ASR accuracy claim.
install from pip

```shell
pip install -U "funasr-onnx>=0.4.5"
pip install -U "funasr-onnx>=0.4.6"
# For the users in China, you could install with the command:
# pip install -U "funasr-onnx>=0.4.5" -i https://mirror.sjtu.edu.cn/pypi/web/simple
# pip install -U "funasr-onnx>=0.4.6" -i https://mirror.sjtu.edu.cn/pypi/web/simple
# If you want to export .onnx file, you should install modelscope and funasr
pip install -U modelscope funasr
# For the users in China, you could install with the command:
Expand Down Expand Up @@ -149,7 +154,7 @@ from funasr_onnx import CT_Transformer
model_dir = "damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch"
model = CT_Transformer(model_dir)

text_in="跨境河流是养育沿岸人民的生命之源长期以来为帮助下游地区防灾减灾中方技术人员在上游地区极为恶劣的自然条件下克服巨大困难甚至冒着生命危险向印方提供汛期水文资料处理紧急事件中方重视印方在跨境河流问题上的关切愿意进一步完善双方联合工作机制凡是中方能做的我们都会去做而且会做得更好我请印度朋友们放心中国在上游的任何开发利用都会经过科学规划和论证兼顾上下游的利益"
text_in="跨境河流是养育沿岸人民的生命之源长期以来为帮助下游地区防灾减灾中方技术人员在上游地区极为恶劣的自然条件下克服巨大困难甚至冒着生命危险向印方提供汛期水文资料处理紧急事件中方重视印方在跨境河流问题上的关切愿意进一步完善双方联合工作机制凡是中方能做的我们都会去做而且会做得更好我请印度朋友们放心中国在上游的任何开发利用都会经过科学规划和论证兼顾上下游的利益"
result = model(text_in)
print(result[0])
```
Expand All @@ -171,7 +176,7 @@ from funasr_onnx import CT_Transformer_VadRealtime
model_dir = "damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727"
model = CT_Transformer_VadRealtime(model_dir)

text_in = "跨境河流是养育沿岸|人民的生命之源长期以来为帮助下游地区防灾减灾中方技术人员|在上游地区极为恶劣的自然条件下克服巨大困难甚至冒着生命危险|向印方提供汛期水文资料处理紧急事件中方重视印方在跨境河流>问题上的关切|愿意进一步完善双方联合工作机制|凡是|中方能做的我们|都会去做而且会做得更好我请印度朋友们放心中国在上游的|任何开发利用都会经过科学|规划和论证兼顾上下游的利益"
text_in = "跨境河流是养育沿岸|人民的生命之源长期以来为帮助下游地区防灾减灾中方技术人员|在上游地区极为恶劣的自然条件下克服巨大困难甚至冒着生命危险|向印方提供汛期水文资料处理紧急事件中方重视印方在跨境河流>问题上的关切|愿意进一步完善双方联合工作机制|凡是|中方能做的我们|都会去做而且会做得更好我请印度朋友们放心中国在上游的|任何开发利用都会经过科学|规划和论证兼顾上下游的利益"

vads = text_in.split("|")
rec_result_all=""
Expand Down Expand Up @@ -200,3 +205,4 @@ Please ref to [benchmark](https://github.com/modelscope/FunASR/blob/main/runtime

1. This project is maintained by [FunASR community](https://github.com/modelscope/FunASR).
2. We partially refer [SWHL](https://github.com/RapidAI/RapidASR) for onnxruntime (only for paraformer model).

3 changes: 2 additions & 1 deletion runtime/python/onnxruntime/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def get_readme():


MODULE_NAME = "funasr_onnx"
VERSION_NUM = "0.4.5"
VERSION_NUM = "0.4.6"

setuptools.setup(
name=MODULE_NAME,
Expand Down Expand Up @@ -48,3 +48,4 @@ def get_readme():
"Programming Language :: Python :: 3.10",
],
)

3 changes: 2 additions & 1 deletion tests/test_funasr_onnx_installed.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
class InstalledOnnxPackageTest(unittest.TestCase):
def test_installed_distribution_version_and_origin(self):
distribution = importlib.metadata.distribution('funasr-onnx')
self.assertEqual(distribution.version, '0.4.5')
self.assertEqual(distribution.version, '0.4.6')
self.assertEqual(
Path(funasr_onnx.__file__).resolve().parent,
Path(distribution.locate_file('funasr_onnx')).resolve(),
Expand Down Expand Up @@ -145,3 +145,4 @@ def broken_import(name, *args, **kwargs):

if __name__ == '__main__':
unittest.main()

8 changes: 6 additions & 2 deletions tests/test_funasr_onnx_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
ROOT = Path(__file__).resolve().parents[1]
PACKAGE_ROOT = ROOT / "runtime" / "python" / "onnxruntime"
SETUP_PATH = PACKAGE_ROOT / "setup.py"
EXPECTED_VERSION = "0.4.5"
EXPECTED_VERSION = "0.4.6"
REQUIREMENT_NAME_PATTERN = re.compile(r"^\s*([A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?)")


Expand Down Expand Up @@ -44,7 +44,7 @@ def normalized_requirement_name(requirement):


class FunASROnnxReleaseContractTest(unittest.TestCase):
def test_release_version_is_0_4_5(self):
def test_release_version_is_0_4_6(self):
self.assertEqual(assigned_literal(read_setup_tree(), "VERSION_NUM"), EXPECTED_VERSION)

def test_standalone_license_preserves_repository_notice(self):
Expand All @@ -64,6 +64,9 @@ def test_readme_names_the_standalone_fix_release(self):
self.assertIn("does not update the installed ONNX wrappers", readme)
self.assertIn("short/final VAD", readme)
self.assertIn("zero-overlap", readme)
self.assertIn("one independent result per input", readme)
self.assertIn("effective model batch remains 1", readme)
self.assertIn("#3831", readme)

def test_runtime_dependencies_keep_onnx_install_torch_free(self):
requirements = setup_keyword_literal(read_setup_tree(), "install_requires")
Expand Down Expand Up @@ -132,3 +135,4 @@ def test_onnxruntime_import_failure_preserves_the_original_cause(self):

if __name__ == "__main__":
unittest.main()

Loading