Configuration Parsing Warning:Invalid JSON for config file config.json

YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

wenet.axera

WeNet on Axera.

预转换好的模型在Release 基于AIShell数据集的100条语音量化

安装依赖

x86:

pip install -r requirements_x86.txt

开发板:

pip install -r requirements_ax.txt

导出 ONNX

python export_onnx.py \
  --pretrained_model_dir pretrained/aishell_u2pp_conformer_exp \
  --output_onnx_dir onnx_model

如果不指定参数,默认会下载并使用 pretrained/aishell_u2pp_conformer_exp

输出:

onnx_model/encoder_offline.onnx
onnx_model/encoder_online.onnx
onnx_model/decoder.onnx

生成量化数据集

wget https://github.com/ml-inory/whisper.axera/releases/download/v1.0/datasets.zip
unzip datasets.zip -d datasets
python generate_data.py \
  -i datasets \
  --config pretrained/aishell_u2pp_conformer_exp/train.yaml \
  --vocab pretrained/aishell_u2pp_conformer_exp/units.txt \
  --onnx_dir onnx_model \
  --calib_data_path calibration_dataset \
  --max_num 100

转 axmodel

转换:

pulsar2 build \
  --input onnx_model/encoder_offline.onnx \
  --config config_encoder_offline.json \
  --output_dir axmodel/encoder_offline \
  --output_name encoder_offline.axmodel \
  --target_hardware AX650 \
  --npu_mode NPU3

pulsar2 build \
  --input onnx_model/encoder_online.onnx \
  --config config_encoder_online.json \
  --output_dir axmodel/encoder_online \
  --output_name encoder_online.axmodel \
  --target_hardware AX650 \
  --npu_mode NPU3

pulsar2 build \
  --input onnx_model/decoder.onnx \
  --config config_decoder.json \
  --output_dir axmodel/decoder \
  --output_name decoder.axmodel \
  --target_hardware AX650 \
  --npu_mode NPU3

跑 ONNX

Offline CTC:

python run_ort.py \
  -i demo.wav \
  --config pretrained/aishell_u2pp_conformer_exp/train.yaml \
  --vocab pretrained/aishell_u2pp_conformer_exp/units.txt \
  --onnx_dir onnx_model \
  --mode ctc_prefix_beam_search \
  --calib_data_path ""

Online CTC:

python run_ort.py \
  -i demo.wav \
  --online \
  --config pretrained/aishell_u2pp_conformer_exp/train.yaml \
  --vocab pretrained/aishell_u2pp_conformer_exp/units.txt \
  --onnx_dir onnx_model \
  --mode ctc_prefix_beam_search \
  --calib_data_path ""

Attention rescoring:

python run_ort.py \
  -i demo.wav \
  --config pretrained/aishell_u2pp_conformer_exp/train.yaml \
  --vocab pretrained/aishell_u2pp_conformer_exp/units.txt \
  --onnx_dir onnx_model \
  --mode attention_rescoring \
  --calib_data_path ""

跑 axmodel

在开发板仓库目录运行。

Offline CTC:

python3 run_ax.py -i demo.wav --mode ctc_prefix_beam_search --provider AxEngineExecutionProvider

Online CTC:

python3 run_ax.py -i demo.wav --online --mode ctc_prefix_beam_search --provider AxEngineExecutionProvider

Offline attention rescoring:

python3 run_ax.py -i demo.wav --mode attention_rescoring --provider AxEngineExecutionProvider

Online attention rescoring:

python3 run_ax.py -i demo.wav --online --mode attention_rescoring --provider AxEngineExecutionProvider

RTF 测试结果,demo.wav 时长 4.204s,repeat 5,不含模型加载:

模式 平均耗时 RTF
offline CTC 0.5202s 0.1237
online CTC 0.5582s 0.1328
offline attention rescoring 0.5266s 0.1253
online attention rescoring 0.5626s 0.1338
Downloads last month
10
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including AXERA-TECH/WeNet