Skip to content

Commit 41a3fb5

Browse files
authored
Export Parakeet-TDT-CTC to QNN (k2-fsa#3692)
1 parent 6faa814 commit 41a3fb5

14 files changed

Lines changed: 820 additions & 11 deletions
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#!/usr/bin/env python3
2+
# Copyright 2026 Xiaomi Corp. (authors: Fangjun Kuang)
3+
4+
import json
5+
6+
from device_info import soc_info_dict
7+
from dataclasses import asdict, dataclass
8+
import itertools
9+
10+
11+
@dataclass
12+
class Config:
13+
soc: str # SM8850
14+
soc_id: int # 87
15+
arch: str # v81
16+
num_seconds: int
17+
model_name: str
18+
19+
20+
def main():
21+
22+
model_name_list = ["parakeet-tdt_ctc-110m", "parakeet-tdt_ctc-0.6b-ja"]
23+
num_seconds_list = [3, 5, 8, 10, 13, 15, 18, 20, 23, 25, 28, 30]
24+
25+
configs = []
26+
27+
for name, soc in soc_info_dict.items():
28+
for num_seconds, model_name in itertools.product(
29+
num_seconds_list, model_name_list
30+
):
31+
configs.append(
32+
Config(
33+
soc=name,
34+
soc_id=soc.model.value,
35+
arch=soc.info.arch.name,
36+
model_name=model_name,
37+
num_seconds=num_seconds,
38+
)
39+
)
40+
41+
ans = [asdict(c) for c in configs]
42+
43+
print(json.dumps({"include": ans}))
44+
45+
46+
if __name__ == "__main__":
47+
main()

.github/workflows/export-paraformer-to-qnn.yaml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,18 @@ jobs:
7979
- name: Download toolkit
8080
shell: bash
8181
run: |
82-
curl -SL -O https://huggingface.co/csukuangfj/qnn-toolkit/resolve/main/v2.40.0.251030.zip
82+
url=https://huggingface.co/csukuangfj/qnn-toolkit/resolve/main/v2.40.0.251030.zip
83+
for i in $(seq 1 10); do
84+
curl -SL -O $url
85+
size=$(stat -c%s v2.40.0.251030.zip 2>/dev/null || stat -f%z v2.40.0.251030.zip 2>/dev/null)
86+
if [ "$size" -gt 100000000 ]; then
87+
echo "Download succeeded, size=$size"
88+
break
89+
fi
90+
echo "Download failed (size=$size), retrying in 30s... ($i/10)"
91+
rm -f v2.40.0.251030.zip
92+
sleep 30
93+
done
8394
ls -lh v2.40.0.251030.zip
8495
8596
- name: Unzip toolkit

.github/workflows/export-parakeet-ctc-qnn.yaml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,18 @@ jobs:
198198
- name: Download toolkit
199199
shell: bash
200200
run: |
201-
curl -SL -O https://huggingface.co/csukuangfj/qnn-toolkit/resolve/main/v2.40.0.251030.zip
201+
url=https://huggingface.co/csukuangfj/qnn-toolkit/resolve/main/v2.40.0.251030.zip
202+
for i in $(seq 1 10); do
203+
curl -SL -O $url
204+
size=$(stat -c%s v2.40.0.251030.zip 2>/dev/null || stat -f%z v2.40.0.251030.zip 2>/dev/null)
205+
if [ "$size" -gt 100000000 ]; then
206+
echo "Download succeeded, size=$size"
207+
break
208+
fi
209+
echo "Download failed (size=$size), retrying in 30s... ($i/10)"
210+
rm -f v2.40.0.251030.zip
211+
sleep 30
212+
done
202213
ls -lh v2.40.0.251030.zip
203214
204215
- name: Unzip toolkit

0 commit comments

Comments
 (0)