Skip to content

Commit

Permalink
add kaldi models
Browse files Browse the repository at this point in the history
  • Loading branch information
TonyMou committed Apr 18, 2019
1 parent 4de6f91 commit 5c3d6a1
Show file tree
Hide file tree
Showing 14 changed files with 378 additions and 1 deletion.
29 changes: 29 additions & 0 deletions kaldi-models/README.md
@@ -0,0 +1,29 @@
Kaldi models
=====

This folder contains configuration files for numbers of Kaldi nnet2 and nnet3 models which have been converted to ONNX format.

The original Kaldi models are from [here](http://kaldi-asr.org/models.html).

Introduction
---
[Kaldi](http://github.com/kaldi-asr/kaldi) is a toolkit for speech recognition, intended for use by speech recognition researchers and professionals.

MACE already supports most frequently used components in Kaldi and ONNX format models. So we converted most of the open sourced Kaldi models and put them here as examples.

We will also opensource the kaldi-onnx converting tool soon.

| Nnet2 models | Nnet3 models |
| --------------- | --------- |
| [Fisher English](http://kaldi-asr.org/downloads/build/8/trunk/egs/fisher_english/s5/exp/nnet2_online/nnet_a_online/final.mdl) | [CVTE](http://kaldi-asr.org/models/m2) |
| [Librispeech](http://kaldi-asr.org/downloads/build/10/trunk/egs/librispeech/s5/exp/nnet2_online/nnet_ms_a_online/final.mdl) | [SRE16](http://kaldi-asr.org/models/m3) |
| [RM](http://kaldi-asr.org/downloads/build/4/trunk/egs/rm/s5/exp/nnet4c_gpu_ali/final.mdl) |[ASpIRE](http://kaldi-asr.org/models/m4) |
| [Tedlium](http://kaldi-asr.org/downloads/build/9/trunk/egs/tedlium/s5/exp/nnet2_online/nnet_ms_sp_online/final.mdl) |[Tedlium](http://kaldi-asr.org/models/m5) |
| [Timit](http://kaldi-asr.org/downloads/build/7/trunk/egs/timit/s5/exp/tri4_nnet/final.mdl) | [Callhome](http://kaldi-asr.org/models/m6) |
| | [VoxCeleb Models](http://kaldi-asr.org/models/m7) |
| | [SITW Model](http://kaldi-asr.org/models/m8) |


Here we use the 'validation_inputs_data' and 'validation_outputs_data' to validate MACE's inference results.

The 'validation_outputs_data' is the result of using 'nnet2-am-compute' or 'nnet3-compute' to compute the model's propogation with input 'validation_inputs_data'.
29 changes: 29 additions & 0 deletions kaldi-models/nnet2/fisher_english.yml
@@ -0,0 +1,29 @@
library_name: fisher_english_8
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
fisher_english_8:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet2/fisher_english_8_nnet_a.onnx
model_sha256_checksum: e27d8147995b0a68e1367d060dc4f41c0f434043992a52548ff961e4e1e87e6c
subgraphs:
- input_tensors:
- 0
input_shapes:
- 1,20,140
output_tensors:
- 17
output_shapes:
- 1,20,7880
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_20_140.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_fisher_english_8_20_140_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
29 changes: 29 additions & 0 deletions kaldi-models/nnet2/librispeech.yml
@@ -0,0 +1,29 @@
library_name: librispeech
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
librispeech:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet2/librispeech_final.onnx
model_sha256_checksum: 54acbf99d7d7ae5efdca7510476e1aa2189c07c5775c3ebf2ac1a7922b93aec1
subgraphs:
- input_tensors:
- 0
input_shapes:
- 1,20,140
output_tensors:
- 17
output_shapes:
- 1,20,5816
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_20_140.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_librispeech_20_140_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
29 changes: 29 additions & 0 deletions kaldi-models/nnet2/rm.yml
@@ -0,0 +1,29 @@
library_name: rm_nnet4c
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
rm_nnet4c:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet2/rm_nnet4c.onnx
model_sha256_checksum: 5082c5b599f2878382b8496c876057332310be619acffb013a8639d1a9946bcc
subgraphs:
- input_tensors:
- 0
input_shapes:
- 1,20,40
output_tensors:
- 9
output_shapes:
- 1,20,1492
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_20_40.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_rm_nnet_20_40_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
29 changes: 29 additions & 0 deletions kaldi-models/nnet2/tedlium.yml
@@ -0,0 +1,29 @@
library_name: tedlium_nnet_ms_sp
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
tedlium_nnet_ms_sp:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet2/tedlium_nnet_ms_sp.onnx
model_sha256_checksum: b668cf0cda8cf81fd732023123fe9a01305408bdd643e3d0095f084c89b466ab
subgraphs:
- input_tensors:
- 0
input_shapes:
- 1,20,140
output_tensors:
- 26
output_shapes:
- 1,20,3978
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_20_140.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_tedlium_nnet_ms_sp_20_140_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
29 changes: 29 additions & 0 deletions kaldi-models/nnet2/timit.yml
@@ -0,0 +1,29 @@
library_name: timit
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
timit:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet2/timit_tri4_nnet.onnx
model_sha256_checksum: 2e9fafcb480d24a03f7d7dea22985b0fa13e93ccba2c350479026953a0487771
subgraphs:
- input_tensors:
- 0
input_shapes:
- 1,20,40
output_tensors:
- 9
output_shapes:
- 1,20,1973
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_20_40.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_timit_20_40_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
29 changes: 29 additions & 0 deletions kaldi-models/nnet3/callhome.yml
@@ -0,0 +1,29 @@
library_name: callhome
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
callhome:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet3/callhome.onnx
model_sha256_checksum: 2a5169f72833a103da4bdc2b49c61abc32b2f50ba6772f604277198bff6ad9aa
subgraphs:
- input_tensors:
- input
input_shapes:
- 1,20,23
output_tensors:
- output.log-softmax
output_shapes:
- 1,20,5164
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_20_23.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_callhome_20_23_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
29 changes: 29 additions & 0 deletions kaldi-models/nnet3/cvte.yml
@@ -0,0 +1,29 @@
library_name: cvte
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
cvte:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet3/cvte.onnx
model_sha256_checksum: 3de8bf47586818aa6a33738286b3b7ef88bf19aa3036d54bbe7aa4bddd1f8463
subgraphs:
- input_tensors:
- input
input_shapes:
- 1,20,40
output_tensors:
- output.affine
output_shapes:
- 1,20,6508
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_20_40.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_cvte_20_40_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
29 changes: 29 additions & 0 deletions kaldi-models/nnet3/sitw.yml
@@ -0,0 +1,29 @@
library_name: sitw
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
sitw:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet3/sitw.onnx
model_sha256_checksum: ff8af27b1f24b88af6dc1acf97b33bc334925801d4f8c68cd569dff796a6f956
subgraphs:
- input_tensors:
- input
input_shapes:
- 1,20,30
output_tensors:
- output.log-softmax
output_shapes:
- 1,20,7185
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_20_30.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_sitw_20_30_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
29 changes: 29 additions & 0 deletions kaldi-models/nnet3/sre_16.yml
@@ -0,0 +1,29 @@
library_name: sre16
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
sre16:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet3/sre_16.onnx
model_sha256_checksum: 2445cc308b44289484a8a53302def4dd4cce838c646b4692022c9366f3b81ee9
subgraphs:
- input_tensors:
- input
input_shapes:
- 1,20,23
output_tensors:
- output.log-softmax
output_shapes:
- 1,20,5139
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_20_23.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_sre_16_20_23_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
29 changes: 29 additions & 0 deletions kaldi-models/nnet3/stats.yml
@@ -0,0 +1,29 @@
library_name: tdnn-stats
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
stats:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet3/stats.onnx
model_sha256_checksum: eb9fb0cd96c05de157a0b20868263dd6fb72be1c00498a6ba2f8b3a60c61d0c7
subgraphs:
- input_tensors:
- input
input_shapes:
- 1,5,40
output_tensors:
- output.log-softmax
output_shapes:
- 1,5,3
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_5_40.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_stats_5_40_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
29 changes: 29 additions & 0 deletions kaldi-models/nnet3/tedlium.yml
@@ -0,0 +1,29 @@
library_name: tedlium
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
tedlium:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet3/tedlium.onnx
model_sha256_checksum: cdae96691b58c9107c44503d5b0507010fac590f62e48943fae28e4d226de4a5
subgraphs:
- input_tensors:
- input
input_shapes:
- 1,20,800
output_tensors:
- output.affine
output_shapes:
- 1,20,800
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_20_800.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_tedlium_20_800_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
29 changes: 29 additions & 0 deletions kaldi-models/nnet3/voxceleb.yml
@@ -0,0 +1,29 @@
library_name: voxceleb
target_abis: [armeabi-v7a, arm64-v8a]
model_graph_format: file
model_data_format: file
models:
voxceleb:
platform: onnx
model_file_path: https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/nnet3/voxceleb.onnx
model_sha256_checksum: 3105bfc9de9f290d984a393039a444a6ff37354da9044f098b0e910a1e50d320
subgraphs:
- input_tensors:
- input
input_shapes:
- 1,20,30
output_tensors:
- output.log-softmax
output_shapes:
- 1,20,7325
backend: kaldi
input_data_formats: NONE
output_data_formats: NONE
validation_inputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/kaldi_input_20_30.npy
validation_outputs_data:
- https://cnbj1.fds.api.xiaomi.com/mace/miai-models/onnx/kaldi/data/test_voxceleb_20_30_out.npy
runtime: cpu
limit_opencl_kernel_time: 0
nnlib_graph_mode: 0
obfuscate: 0
2 changes: 1 addition & 1 deletion onnx-models/README.md
Expand Up @@ -9,4 +9,4 @@ ONNX is a new open ecosystem for interchangeable AI models.[[link]](https://gith

The original pretrained model is [here](https://github.com/onnx/models/tree/master/models/image_classification)

Before deploying these onnx models, we used onnx_optimizer.py in mace/tools/ to generate optimized models.
Before deploying these onnx models, we used onnx_optimizer.py in mace/tools/ to generate optimized models.

0 comments on commit 5c3d6a1

Please sign in to comment.