codeclawd commited on
Commit
35a42f2
·
verified ·
1 Parent(s): 81ce891

Add files using upload-large-folder tool

Browse files
Files changed (49) hide show
  1. README.md +197 -0
  2. config.json +1 -0
  3. latin/1120ms/decoder.mlmodelc/model.mil +64 -0
  4. latin/1120ms/decoder_joint.mlmodelc/model.mil +83 -0
  5. latin/1120ms/encoder.mlmodelc/model.mil +0 -0
  6. latin/1120ms/joint.mlmodelc/model.mil +31 -0
  7. latin/1120ms/metadata.json +198 -0
  8. latin/1120ms/preprocessor.mlmodelc/model.mil +122 -0
  9. latin/1120ms/tokenizer.json +1 -0
  10. latin/2240ms/decoder.mlmodelc/model.mil +64 -0
  11. latin/2240ms/decoder_joint.mlmodelc/model.mil +83 -0
  12. latin/2240ms/encoder.mlmodelc/model.mil +0 -0
  13. latin/2240ms/joint.mlmodelc/model.mil +31 -0
  14. latin/2240ms/metadata.json +198 -0
  15. latin/2240ms/preprocessor.mlmodelc/model.mil +122 -0
  16. latin/2240ms/tokenizer.json +1 -0
  17. latin/4480ms/metadata.json +198 -0
  18. latin/4480ms/tokenizer.json +1 -0
  19. latin/560ms/metadata.json +198 -0
  20. latin/560ms/tokenizer.json +1 -0
  21. manifest.json +600 -0
  22. multilingual/1120ms/decoder.mlmodelc/model.mil +64 -0
  23. multilingual/1120ms/decoder_joint.mlmodelc/model.mil +83 -0
  24. multilingual/1120ms/encoder.mlmodelc/model.mil +0 -0
  25. multilingual/1120ms/joint.mlmodelc/model.mil +31 -0
  26. multilingual/1120ms/metadata.json +196 -0
  27. multilingual/1120ms/preprocessor.mlmodelc/model.mil +122 -0
  28. multilingual/1120ms/tokenizer.json +0 -0
  29. multilingual/2240ms/decoder.mlmodelc/model.mil +64 -0
  30. multilingual/2240ms/decoder_joint.mlmodelc/model.mil +83 -0
  31. multilingual/2240ms/encoder.mlmodelc/model.mil +0 -0
  32. multilingual/2240ms/joint.mlmodelc/model.mil +31 -0
  33. multilingual/2240ms/metadata.json +196 -0
  34. multilingual/2240ms/preprocessor.mlmodelc/model.mil +122 -0
  35. multilingual/2240ms/tokenizer.json +0 -0
  36. multilingual/4480ms/decoder.mlmodelc/model.mil +64 -0
  37. multilingual/4480ms/decoder_joint.mlmodelc/model.mil +83 -0
  38. multilingual/4480ms/encoder.mlmodelc/model.mil +0 -0
  39. multilingual/4480ms/joint.mlmodelc/model.mil +31 -0
  40. multilingual/4480ms/metadata.json +196 -0
  41. multilingual/4480ms/preprocessor.mlmodelc/model.mil +122 -0
  42. multilingual/4480ms/tokenizer.json +0 -0
  43. multilingual/560ms/decoder.mlmodelc/model.mil +64 -0
  44. multilingual/560ms/decoder_joint.mlmodelc/model.mil +83 -0
  45. multilingual/560ms/encoder.mlmodelc/model.mil +0 -0
  46. multilingual/560ms/joint.mlmodelc/model.mil +31 -0
  47. multilingual/560ms/metadata.json +196 -0
  48. multilingual/560ms/preprocessor.mlmodelc/model.mil +122 -0
  49. multilingual/560ms/tokenizer.json +0 -0
README.md ADDED
@@ -0,0 +1,197 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: openmdw-1.1
4
+ license_link: https://openmdw.ai/license/1-1/
5
+ base_model: nvidia/nemotron-3.5-asr-streaming-0.6b
6
+ library_name: fluidaudio
7
+ pipeline_tag: automatic-speech-recognition
8
+ tags:
9
+ - coreml
10
+ - apple-silicon
11
+ - ane
12
+ - streaming-asr
13
+ - rnnt
14
+ - on-device
15
+ language:
16
+ - en
17
+ - es
18
+ - fr
19
+ - it
20
+ - pt
21
+ - de
22
+ - zh
23
+ - ja
24
+ ---
25
+
26
+ > Mirror of FluidInference/Nemotron-3.5-ASR-Streaming-Multilingual-0.6b-CoreML at revision 1a41b75758b0337ff67db7d5408280aaaf23074e, kept by the PrivateWispr team as a backup host. Licence: OpenMDW-1.1 (https://openmdw.ai/license/1-1/), unchanged; see the License & attribution section below. Original authors: NVIDIA (base model nvidia/nemotron-3.5-asr-streaming-0.6b, OpenMDW-1.1) and FluidInference (Core ML conversion). All model files are byte-identical to the upstream revision; only this header was added to the README.
27
+
28
+ # Nemotron 3.5 ASR Streaming Multilingual 0.6B — CoreML
29
+
30
+
31
+ To grant access please join the server https://discord.gg/S6m4ET3pX and message Sisyphu
32
+
33
+ CoreML / Apple Neural Engine ships of
34
+ [nemotron-3.5-asr-streaming-0.6b](https://huggingface.co/nvidia/nemotron-3.5-asr-streaming-0.6b)
35
+ (Conformer encoder + RNN-T decoder), optimized for on-device streaming ASR
36
+ on Apple Silicon. Benchmarked on Apple M5 Pro / macOS 26.5.
37
+
38
+ > Built on the **2026-05-29** base-checkpoint update.
39
+
40
+ **Two models × 4 latency tiers = 8 bundles.**
41
+ - **`latin/`** — one Latin-script-pruned vocab (2828 tokens) shared by
42
+ **en / es / fr / it / pt / de** (smaller, faster joint).
43
+ - **`multilingual/`** — the **full 13087-token vocab** covering every language,
44
+ including **zh / ja** (and 100+ more via `prompt_id`).
45
+
46
+ Each at four chunk sizes — **0.56 s / 1 s / 2 s / 4 s** — trading latency for
47
+ throughput. Pick the folder by script; pass the exact language at inference
48
+ (`--language de-DE`). FluidAudio's downloader auto-routes the language to the
49
+ right folder. Per-language results are in the table below and in
50
+ [`manifest.json`](manifest.json).
51
+
52
+ ## Ship matrix (per-file RTFx, single-stream batch=1)
53
+
54
+ RTFx = real-time factor (audio-seconds processed per wall-second; higher is
55
+ faster). **WER** for Latin-script languages, **CER for zh/ja** (no word
56
+ boundaries). **All numbers are FLEURS test, full splits** (see methodology).
57
+ The **Folder** column is which bundle serves that language — the en/es/fr/it/pt/de
58
+ rows are all the *same* `latin/` model measured per language; zh/ja and
59
+ Multilingual are the *same* `multilingual/` model.
60
+
61
+ | Language | Folder | Vocab | 0.56 s (560 ms) ‡ | 1 s (1120 ms) | **2 s (2240 ms)** ⭐ | 4 s (4480 ms) | Test set |
62
+ |---|---|--:|--:|--:|--:|--:|---|
63
+ | **English** | `latin` | 2828 | 58 (9.43%) | 103 (8.89%) | **130 (8.96%)** | 122 (9.02%) | FLEURS en_us |
64
+ | **Spanish** | `latin` | 2828 | 58 (4.95%) | 106 (4.76%) | **140 (4.80%)** | 136 (4.77%) | FLEURS es_419 |
65
+ | **French** | `latin` | 2828 | 57 (9.68%) | 105 (9.44%) | **130 (9.52%)** | 124 (9.42%) | FLEURS fr_fr |
66
+ | **Italian** | `latin` | 2828 | 59 (5.68%) | 109 (5.45%) | **147 (5.41%)** | 150 (5.40%) | FLEURS it_it |
67
+ | **Portuguese** | `latin` | 2828 | 59 (6.38%) | 108 (6.11%) | **141 (6.14%)** | 141 (6.18%) | FLEURS pt_br |
68
+ | **German** | `latin` | 2828 | 59 (10.83%) | 107 (9.78%) | **144 (9.83%)** | 142 (9.83%) | FLEURS de_de |
69
+ | **Chinese** | `multilingual` | 13087 | 22 (19.48% C) | 27 (18.75% C) | **89 (18.57% C)** | 90 (18.05% C) | FLEURS cmn_hans_cn |
70
+ | **Japanese** | `multilingual` | 13087 | 21 (14.61% C) | 26 (13.77% C) | **84 (13.79% C)** | 89 (13.82% C) | FLEURS ja_jp |
71
+ | **Multilingual** | `multilingual` | 13087 | 23 (9.15%) | 71 (8.64%) | **80 (8.76%)** | 78 (8.78%) | FLEURS en_us |
72
+
73
+ ‡ **560 ms is the lowest-latency tier but off the trained attention tiling** —
74
+ lower throughput and a small quality cost vs 1120 ms. Use 1120 ms+ unless
75
+ sub-second latency is required.
76
+
77
+ > **Full-vocab models (zh / ja / multilingual) are tier-sensitive.** The
78
+ > 13087-vocab joint matmul only fits the ANE working-set efficiently at the
79
+ > **2 s** tier. At 560 ms the per-chunk joint overhead dominates and throughput
80
+ > collapses to ≈ 21–23 RTFx; **use the 2 s tier for zh/ja/multilingual**
81
+ > (zh/ja ≈ 84–90, multilingual-en ≈ 80). Throughput at 1 s depends on output
82
+ > density — sparse Latin text (multilingual-en ≈ 71 RTFx) fares far better than
83
+ > dense CJK (zh/ja ≈ 26), since CJK hits the big joint on more decode steps.
84
+ > The Latin-script ships (small joint) are fast at every tier.
85
+
86
+ ### Which tier to use
87
+
88
+ - **2 s (2240 ms) is the recommended default for every model.** Latin-script
89
+ ships run ≈ 130–150 RTFx; zh/ja/multilingual peak here at ≈ 84–90 RTFx.
90
+ WER/CER is at or near its best, at 2.5 s latency.
91
+ - **1 s (1120 ms)** for lower latency (1.25 s) on the Latin-script ships at
92
+ near-full quality (≈ 103–109 RTFx). Avoid for zh/ja/multilingual (≈ 26 RTFx).
93
+ - **0.56 s (560 ms)** only when sub-second latency is mandatory; off the trained
94
+ tiling, so throughput and quality both dip. Not recommended for
95
+ zh/ja/multilingual (≈ 21–22 RTFx).
96
+ - **4 s (4480 ms)** for offline/long-form. Within noise of 2 s for the
97
+ Latin-script ships, so 2 s usually dominates.
98
+
99
+ ## Recipe
100
+
101
+ All ships share: **LAYERPOS [42,13] mixed-precision encoder** (first/last 3
102
+ Conformer layers INT8, middle 18 layers 6-bit palettized — ~55% encoder size
103
+ cut vs FP16, WER-neutral) + **B1 decoder⊕joint fusion** + **triple-stage
104
+ pipelining**.
105
+
106
+ Vocab handling differs by script:
107
+ - **Latin-script languages (en/es/fr/it/pt/de)** share **one Latin-script-pruned
108
+ joint** — the keep-set is derived from the **writing system** (all Latin +
109
+ shared punctuation/digit tokens kept; CJK/Hangul/Cyrillic/Arabic/etc.
110
+ dropped), **not from any test corpus**. 2828 tokens, ~5× smaller joint, no
111
+ test-set overfit and no in-script OOV. One model file serves all six
112
+ languages.
113
+ - **Chinese / Japanese / multilingual** keep the **full 13087-vocab joint** — no
114
+ pruning, no OOV, full character coverage.
115
+
116
+ The encoder is **shared across all languages** (a multilingual encoder that
117
+ selects language via `prompt_id`) and is byte-identical across the Latin-script
118
+ and full-vocab ships at each tier — only the decode stack differs.
119
+
120
+ ## Usage (FluidAudio)
121
+
122
+ Each `<model>/<tier>ms/` directory is a self-contained bundle. Pick the folder
123
+ by script (`latin` for en/es/fr/it/pt/de, `multilingual` for everything else)
124
+ and pass the exact language:
125
+
126
+ ```bash
127
+ fluidaudiocli nemotron-multilingual-transcribe \
128
+ --input audio.wav \
129
+ --model-dir latin/2240ms \
130
+ --language de-DE
131
+ ```
132
+
133
+ The FluidAudio auto-downloader routes `--language` to the correct folder
134
+ automatically. Models are shipped as compiled `.mlmodelc` (immediate load on
135
+ Apple Silicon).
136
+
137
+ ## Folder layout
138
+
139
+ ```
140
+ <model>/<tier>ms/
141
+ preprocessor.mlmodelc
142
+ encoder.mlmodelc # LAYERPOS [42,13], byte-identical across both models per tier
143
+ decoder.mlmodelc
144
+ joint.mlmodelc
145
+ decoder_joint.mlmodelc # B1 fusion (default decode path)
146
+ metadata.json
147
+ tokenizer.json
148
+ ```
149
+ `<model>` ∈ {latin, multilingual}; `<tier>` ∈ {560, 1120, 2240, 4480}.
150
+ `latin` serves en/es/fr/it/pt/de (shared Latin-script vocab); `multilingual`
151
+ serves zh/ja and 100+ languages via `prompt_id` (full vocab). A top-level
152
+ [`manifest.json`](manifest.json) indexes both models, all tiers, and per-language
153
+ benchmark numbers.
154
+
155
+ ### iOS 17
156
+
157
+ All `latin/` and `multilingual/` bundles target **iOS 17+ / macOS 14+**. The
158
+ encoder uses an iOS 17-compatible quantization (INT8 cuff via `affine_dequantize`
159
+ + 6-bit palettized middle); the 6-bit middle is unchanged from the prior iOS 18
160
+ build. Speed and WER are identical to that iOS 18 build — verified on LibriSpeech
161
+ test-clean (M5 Pro, 2 s tier): **120 RTFx, 3.67% WER** for both targets.
162
+
163
+ ## Notes
164
+
165
+ - **Latin-script ships are domain-general.** The vocab keep-set is defined by
166
+ the Latin writing system, not derived from any evaluation corpus, so there is
167
+ no test-set overfit and no out-of-vocabulary loss for any Latin-script text.
168
+ - **zh/ja use the full-vocab model** (no pruned keep-set), so they have no OOV
169
+ limitation and cover the full character inventory — at the cost of throughput
170
+ below the 2 s tier (use 2 s).
171
+ - The **multilingual** full-vocab model (13087) supports 100+ languages via
172
+ `prompt_id` — use it when broad coverage matters more than per-language speed.
173
+
174
+ ## Benchmark methodology
175
+
176
+ Apple M5 Pro, macOS 26.5, coremltools 9.0, CoreML iOS 17 target,
177
+ `.cpuAndNeuralEngine` routing. Single-stream, batch=1, per-file sum-aggregate
178
+ RTFx (matches the Open ASR Leaderboard convention). **All languages evaluated
179
+ on FLEURS test, full splits.** WER for Latin-script languages, CER for zh/ja,
180
+ via HuggingFace normalization. No inverse text normalization is applied, so
181
+ FLEURS' digit-bearing utterances inflate WER by ~1–2 pp relative to
182
+ number-normalized references; FLEURS is also multi-domain, so these numbers run
183
+ higher than LibriSpeech/MLS would for the same model.
184
+
185
+ ## License & attribution
186
+
187
+ Derived from the base model
188
+ [nemotron-3.5-asr-streaming-0.6b](https://huggingface.co/nvidia/nemotron-3.5-asr-streaming-0.6b),
189
+ released by NVIDIA under the
190
+ [OpenMDW-1.1 License](https://openmdw.ai/license/1-1/) and marked ready for
191
+ commercial use. This CoreML port is a derivative of those weights and is
192
+ distributed under the same **OpenMDW-1.1** license; commercial use and
193
+ redistribution are permitted under its terms. Retain this attribution to
194
+ NVIDIA and the OpenMDW-1.1 notice when redistributing.
195
+
196
+ Weights are quantized/pruned post-training only — **no retraining, no
197
+ fine-tuning, no calibration-data fitting.**
config.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {}
latin/1120ms/decoder.mlmodelc/model.mil ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [2829, 640]> module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [2829, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_8")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_7")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_6")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(3621248)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(6898112)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(10174976)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_2")];
36
+ tensor<fp16, [1, 1, 640]> input_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_2 = lstm(activation = input_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_lstm_layer_0_cell_activation_0, direction = input_lstm_layer_0_direction_0, initial_c = input_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_lstm_layer_0_output_sequence_0, recurrent_activation = input_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_direction_0 = const()[name = tensor<string, []>("input_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_output_sequence_0 = const()[name = tensor<string, []>("input_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_recurrent_activation_0 = const()[name = tensor<string, []>("input_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_cell_activation_0 = const()[name = tensor<string, []>("input_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_activation_0 = const()[name = tensor<string, []>("input_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(10180160)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(13457024)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16733888)))];
49
+ tensor<fp16, [1, 1, 640]> input_cast_fp16_0, tensor<fp16, [1, 640]> input_cast_fp16_1, tensor<fp16, [1, 640]> input_cast_fp16_2 = lstm(activation = input_activation_0, bias = concat_3_to_fp16, cell_activation = input_cell_activation_0, direction = input_direction_0, initial_c = input_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_h0_squeeze_cast_fp16, output_sequence = input_output_sequence_0, recurrent_activation = input_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_lstm_layer_0_cast_fp16_1, input_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_lstm_layer_0_cast_fp16_2, input_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_0_perm_0 = const()[name = tensor<string, []>("transpose_0_perm_0"), val = tensor<int32, [3]>([1, 2, 0])];
57
+ tensor<string, []> transpose_0_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("transpose_0_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
58
+ tensor<fp16, [1, 640, 1]> transpose_0_cast_fp16 = transpose(perm = transpose_0_perm_0, x = input_cast_fp16_0)[name = tensor<string, []>("transpose_1")];
59
+ tensor<fp32, [1, 640, 1]> decoder_out = cast(dtype = transpose_0_cast_fp16_to_fp32_dtype_0, x = transpose_0_cast_fp16)[name = tensor<string, []>("cast_3")];
60
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_4")];
61
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_5")];
62
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
63
+ } -> (decoder_out, h_out, c_out);
64
+ }
latin/1120ms/decoder_joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [1, 1024, 1]> encoder, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [2829, 640]> decoder_module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("decoder_module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [2829, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_9")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = decoder_module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_8")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_7")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_5_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_5_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_5_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_5_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_5_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(3621248)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(6898112)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(10174976)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_4")];
36
+ tensor<fp16, [1, 1, 640]> input_5_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_2 = lstm(activation = input_5_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_5_lstm_layer_0_cell_activation_0, direction = input_5_lstm_layer_0_direction_0, initial_c = input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_lstm_layer_0_output_sequence_0, recurrent_activation = input_5_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_5_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_5_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_5_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_5_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_5_direction_0 = const()[name = tensor<string, []>("input_5_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_5_output_sequence_0 = const()[name = tensor<string, []>("input_5_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_5_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_5_cell_activation_0 = const()[name = tensor<string, []>("input_5_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_5_activation_0 = const()[name = tensor<string, []>("input_5_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(10180160)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(13457024)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16733888)))];
49
+ tensor<fp16, [1, 1, 640]> input_5_cast_fp16_0, tensor<fp16, [1, 640]> input_5_cast_fp16_1, tensor<fp16, [1, 640]> input_5_cast_fp16_2 = lstm(activation = input_5_activation_0, bias = concat_3_to_fp16, cell_activation = input_5_cell_activation_0, direction = input_5_direction_0, initial_c = input_5_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_output_sequence_0, recurrent_activation = input_5_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_5_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_5_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_5_lstm_layer_0_cast_fp16_1, input_5_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_5_lstm_layer_0_cast_fp16_2, input_5_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_1_perm_0 = const()[name = tensor<string, []>("transpose_1_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
57
+ tensor<int32, [3]> input_7_perm_0 = const()[name = tensor<string, []>("input_7_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
58
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
59
+ tensor<fp16, [640, 1024]> joint_module_enc_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16739072)))];
60
+ tensor<fp16, [640]> joint_module_enc_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18049856)))];
61
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_4")];
62
+ tensor<fp16, [1, 1, 1024]> input_7_cast_fp16 = transpose(perm = input_7_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_2")];
63
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = joint_module_enc_bias_to_fp16, weight = joint_module_enc_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
64
+ tensor<fp16, [640, 640]> joint_module_pred_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18051200)))];
65
+ tensor<fp16, [640]> joint_module_pred_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18870464)))];
66
+ tensor<fp16, [1, 1, 640]> transpose_1_cast_fp16 = transpose(perm = transpose_1_perm_0, x = input_5_cast_fp16_0)[name = tensor<string, []>("transpose_3")];
67
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = joint_module_pred_bias_to_fp16, weight = joint_module_pred_weight_to_fp16, x = transpose_1_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
68
+ tensor<int32, [1]> var_79_axes_0 = const()[name = tensor<string, []>("op_79_axes_0"), val = tensor<int32, [1]>([2])];
69
+ tensor<fp16, [1, 1, 1, 640]> var_79_cast_fp16 = expand_dims(axes = var_79_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_79_cast_fp16")];
70
+ tensor<int32, [1]> var_80_axes_0 = const()[name = tensor<string, []>("op_80_axes_0"), val = tensor<int32, [1]>([1])];
71
+ tensor<fp16, [1, 1, 1, 640]> var_80_cast_fp16 = expand_dims(axes = var_80_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_80_cast_fp16")];
72
+ tensor<fp16, [1, 1, 1, 640]> input_11_cast_fp16 = add(x = var_79_cast_fp16, y = var_80_cast_fp16)[name = tensor<string, []>("input_11_cast_fp16")];
73
+ tensor<fp16, [1, 1, 1, 640]> input_13_cast_fp16 = relu(x = input_11_cast_fp16)[name = tensor<string, []>("input_13_cast_fp16")];
74
+ tensor<fp16, [2829, 640]> joint_module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [2829, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18871808)))];
75
+ tensor<fp16, [2829]> joint_module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [2829]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(22492992)))];
76
+ tensor<fp16, [1, 1, 1, 2829]> linear_2_cast_fp16 = linear(bias = joint_module_joint_net_2_bias_to_fp16, weight = joint_module_joint_net_2_weight_to_fp16, x = input_13_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
77
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
78
+ tensor<fp32, [1, 1, 1, 2829]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_3")];
79
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_5")];
80
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_6")];
81
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
82
+ } -> (logits, h_out, c_out);
83
+ }
latin/1120ms/encoder.mlmodelc/model.mil ADDED
The diff for this file is too large to render. See raw diff
 
latin/1120ms/joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, 640, 1]> decoder, tensor<fp32, [1, 1024, 1]> encoder) {
5
+ tensor<int32, [3]> input_1_perm_0 = const()[name = tensor<string, []>("input_1_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
6
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
7
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
8
+ tensor<string, []> decoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("decoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
9
+ tensor<fp16, [640, 1024]> module_enc_weight_to_fp16 = const()[name = tensor<string, []>("module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
10
+ tensor<fp16, [640]> module_enc_bias_to_fp16 = const()[name = tensor<string, []>("module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1310848)))];
11
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_2")];
12
+ tensor<fp16, [1, 1, 1024]> input_1_cast_fp16 = transpose(perm = input_1_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_1")];
13
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = module_enc_bias_to_fp16, weight = module_enc_weight_to_fp16, x = input_1_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
14
+ tensor<fp16, [640, 640]> module_pred_weight_to_fp16 = const()[name = tensor<string, []>("module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1312192)))];
15
+ tensor<fp16, [640]> module_pred_bias_to_fp16 = const()[name = tensor<string, []>("module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2131456)))];
16
+ tensor<fp16, [1, 640, 1]> decoder_to_fp16 = cast(dtype = decoder_to_fp16_dtype_0, x = decoder)[name = tensor<string, []>("cast_1")];
17
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = decoder_to_fp16)[name = tensor<string, []>("transpose_0")];
18
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = module_pred_bias_to_fp16, weight = module_pred_weight_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
19
+ tensor<int32, [1]> var_23_axes_0 = const()[name = tensor<string, []>("op_23_axes_0"), val = tensor<int32, [1]>([2])];
20
+ tensor<fp16, [1, 1, 1, 640]> var_23_cast_fp16 = expand_dims(axes = var_23_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_23_cast_fp16")];
21
+ tensor<int32, [1]> var_25_axes_0 = const()[name = tensor<string, []>("op_25_axes_0"), val = tensor<int32, [1]>([1])];
22
+ tensor<fp16, [1, 1, 1, 640]> var_25_cast_fp16 = expand_dims(axes = var_25_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_25_cast_fp16")];
23
+ tensor<fp16, [1, 1, 1, 640]> input_5_cast_fp16 = add(x = var_23_cast_fp16, y = var_25_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
24
+ tensor<fp16, [1, 1, 1, 640]> input_7_cast_fp16 = relu(x = input_5_cast_fp16)[name = tensor<string, []>("input_7_cast_fp16")];
25
+ tensor<fp16, [2829, 640]> module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [2829, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2132800)))];
26
+ tensor<fp16, [2829]> module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [2829]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(5753984)))];
27
+ tensor<fp16, [1, 1, 1, 2829]> linear_2_cast_fp16 = linear(bias = module_joint_net_2_bias_to_fp16, weight = module_joint_net_2_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
28
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
29
+ tensor<fp32, [1, 1, 1, 2829]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_0")];
30
+ } -> (logits);
31
+ }
latin/1120ms/metadata.json ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "nvidia/nemotron-3.5-asr-streaming-0.6b",
3
+ "model_class": "nemo.collections.asr.models.rnnt_bpe_models_prompt.EncDecRNNTBPEModelWithPrompt",
4
+ "sample_rate": 16000,
5
+ "mel_features": 128,
6
+ "chunk_mel_frames": 112,
7
+ "pre_encode_cache": 9,
8
+ "total_mel_frames": 121,
9
+ "att_context_size": [
10
+ 42,
11
+ 13
12
+ ],
13
+ "vocab_size": 2828,
14
+ "blank_idx": 2828,
15
+ "vocab_pruned": true,
16
+ "vocab_pruned_original_size": 13087,
17
+ "cache_channel_shape": [
18
+ 1,
19
+ 24,
20
+ 42,
21
+ 1024
22
+ ],
23
+ "cache_time_shape": [
24
+ 1,
25
+ 24,
26
+ 1024,
27
+ 8
28
+ ],
29
+ "decoder_hidden": 640,
30
+ "decoder_layers": 2,
31
+ "encoder_dim": 1024,
32
+ "num_prompts": 128,
33
+ "prompt_dictionary": {
34
+ "en-US": 0,
35
+ "en": 0,
36
+ "en-GB": 1,
37
+ "enGB": 1,
38
+ "es-ES": 2,
39
+ "esES": 2,
40
+ "es-US": 3,
41
+ "es": 3,
42
+ "zh-CN": 4,
43
+ "zh-ZH": 4,
44
+ "zh-TW": 5,
45
+ "hi-IN": 6,
46
+ "hi": 6,
47
+ "hi-HI": 6,
48
+ "ar-AR": 7,
49
+ "ar": 7,
50
+ "fr-FR": 8,
51
+ "fr": 8,
52
+ "de-DE": 9,
53
+ "de": 9,
54
+ "ja-JP": 10,
55
+ "ja-JA": 10,
56
+ "ru-RU": 11,
57
+ "ru": 11,
58
+ "pt-BR": 12,
59
+ "pt-PT": 13,
60
+ "pt": 13,
61
+ "ko-KR": 14,
62
+ "ko": 14,
63
+ "ko-KO": 14,
64
+ "it-IT": 15,
65
+ "it": 15,
66
+ "nl-NL": 16,
67
+ "nl": 16,
68
+ "pl-PL": 17,
69
+ "pl": 17,
70
+ "tr-TR": 18,
71
+ "tr": 18,
72
+ "uk-UA": 19,
73
+ "uk": 19,
74
+ "ro-RO": 20,
75
+ "ro": 20,
76
+ "el-GR": 21,
77
+ "el": 21,
78
+ "cs-CZ": 22,
79
+ "cs": 22,
80
+ "hu-HU": 23,
81
+ "hu": 23,
82
+ "sv-SE": 24,
83
+ "sv": 24,
84
+ "da-DK": 25,
85
+ "da": 25,
86
+ "fi-FI": 26,
87
+ "fi": 26,
88
+ "no-NO": 27,
89
+ "no": 27,
90
+ "nb-NO": 103,
91
+ "nb": 103,
92
+ "nn-NO": 104,
93
+ "nn": 104,
94
+ "sk-SK": 28,
95
+ "sk": 28,
96
+ "hr-HR": 29,
97
+ "hr": 29,
98
+ "bg-BG": 30,
99
+ "bg": 30,
100
+ "lt-LT": 31,
101
+ "lt": 31,
102
+ "et-EE": 60,
103
+ "et": 60,
104
+ "lv-LV": 61,
105
+ "lv": 61,
106
+ "sl-SI": 62,
107
+ "sl": 62,
108
+ "th-TH": 32,
109
+ "vi-VN": 33,
110
+ "id-ID": 34,
111
+ "ms-MY": 35,
112
+ "bn-IN": 36,
113
+ "ur-PK": 37,
114
+ "fa-IR": 38,
115
+ "ta-IN": 39,
116
+ "te-IN": 40,
117
+ "mr-IN": 41,
118
+ "gu-IN": 42,
119
+ "kn-IN": 43,
120
+ "ml-IN": 44,
121
+ "si-LK": 45,
122
+ "ne-NP": 46,
123
+ "km-KH": 47,
124
+ "sw-KE": 48,
125
+ "am-ET": 49,
126
+ "ha-NG": 50,
127
+ "zu-ZA": 51,
128
+ "yo-NG": 52,
129
+ "ig-NG": 53,
130
+ "af-ZA": 54,
131
+ "rw-RW": 55,
132
+ "so-SO": 56,
133
+ "ny-MW": 57,
134
+ "ln-CD": 58,
135
+ "or-KE": 59,
136
+ "he-IL": 64,
137
+ "ku-TR": 65,
138
+ "az-AZ": 66,
139
+ "ka-GE": 67,
140
+ "hy-AM": 68,
141
+ "uz-UZ": 69,
142
+ "tg-TJ": 70,
143
+ "ky-KG": 71,
144
+ "qu-PE": 80,
145
+ "ay-BO": 81,
146
+ "gn-PY": 82,
147
+ "nah-MX": 83,
148
+ "mi-NZ": 96,
149
+ "haw-US": 97,
150
+ "sm-WS": 98,
151
+ "to-TO": 99,
152
+ "fr-CA": 100,
153
+ "mt-MT": 102,
154
+ "auto": 101
155
+ },
156
+ "default_prompt_id": 101,
157
+ "lang_tag_token_ids": [
158
+ 1,
159
+ 96,
160
+ 237,
161
+ 358,
162
+ 513,
163
+ 654,
164
+ 746,
165
+ 829,
166
+ 961,
167
+ 1068,
168
+ 1098,
169
+ 1202,
170
+ 1274,
171
+ 1422,
172
+ 1543,
173
+ 1660,
174
+ 1748,
175
+ 1840,
176
+ 1841,
177
+ 1922,
178
+ 2039,
179
+ 2157,
180
+ 2158,
181
+ 2205,
182
+ 2343,
183
+ 2382,
184
+ 2447,
185
+ 2460,
186
+ 2530,
187
+ 2531,
188
+ 2535,
189
+ 2544,
190
+ 2545,
191
+ 2557,
192
+ 2609,
193
+ 2648,
194
+ 2649,
195
+ 2681,
196
+ 2685
197
+ ]
198
+ }
latin/1120ms/preprocessor.mlmodelc/model.mil ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, ?]> audio, tensor<int32, [1]> audio_length) [FlexibleShapeInformation = tuple<tuple<tensor<string, []>, dict<tensor<string, []>, tensor<int32, [?]>>>, tuple<tensor<string, []>, dict<tensor<string, []>, list<tensor<int32, [2]>, ?>>>>((("DefaultShapes", {{"audio", [1, 1]}}), ("RangeDims", {{"audio", [[1, 1], [1, 1280000]]}})))] {
5
+ tensor<int32, []> var_9 = const()[name = tensor<string, []>("op_9"), val = tensor<int32, []>(1)];
6
+ tensor<int32, []> var_10 = const()[name = tensor<string, []>("op_10"), val = tensor<int32, []>(160)];
7
+ tensor<int32, []> var_12 = const()[name = tensor<string, []>("op_12"), val = tensor<int32, []>(0)];
8
+ tensor<int32, []> var_33 = const()[name = tensor<string, []>("op_33"), val = tensor<int32, []>(512)];
9
+ tensor<int32, [1]> var_34 = add(x = audio_length, y = var_33)[name = tensor<string, []>("op_34")];
10
+ tensor<int32, []> var_35 = const()[name = tensor<string, []>("op_35"), val = tensor<int32, []>(512)];
11
+ tensor<int32, [1]> var_36 = sub(x = var_34, y = var_35)[name = tensor<string, []>("op_36")];
12
+ tensor<int32, [1]> floor_div_0 = floor_div(x = var_36, y = var_10)[name = tensor<string, []>("floor_div_0")];
13
+ tensor<bool, [1]> var_39 = equal(x = audio_length, y = var_12)[name = tensor<string, []>("op_39")];
14
+ tensor<int32, [1]> var_40 = const()[name = tensor<string, []>("op_40"), val = tensor<int32, [1]>([0])];
15
+ tensor<int32, [1]> mel_length = select(a = var_40, b = floor_div_0, cond = var_39)[name = tensor<string, []>("seq_len")];
16
+ tensor<string, []> audio_to_fp16_dtype_0 = const()[name = tensor<string, []>("audio_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
17
+ tensor<fp16, [1, ?]> audio_to_fp16 = cast(dtype = audio_to_fp16_dtype_0, x = audio)[name = tensor<string, []>("cast_14")];
18
+ tensor<int32, [2]> var_42_shape_cast_fp16 = shape(x = audio_to_fp16)[name = tensor<string, []>("op_42_shape_cast_fp16")];
19
+ tensor<int32, []> gather_0_axis_0 = const()[name = tensor<string, []>("gather_0_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<int32, []> gather_0_batch_dims_0 = const()[name = tensor<string, []>("gather_0_batch_dims_0"), val = tensor<int32, []>(0)];
21
+ tensor<bool, []> gather_0_validate_indices_0 = const()[name = tensor<string, []>("gather_0_validate_indices_0"), val = tensor<bool, []>(false)];
22
+ tensor<string, []> var_42_shape_cast_fp16_to_int16_dtype_0 = const()[name = tensor<string, []>("op_42_shape_cast_fp16_to_int16_dtype_0"), val = tensor<string, []>("int16")];
23
+ tensor<uint16, []> select_0_to_uint16 = const()[name = tensor<string, []>("select_0_to_uint16"), val = tensor<uint16, []>(1)];
24
+ tensor<int16, [2]> var_42_shape_cast_fp16_to_int16 = cast(dtype = var_42_shape_cast_fp16_to_int16_dtype_0, x = var_42_shape_cast_fp16)[name = tensor<string, []>("cast_13")];
25
+ tensor<int16, []> gather_0_cast_uint16 = gather(axis = gather_0_axis_0, batch_dims = gather_0_batch_dims_0, indices = select_0_to_uint16, validate_indices = gather_0_validate_indices_0, x = var_42_shape_cast_fp16_to_int16)[name = tensor<string, []>("gather_0_cast_uint16")];
26
+ tensor<string, []> gather_0_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_0_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
27
+ tensor<int32, []> const_0 = const()[name = tensor<string, []>("const_0"), val = tensor<int32, []>(0)];
28
+ tensor<int32, []> const_1 = const()[name = tensor<string, []>("const_1"), val = tensor<int32, []>(1)];
29
+ tensor<int32, []> gather_0_cast_uint16_to_int32 = cast(dtype = gather_0_cast_uint16_to_int32_dtype_0, x = gather_0_cast_uint16)[name = tensor<string, []>("cast_12")];
30
+ tensor<int32, [?]> var_43 = range_1d(end = gather_0_cast_uint16_to_int32, start = const_0, step = const_1)[name = tensor<string, []>("op_43")];
31
+ tensor<int32, [1]> var_44_axes_0 = const()[name = tensor<string, []>("op_44_axes_0"), val = tensor<int32, [1]>([0])];
32
+ tensor<int32, [1, ?]> var_44 = expand_dims(axes = var_44_axes_0, x = var_43)[name = tensor<string, []>("op_44")];
33
+ tensor<int32, [1]> var_45_axes_0 = const()[name = tensor<string, []>("op_45_axes_0"), val = tensor<int32, [1]>([1])];
34
+ tensor<int32, [1, 1]> var_45 = expand_dims(axes = var_45_axes_0, x = audio_length)[name = tensor<string, []>("op_45")];
35
+ tensor<bool, [1, ?]> timemask = less(x = var_44, y = var_45)[name = tensor<string, []>("timemask")];
36
+ tensor<int32, [2]> var_48_begin_0 = const()[name = tensor<string, []>("op_48_begin_0"), val = tensor<int32, [2]>([0, 0])];
37
+ tensor<int32, [2]> var_48_end_0 = const()[name = tensor<string, []>("op_48_end_0"), val = tensor<int32, [2]>([1, 1])];
38
+ tensor<bool, [2]> var_48_end_mask_0 = const()[name = tensor<string, []>("op_48_end_mask_0"), val = tensor<bool, [2]>([true, false])];
39
+ tensor<bool, [2]> var_48_squeeze_mask_0 = const()[name = tensor<string, []>("op_48_squeeze_mask_0"), val = tensor<bool, [2]>([false, true])];
40
+ tensor<fp16, [1]> var_48_cast_fp16 = slice_by_index(begin = var_48_begin_0, end = var_48_end_0, end_mask = var_48_end_mask_0, squeeze_mask = var_48_squeeze_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_48_cast_fp16")];
41
+ tensor<int32, [1]> var_49_axes_0 = const()[name = tensor<string, []>("op_49_axes_0"), val = tensor<int32, [1]>([1])];
42
+ tensor<fp16, [1, 1]> var_49_cast_fp16 = expand_dims(axes = var_49_axes_0, x = var_48_cast_fp16)[name = tensor<string, []>("op_49_cast_fp16")];
43
+ tensor<int32, [2]> var_51_begin_0 = const()[name = tensor<string, []>("op_51_begin_0"), val = tensor<int32, [2]>([0, 1])];
44
+ tensor<int32, [2]> var_51_end_0 = const()[name = tensor<string, []>("op_51_end_0"), val = tensor<int32, [2]>([1, 0])];
45
+ tensor<bool, [2]> var_51_end_mask_0 = const()[name = tensor<string, []>("op_51_end_mask_0"), val = tensor<bool, [2]>([true, true])];
46
+ tensor<fp16, [1, ?]> var_51_cast_fp16 = slice_by_index(begin = var_51_begin_0, end = var_51_end_0, end_mask = var_51_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_51_cast_fp16")];
47
+ tensor<int32, [2]> var_53_begin_0 = const()[name = tensor<string, []>("op_53_begin_0"), val = tensor<int32, [2]>([0, 0])];
48
+ tensor<int32, [2]> var_53_end_0 = const()[name = tensor<string, []>("op_53_end_0"), val = tensor<int32, [2]>([1, -1])];
49
+ tensor<bool, [2]> var_53_end_mask_0 = const()[name = tensor<string, []>("op_53_end_mask_0"), val = tensor<bool, [2]>([true, false])];
50
+ tensor<fp16, [1, ?]> var_53_cast_fp16 = slice_by_index(begin = var_53_begin_0, end = var_53_end_0, end_mask = var_53_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_53_cast_fp16")];
51
+ tensor<fp16, []> var_54_to_fp16 = const()[name = tensor<string, []>("op_54_to_fp16"), val = tensor<fp16, []>(0x1.f0cp-1)];
52
+ tensor<fp16, [1, ?]> var_55_cast_fp16 = mul(x = var_53_cast_fp16, y = var_54_to_fp16)[name = tensor<string, []>("op_55_cast_fp16")];
53
+ tensor<fp16, [1, ?]> var_56_cast_fp16 = sub(x = var_51_cast_fp16, y = var_55_cast_fp16)[name = tensor<string, []>("op_56_cast_fp16")];
54
+ tensor<bool, []> x_3_interleave_0 = const()[name = tensor<string, []>("x_3_interleave_0"), val = tensor<bool, []>(false)];
55
+ tensor<fp16, [1, ?]> x_3_cast_fp16 = concat(axis = var_9, interleave = x_3_interleave_0, values = (var_49_cast_fp16, var_56_cast_fp16))[name = tensor<string, []>("x_3_cast_fp16")];
56
+ tensor<bool, [1, ?]> var_59 = logical_not(x = timemask)[name = tensor<string, []>("op_59")];
57
+ tensor<fp16, []> var_16_to_fp16 = const()[name = tensor<string, []>("op_16_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
58
+ tensor<fp16, [1, ?]> input_1_cast_fp16 = select(a = var_16_to_fp16, b = x_3_cast_fp16, cond = var_59)[name = tensor<string, []>("input_1_cast_fp16")];
59
+ tensor<int32, [3]> concat_1x = const()[name = tensor<string, []>("concat_1x"), val = tensor<int32, [3]>([1, 1, -1])];
60
+ tensor<fp16, [1, 1, ?]> input_3_cast_fp16 = reshape(shape = concat_1x, x = input_1_cast_fp16)[name = tensor<string, []>("input_3_cast_fp16")];
61
+ tensor<int32, [6]> input_5_pad_0 = const()[name = tensor<string, []>("input_5_pad_0"), val = tensor<int32, [6]>([0, 0, 0, 0, 256, 256])];
62
+ tensor<string, []> input_5_mode_0 = const()[name = tensor<string, []>("input_5_mode_0"), val = tensor<string, []>("constant")];
63
+ tensor<fp16, []> const_3_to_fp16 = const()[name = tensor<string, []>("const_3_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
64
+ tensor<fp16, [1, 1, ?]> input_5_cast_fp16 = pad(constant_val = const_3_to_fp16, mode = input_5_mode_0, pad = input_5_pad_0, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
65
+ tensor<int32, [2]> concat_2x = const()[name = tensor<string, []>("concat_2x"), val = tensor<int32, [2]>([1, -1])];
66
+ tensor<fp16, [1, ?]> input_cast_fp16 = reshape(shape = concat_2x, x = input_5_cast_fp16)[name = tensor<string, []>("input_cast_fp16")];
67
+ tensor<int32, [1]> expand_dims_3 = const()[name = tensor<string, []>("expand_dims_3"), val = tensor<int32, [1]>([160])];
68
+ tensor<int32, [1]> expand_dims_4_axes_0 = const()[name = tensor<string, []>("expand_dims_4_axes_0"), val = tensor<int32, [1]>([1])];
69
+ tensor<fp16, [1, 1, ?]> expand_dims_4_cast_fp16 = expand_dims(axes = expand_dims_4_axes_0, x = input_cast_fp16)[name = tensor<string, []>("expand_dims_4_cast_fp16")];
70
+ tensor<string, []> conv_0_pad_type_0 = const()[name = tensor<string, []>("conv_0_pad_type_0"), val = tensor<string, []>("valid")];
71
+ tensor<int32, [2]> conv_0_pad_0 = const()[name = tensor<string, []>("conv_0_pad_0"), val = tensor<int32, [2]>([0, 0])];
72
+ tensor<int32, [1]> conv_0_dilations_0 = const()[name = tensor<string, []>("conv_0_dilations_0"), val = tensor<int32, [1]>([1])];
73
+ tensor<int32, []> conv_0_groups_0 = const()[name = tensor<string, []>("conv_0_groups_0"), val = tensor<int32, []>(1)];
74
+ tensor<fp16, [257, 1, 512]> expand_dims_1_to_fp16 = const()[name = tensor<string, []>("expand_dims_1_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
75
+ tensor<fp16, [1, 257, ?]> conv_0_cast_fp16 = conv(dilations = conv_0_dilations_0, groups = conv_0_groups_0, pad = conv_0_pad_0, pad_type = conv_0_pad_type_0, strides = expand_dims_3, weight = expand_dims_1_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_0_cast_fp16")];
76
+ tensor<string, []> conv_1_pad_type_0 = const()[name = tensor<string, []>("conv_1_pad_type_0"), val = tensor<string, []>("valid")];
77
+ tensor<int32, [2]> conv_1_pad_0 = const()[name = tensor<string, []>("conv_1_pad_0"), val = tensor<int32, [2]>([0, 0])];
78
+ tensor<int32, [1]> conv_1_dilations_0 = const()[name = tensor<string, []>("conv_1_dilations_0"), val = tensor<int32, [1]>([1])];
79
+ tensor<int32, []> conv_1_groups_0 = const()[name = tensor<string, []>("conv_1_groups_0"), val = tensor<int32, []>(1)];
80
+ tensor<fp16, [257, 1, 512]> expand_dims_2_to_fp16 = const()[name = tensor<string, []>("expand_dims_2_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(263296)))];
81
+ tensor<fp16, [1, 257, ?]> conv_1_cast_fp16 = conv(dilations = conv_1_dilations_0, groups = conv_1_groups_0, pad = conv_1_pad_0, pad_type = conv_1_pad_type_0, strides = expand_dims_3, weight = expand_dims_2_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_1_cast_fp16")];
82
+ tensor<int32, []> stack_0_axis_0 = const()[name = tensor<string, []>("stack_0_axis_0"), val = tensor<int32, []>(-1)];
83
+ tensor<fp16, [1, 257, ?, 2]> stack_0_cast_fp16 = stack(axis = stack_0_axis_0, values = (conv_0_cast_fp16, conv_1_cast_fp16))[name = tensor<string, []>("stack_0_cast_fp16")];
84
+ tensor<fp16, []> var_19_promoted_to_fp16 = const()[name = tensor<string, []>("op_19_promoted_to_fp16"), val = tensor<fp16, []>(0x1p+1)];
85
+ tensor<fp16, [1, 257, ?, 2]> var_74_cast_fp16 = pow(x = stack_0_cast_fp16, y = var_19_promoted_to_fp16)[name = tensor<string, []>("op_74_cast_fp16")];
86
+ tensor<int32, [1]> var_76_axes_0 = const()[name = tensor<string, []>("op_76_axes_0"), val = tensor<int32, [1]>([-1])];
87
+ tensor<bool, []> var_76_keep_dims_0 = const()[name = tensor<string, []>("op_76_keep_dims_0"), val = tensor<bool, []>(false)];
88
+ tensor<fp16, [1, 257, ?]> var_76_cast_fp16 = reduce_sum(axes = var_76_axes_0, keep_dims = var_76_keep_dims_0, x = var_74_cast_fp16)[name = tensor<string, []>("op_76_cast_fp16")];
89
+ tensor<fp16, [1, 257, ?]> x_11_cast_fp16 = identity(x = var_76_cast_fp16)[name = tensor<string, []>("x_11_cast_fp16")];
90
+ tensor<bool, []> x_13_transpose_x_0 = const()[name = tensor<string, []>("x_13_transpose_x_0"), val = tensor<bool, []>(false)];
91
+ tensor<bool, []> x_13_transpose_y_0 = const()[name = tensor<string, []>("x_13_transpose_y_0"), val = tensor<bool, []>(false)];
92
+ tensor<fp16, [1, 128, 257]> const_4_to_fp16 = const()[name = tensor<string, []>("const_4_to_fp16"), val = tensor<fp16, [1, 128, 257]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(526528)))];
93
+ tensor<fp16, [1, 128, ?]> x_13_cast_fp16 = matmul(transpose_x = x_13_transpose_x_0, transpose_y = x_13_transpose_y_0, x = const_4_to_fp16, y = x_11_cast_fp16)[name = tensor<string, []>("x_13_cast_fp16")];
94
+ tensor<fp16, []> var_83_to_fp16 = const()[name = tensor<string, []>("op_83_to_fp16"), val = tensor<fp16, []>(0x1p-24)];
95
+ tensor<fp16, [1, 128, ?]> var_84_cast_fp16 = add(x = x_13_cast_fp16, y = var_83_to_fp16)[name = tensor<string, []>("op_84_cast_fp16")];
96
+ tensor<fp32, []> x_epsilon_0 = const()[name = tensor<string, []>("x_epsilon_0"), val = tensor<fp32, []>(0x1p-149)];
97
+ tensor<fp16, [1, 128, ?]> x_cast_fp16 = log(epsilon = x_epsilon_0, x = var_84_cast_fp16)[name = tensor<string, []>("x_cast_fp16")];
98
+ tensor<int32, [3]> var_86_shape_cast_fp16 = shape(x = x_cast_fp16)[name = tensor<string, []>("op_86_shape_cast_fp16")];
99
+ tensor<int32, []> gather_5_axis_0 = const()[name = tensor<string, []>("gather_5_axis_0"), val = tensor<int32, []>(0)];
100
+ tensor<int32, []> gather_5_batch_dims_0 = const()[name = tensor<string, []>("gather_5_batch_dims_0"), val = tensor<int32, []>(0)];
101
+ tensor<bool, []> gather_5_validate_indices_0 = const()[name = tensor<string, []>("gather_5_validate_indices_0"), val = tensor<bool, []>(false)];
102
+ tensor<string, []> var_86_shape_cast_fp16_to_uint16_dtype_0 = const()[name = tensor<string, []>("op_86_shape_cast_fp16_to_uint16_dtype_0"), val = tensor<string, []>("uint16")];
103
+ tensor<uint16, []> select_5_to_uint16 = const()[name = tensor<string, []>("select_5_to_uint16"), val = tensor<uint16, []>(2)];
104
+ tensor<uint16, [3]> var_86_shape_cast_fp16_to_uint16 = cast(dtype = var_86_shape_cast_fp16_to_uint16_dtype_0, x = var_86_shape_cast_fp16)[name = tensor<string, []>("cast_11")];
105
+ tensor<uint16, []> gather_5_cast_uint16 = gather(axis = gather_5_axis_0, batch_dims = gather_5_batch_dims_0, indices = select_5_to_uint16, validate_indices = gather_5_validate_indices_0, x = var_86_shape_cast_fp16_to_uint16)[name = tensor<string, []>("gather_5_cast_uint16")];
106
+ tensor<string, []> gather_5_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_5_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
107
+ tensor<int32, []> const_5 = const()[name = tensor<string, []>("const_5"), val = tensor<int32, []>(0)];
108
+ tensor<int32, []> const_6 = const()[name = tensor<string, []>("const_6"), val = tensor<int32, []>(1)];
109
+ tensor<int32, []> gather_5_cast_uint16_to_int32 = cast(dtype = gather_5_cast_uint16_to_int32_dtype_0, x = gather_5_cast_uint16)[name = tensor<string, []>("cast_10")];
110
+ tensor<int32, [?]> mask_1 = range_1d(end = gather_5_cast_uint16_to_int32, start = const_5, step = const_6)[name = tensor<string, []>("mask_1")];
111
+ tensor<int32, [1]> expand_dims_0_axes_0 = const()[name = tensor<string, []>("expand_dims_0_axes_0"), val = tensor<int32, [1]>([0])];
112
+ tensor<int32, [1, ?]> expand_dims_0 = expand_dims(axes = expand_dims_0_axes_0, x = mask_1)[name = tensor<string, []>("expand_dims_0")];
113
+ tensor<int32, [1]> var_91_axes_0 = const()[name = tensor<string, []>("op_91_axes_0"), val = tensor<int32, [1]>([1])];
114
+ tensor<int32, [1, 1]> var_91 = expand_dims(axes = var_91_axes_0, x = mel_length)[name = tensor<string, []>("op_91")];
115
+ tensor<bool, [1, ?]> mask = greater_equal(x = expand_dims_0, y = var_91)[name = tensor<string, []>("mask")];
116
+ tensor<int32, [1]> var_93_axes_0 = const()[name = tensor<string, []>("op_93_axes_0"), val = tensor<int32, [1]>([1])];
117
+ tensor<bool, [1, 1, ?]> var_93 = expand_dims(axes = var_93_axes_0, x = mask)[name = tensor<string, []>("op_93")];
118
+ tensor<fp16, [1, 128, ?]> processed_signal_cast_fp16 = select(a = var_16_to_fp16, b = x_cast_fp16, cond = var_93)[name = tensor<string, []>("processed_signal_cast_fp16")];
119
+ tensor<string, []> processed_signal_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("processed_signal_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
120
+ tensor<fp32, [1, 128, ?]> mel = cast(dtype = processed_signal_cast_fp16_to_fp32_dtype_0, x = processed_signal_cast_fp16)[name = tensor<string, []>("cast_9")];
121
+ } -> (mel, mel_length);
122
+ }
latin/1120ms/tokenizer.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"0": "<unk>", "1": "<bg-BG>", "2": "▁", "3": ".", "4": ",", "5": "e", "6": "t", "7": "a", "8": "s", "9": "o", "10": "i", "11": "r", "12": "l", "13": "u", "14": "d", "15": "c", "16": "h", "17": "m", "18": "p", "19": "n", "20": "g", "21": "f", "22": "en", "23": "in", "24": "on", "25": "y", "26": "er", "27": "an", "28": "w", "29": "0", "30": "b", "31": "v", "32": "2", "33": "1", "34": "▁the", "35": "k", "36": "?", "37": "3", "38": "5", "39": "q", "40": "I", "41": "é", "42": "4", "43": "z", "44": "A", "45": "6", "46": "j", "47": "E", "48": "7", "49": "T", "50": "8", "51": "9", "52": "S", "53": "x", "54": "C", "55": "M", "56": "P", "57": "D", "58": "B", "59": "U", "60": "W", "61": "N", "62": "O", "63": "G", "64": "à", "65": "F", "66": "L", "67": "è", "68": "V", "69": "R", "70": "ó", "71": "H", "72": "α", "73": "ü", "74": "ä", "75": "J", "76": "í", "77": "τ", "78": "ι", "79": "á", "80": "ο", "81": "K", "82": "ε", "83": "ê", "84": "Y", "85": "ν", "86": "ö", "87": "ç", "88": "ρ", "89": "σ", "90": "π", "91": "ę", "92": "υ", "93": "η", "94": "μ", "95": "κ", "96": "<cs-CZ>", "97": "st", "98": "ch", "99": "ní", "100": "▁s", "101": "le", "102": "li", "103": "▁po", "104": "▁v", "105": "ž", "106": "č", "107": "▁to", "108": "no", "109": "to", "110": "▁z", "111": "me", "112": "▁se", "113": "▁a", "114": "te", "115": "▁je", "116": "ho", "117": "▁pro", "118": "ů", "119": "ně", "120": "ro", "121": "▁na", "122": "ce", "123": "▁o", "124": "la", "125": "š", "126": "▁ne", "127": "ni", "128": "ra", "129": "ti", "130": "lo", "131": "ko", "132": "▁že", "133": "ná", "134": "po", "135": "je", "136": "ě", "137": "de", "138": "na", "139": "mi", "140": "▁do", "141": "ci", "142": "▁k", "143": "ku", "144": "ře", "145": "▁by", "146": "ve", "147": "▁za", "148": "mě", "149": "▁A", "150": "ý", "151": "re", "152": "vá", "153": "ou", "154": "vo", "155": "né", "156": "va", "157": "že", "158": "mo", "159": "vě", "160": "jí", "161": "tě", "162": "vý", "163": "▁tak", "164": "ze", "165": "ří", "166": "ne", "167": "še", "168": "▁vy", "169": "ka", "170": "ji", "171": "ky", "172": "rá", "173": "ovat", "174": "▁ob", "175": "cí", "176": "▁jak", "177": "▁pře", "178": "ny", "179": "ví", "180": "ný", "181": "vi", "182": "▁in", "183": "práv", "184": "ú", "185": "▁co", "186": "▁také", "187": "ent", "188": "▁pan", "189": "▁Děkuji", "190": "▁které", "191": "ři", "192": "▁aby", "193": "▁pří", "194": "▁při", "195": "prav", "196": "ř", "197": "vrop", "198": "▁bude", "199": "▁roz", "200": "▁jsou", "201": "ové", "202": "▁jsme", "203": "ské", "204": "ování", "205": "▁tady", "206": "ský", "207": "děl", "208": "▁musí", "209": "Z", "210": "klad", "211": "▁tedy", "212": "dob", "213": "▁To", "214": "ální", "215": "▁Je", "216": "▁stát", "217": "ň", "218": "oval", "219": "▁protože", "220": "▁jsem", "221": "▁který", "222": "předsed", "223": "▁být", "224": "ď", "225": "Č", "226": "ť", "227": "Š", "228": "Ř", "229": "Ž", "230": "ă", "231": "ł", "232": "ż", "233": "ą", "234": "X", "235": "Ú", "236": "ś", "237": "<da-DK>", "238": "▁for", "239": "▁det", "240": "▁at", "241": "æ", "242": "et", "243": "▁og", "244": "▁vi", "245": "al", "246": "▁de", "247": "▁der", "248": "▁til", "249": "or", "250": "▁er", "251": "om", "252": "å", "253": "ø", "254": "and", "255": "▁har", "256": "at", "257": "▁f", "258": "▁i", "259": "▁så", "260": "▁af", "261": "ge", "262": "ar", "263": "is", "264": "ing", "265": "▁med", "266": "▁på", "267": "▁be", "268": "un", "269": "lig", "270": "▁ikke", "271": "▁man", "272": "ig", "273": "▁som", "274": "ør", "275": "▁Og", "276": "el", "277": "ag", "278": "▁skal", "279": "erne", "280": "▁Det", "281": "▁den", "282": "ste", "283": "ning", "284": "▁jeg", "285": "id", "286": "▁kan", "287": "▁også", "288": "▁vil", "289": "ske", "290": "iv", "291": "▁ud", "292": "▁her", "293": "ion", "294": "am", "295": "ur", "296": "for", "297": "▁pr", "298": "else", "299": "▁sig", "300": "▁men", "301": "▁ind", "302": "▁jo", "303": "ende", "304": "▁være", "305": "▁Vi", "306": "ation", "307": "▁må", "308": "mme", "309": "ighed", "310": "tage", "311": "▁op", "312": "▁Jeg", "313": "▁hvor", "314": "▁ved", "315": "▁få", "316": "▁fra", "317": "▁over", "318": "▁have", "319": "kke", "320": "▁meget", "321": "▁Så", "322": "▁Tak", "323": "▁noget", "324": "▁alle", "325": "brug", "326": "▁komme", "327": "▁Men", "328": "▁var", "329": "hold", "330": "arbejde", "331": "▁eller", "332": "▁vores", "333": "▁frem", "334": "▁altså", "335": "▁vigtig", "336": "vær", "337": "▁EU", "338": "▁gøre", "339": "▁nogle", "340": "skab", "341": "▁spørgsmål", "342": "▁kunne", "343": "▁kommissionen", "344": "▁hvis", "345": "Ø", "346": "Æ", "347": "ς", "348": "λ", "349": "ί", "350": "ό", "351": "ı", "352": "έ", "353": "ά", "354": "ω", "355": "γ", "356": "δ", "357": "ή", "358": "<de-DE>", "359": "▁die", "360": "▁und", "361": "▁das", "362": "sch", "363": "▁ist", "364": "▁ich", "365": "▁ein", "366": "▁ge", "367": "ung", "368": "it", "369": "▁wir", "370": "▁zu", "371": "▁so", "372": "▁da", "373": "▁S", "374": "▁auch", "375": "gen", "376": "▁nicht", "377": "▁W", "378": "▁B", "379": "▁E", "380": "▁F", "381": "ll", "382": "▁es", "383": "▁K", "384": "ie", "385": "au", "386": "▁P", "387": "ich", "388": "▁eine", "389": "lich", "390": "ck", "391": "ten", "392": "mal", "393": "ein", "394": "▁T", "395": "▁dann", "396": "▁Und", "397": "▁mit", "398": "▁auf", "399": "hr", "400": "ter", "401": "tz", "402": "▁dass", "403": "▁G", "404": "ben", "405": "um", "406": "us", "407": "cht", "408": "il", "409": "▁Das", "410": "▁diese", "411": "▁noch", "412": "▁jetzt", "413": "ut", "414": "▁ver", "415": "kt", "416": "▁Ich", "417": "▁hier", "418": "▁hat", "419": "▁haben", "420": "▁von", "421": "ri", "422": "ach", "423": "ol", "424": "▁Da", "425": "▁als", "426": "sp", "427": "▁für", "428": "ell", "429": "▁sich", "430": "▁was", "431": "▁ja", "432": "uch", "433": "▁kann", "434": "▁sind", "435": "wi", "436": "▁aus", "437": "rei", "438": "▁wie", "439": "▁Ge", "440": "und", "441": "▁St", "442": "isch", "443": "▁sie", "444": "▁Ja", "445": "▁du", "446": "▁war", "447": "▁im", "448": "▁dem", "449": "▁aber", "450": "▁oder", "451": "ß", "452": "▁Sch", "453": "▁uns", "454": "▁habe", "455": "▁wenn", "456": "▁wo", "457": "▁bei", "458": "▁ihr", "459": "▁Ma", "460": "zu", "461": "▁schon", "462": "▁De", "463": "▁Sie", "464": "▁über", "465": "▁vor", "466": "▁Die", "467": "▁ganz", "468": "iert", "469": "▁Le", "470": "▁viel", "471": "▁In", "472": "▁Also", "473": "▁Ver", "474": "▁sehr", "475": "▁Re", "476": "halt", "477": "▁einfach", "478": "▁werden", "479": "▁sein", "480": "▁Wir", "481": "▁nur", "482": "▁immer", "483": "ieren", "484": "▁muss", "485": "▁wieder", "486": "▁mir", "487": "▁gut", "488": "▁mehr", "489": "▁Mi", "490": "▁nach", "491": "▁Ha", "492": "▁weil", "493": "▁Aber", "494": "kommen", "495": "▁gibt", "496": "▁meine", "497": "▁andere", "498": "▁können", "499": "▁machen", "500": "▁natürlich", "501": "▁bisschen", "502": "▁durch", "503": "sehen", "504": "▁weiter", "505": "▁keine", "506": "▁sagen", "507": "▁wirklich", "508": "▁eigentlich", "509": "▁jede", "510": "schaft", "511": "▁glaube", "512": "Ü", "513": "<el-GR>", "514": "χ", "515": "τα", "516": "▁να", "517": "ει", "518": "▁και", "519": "μα", "520": "β", "521": "ση", "522": "τε", "523": "ώ", "524": "θ", "525": "φ", "526": "πο", "527": "ύ", "528": "▁το", "529": "ία", "530": "τι", "531": "αν", "532": "ου", "533": "ρα", "534": "▁για", "535": "εί", "536": "τη", "537": "ξ", "538": "κα", "539": "▁την", "540": "▁τη", "541": "με", "542": "το", "543": "ού", "544": "▁του", "545": "▁προ", "546": "▁με", "547": "ζ", "548": "▁θα", "549": "▁είναι", "550": "ρο", "551": "ων", "552": "μέ", "553": "▁που", "554": "ια", "555": "νο", "556": "ική", "557": "ών", "558": "ρι", "559": "θε", "560": "Ε", "561": "ρί", "562": "▁ότι", "563": "ουμε", "564": "▁από", "565": "λο", "566": "ρά", "567": "ιο", "568": "▁των", "569": "ευ", "570": "λη", "571": "ουν", "572": "Α", "573": "▁σε", "574": "Π", "575": "▁συν", "576": "φορ", "577": "▁δεν", "578": "Σ", "579": "▁στο", "580": "▁δι", "581": "τά", "582": "▁αυτό", "583": "▁δια", "584": "ιστ", "585": "▁πολύ", "586": "▁πρέπει", "587": "▁στην", "588": "σουμε", "589": "ικά", "590": "Τ", "591": "▁επ", "592": "Κ", "593": "ψ", "594": "▁απο", "595": "▁οι", "596": "εται", "597": "▁επι", "598": "▁Υπότιτλοι", "599": "▁AUTHORWAVE", "600": "ούμε", "601": "ικό", "602": "▁Και", "603": "πρό", "604": "▁Ευχαριστώ", "605": "▁μια", "606": "▁ένα", "607": "▁συμ", "608": "Μ", "609": "▁περι", "610": "▁αυτή", "611": "ήσει", "612": "Ο", "613": "ικέ", "614": "▁κατά", "615": "Γ", "616": "Θ", "617": "▁Ευρωπαϊκή", "618": "▁έχουμε", "619": "▁αλλά", "620": "εργ", "621": "Η", "622": "▁θέμα", "623": "ολογ", "624": "ότητα", "625": "▁έχει", "626": "πολιτ", "627": "Δ", "628": "▁λοιπόν", "629": "ονται", "630": "Ν", "631": "φέρ", "632": "▁Επιτροπή", "633": "▁αυτά", "634": "▁Ένωση", "635": "Υ", "636": "ϊ", "637": "▁Δεν", "638": "▁έχουν", "639": "▁υπάρχει", "640": "Β", "641": "Ι", "642": "Λ", "643": "Φ", "644": "Ρ", "645": "Χ", "646": "Ξ", "647": "Ω", "648": "Ζ", "649": "Ψ", "650": "Ή", "651": "Ά", "652": "Ό", "653": "Έ", "654": "<et-EE>", "655": "ma", "656": "ta", "657": "se", "658": "da", "659": "si", "660": "▁on", "661": "õ", "662": "ks", "663": "ga", "664": "▁et", "665": "▁ka", "666": "he", "667": "mu", "668": "tu", "669": "ha", "670": "ja", "671": "gi", "672": "▁selle", "673": "▁ole", "674": "nd", "675": "oo", "676": "gu", "677": "ju", "678": "est", "679": "▁ei", "680": "▁pa", "681": "nud", "682": "▁väga", "683": "▁see", "684": "tud", "685": "▁pea", "686": "nda", "687": "är", "688": "▁Euroopa", "689": "▁kui", "690": "vad", "691": "ke", "692": "sta", "693": "sed", "694": "▁või", "695": "di", "696": "▁saa", "697": "mise", "698": "▁siis", "699": "▁su", "700": "ide", "701": "pool", "702": "val", "703": "tus", "704": "▁seda", "705": "▁Me", "706": "▁vastu", "707": "▁jä", "708": "▁tule", "709": "selt", "710": "ment", "711": "▁kes", "712": "ndus", "713": "▁töö", "714": "▁kõik", "715": "dus", "716": "▁mõ", "717": "eeri", "718": "▁meie", "719": "▁meil", "720": "▁ning", "721": "võt", "722": "▁mida", "723": "▁arv", "724": "▁See", "725": "takse", "726": "▁vaja", "727": "▁osa", "728": "õigus", "729": "▁nende", "730": "▁nüüd", "731": "▁aasta", "732": "tsiooni", "733": "▁inim", "734": "▁need", "735": "tsus", "736": "riigi", "737": "▁täh", "738": "▁Liidu", "739": "▁välja", "740": "Ä", "741": "Õ", "742": "ã", "743": "Q", "744": "ć", "745": "ñ", "746": "<fi-FI>", "747": "tä", "748": "ssa", "749": "lla", "750": "▁että", "751": "ksi", "752": "ty", "753": "ki", "754": "vä", "755": "pa", "756": "lle", "757": "lu", "758": "tta", "759": "stä", "760": "isi", "761": "ise", "762": "llä", "763": "kin", "764": "nä", "765": "ään", "766": "kse", "767": "tte", "768": "jä", "769": "ttä", "770": "ssä", "771": "ista", "772": "inen", "773": "kä", "774": "llis", "775": "tö", "776": "▁myös", "777": "vu", "778": "taan", "779": "▁tämä", "780": "▁voi", "781": "utta", "782": "iden", "783": "nyt", "784": "▁niin", "785": "▁Kiitos", "786": "▁ovat", "787": "hän", "788": "suu", "789": "▁toimi", "790": "aika", "791": "▁Tämä", "792": "▁pää", "793": "▁mutta", "794": "▁käy", "795": "▁tässä", "796": "▁asia", "797": "▁Tä", "798": "▁jotka", "799": "▁työ", "800": "neet", "801": "▁täytyy", "802": "▁sitten", "803": "▁Euroopan", "804": "▁puolesta", "805": "▁halua", "806": "▁siitä", "807": "▁komissio", "808": "▁hyvä", "809": "▁hyvin", "810": "▁puhu", "811": "▁meidän", "812": "▁vastaan", "813": "▁tärkeä", "814": "▁kaikki", "815": "▁Kiitoksia", "816": "▁vielä", "817": "▁muut", "818": "▁paljon", "819": "mahdollis", "820": "parlament", "821": "▁pitäisi", "822": "▁hyväksy", "823": "▁puheenjohtaja", "824": "▁liitty", "825": "ā", "826": "ī", "827": "ē", "828": "ë", "829": "<fr-FR>", "830": "▁est", "831": "▁c", "832": "▁d", "833": "▁la", "834": "▁p", "835": "▁que", "836": "▁en", "837": "▁le", "838": "▁à", "839": "es", "840": "▁l", "841": "▁un", "842": "▁pas", "843": "▁les", "844": "▁qui", "845": "▁il", "846": "▁vous", "847": "▁des", "848": "▁ce", "849": "▁qu", "850": "▁pour", "851": "▁n", "852": "▁par", "853": "▁ça", "854": "▁une", "855": "▁b", "856": "ant", "857": "▁j", "858": "ais", "859": "ez", "860": "▁dans", "861": "▁va", "862": "▁C", "863": "tre", "864": "ir", "865": "elle", "866": "eur", "867": "▁sur", "868": "▁re", "869": "▁con", "870": "▁ma", "871": "▁Et", "872": "▁au", "873": "ement", "874": "tion", "875": "té", "876": "▁tout", "877": "mp", "878": "ique", "879": "▁plus", "880": "eux", "881": "▁dé", "882": "▁fait", "883": "qu", "884": "▁ai", "885": "▁comme", "886": "ens", "887": "ac", "888": "▁là", "889": "▁si", "890": "ait", "891": "che", "892": "▁mais", "893": "que", "894": "ul", "895": "▁avec", "896": "▁bien", "897": "▁tu", "898": "age", "899": "▁mon", "900": "▁Donc", "901": "end", "902": "▁faire", "903": "▁être", "904": "ver", "905": "▁peu", "906": "▁même", "907": "tra", "908": "cha", "909": "▁nous", "910": "▁donc", "911": "▁sont", "912": "▁moi", "913": "ille", "914": "ff", "915": "▁ex", "916": "ien", "917": "▁Il", "918": "▁très", "919": "▁cette", "920": "im", "921": "ité", "922": "▁dire", "923": "▁peut", "924": "ance", "925": "aire", "926": "mé", "927": "▁app", "928": "▁aussi", "929": "▁petit", "930": "aux", "931": "▁parce", "932": "onne", "933": "mb", "934": "man", "935": "▁On", "936": "▁quand", "937": "▁autre", "938": "ô", "939": "▁chose", "940": "▁puis", "941": "▁était", "942": "ndre", "943": "port", "944": "▁vraiment", "945": "ence", "946": "▁Mais", "947": "î", "948": "▁avoir", "949": "form", "950": "▁faut", "951": "▁Alors", "952": "ign", "953": "▁où", "954": "près", "955": "▁beaucoup", "956": "ture", "957": "û", "958": "Ç", "959": "â", "960": "ù", "961": "<hu-HU>", "962": "sz", "963": "▁az", "964": "▁hogy", "965": "ő", "966": "ás", "967": "ok", "968": "gy", "969": "ek", "970": "ál", "971": "és", "972": "em", "973": "ár", "974": "▁meg", "975": "▁és", "976": "▁is", "977": "▁ez", "978": "▁egy", "979": "os", "980": "ak", "981": "ban", "982": "nak", "983": "ít", "984": "ik", "985": "unk", "986": "▁nem", "987": "oz", "988": "ül", "989": "án", "990": "át", "991": "cs", "992": "él", "993": "ér", "994": "nek", "995": "▁mi", "996": "szer", "997": "bb", "998": "▁Köszönöm", "999": "ség", "1000": "▁kell", "1001": "én", "1002": "hat", "1003": "▁ha", "1004": "ság", "1005": "▁szépen", "1006": "ért", "1007": "ék", "1008": "ott", "1009": "ön", "1010": "ép", "1011": "elő", "1012": "ünk", "1013": "▁van", "1014": "▁ki", "1015": "▁fel", "1016": "ény", "1017": "vé", "1018": "leg", "1019": "eket", "1020": "▁Az", "1021": "juk", "1022": "▁köz", "1023": "ű", "1024": "▁nagyon", "1025": "▁tud", "1026": "▁jelen", "1027": "▁amely", "1028": "▁lehet", "1029": "▁ami", "1030": "▁kérdés", "1031": "▁ellen", "1032": "tart", "1033": "ről", "1034": "É", "1035": "ország", "1036": "rend", "1037": "ról", "1038": "▁vagy", "1039": "▁fontos", "1040": "▁Európai", "1041": "▁akkor", "1042": "▁jog", "1043": "▁fog", "1044": "fogad", "1045": "kapcsol", "1046": "▁rész", "1047": "áció", "1048": "▁volt", "1049": "▁elnök", "1050": "▁bizottság", "1051": "▁gondol", "1052": "▁olyan", "1053": "▁illetve", "1054": "▁tagállam", "1055": "▁pedig", "1056": "▁Tehát", "1057": "▁európai", "1058": "▁szükség", "1059": "szavaz", "1060": "▁tehát", "1061": "következ", "1062": "▁össze", "1063": "▁biztos", "1064": "Ö", "1065": "Á", "1066": "Í", "1067": "Ő", "1068": "<hr-HR>", "1069": "▁u", "1070": "▁bi", "1071": "▁sa", "1072": "će", "1073": "▁od", "1074": "ru", "1075": "▁iz", "1076": "go", "1077": "nje", "1078": "sti", "1079": "đ", "1080": "▁pri", "1081": "ima", "1082": "nu", "1083": "▁pre", "1084": "▁Hvala", "1085": "lje", "1086": "▁što", "1087": "či", "1088": "nja", "1089": "zi", "1090": "vr", "1091": "ći", "1092": "če", "1093": "ca", "1094": "▁koji", "1095": "ba", "1096": "▁raz", "1097": "ț", "1098": "<it-IT>", "1099": "▁di", "1100": "▁e", "1101": "▁che", "1102": "▁è", "1103": "co", "1104": "▁per", "1105": "▁al", "1106": "▁non", "1107": "do", "1108": "gli", "1109": "so", "1110": "amo", "1111": "sa", "1112": "ndo", "1113": "▁una", "1114": "fi", "1115": "pi", "1116": "nti", "1117": "tto", "1118": "tro", "1119": "▁fa", "1120": "chi", "1121": "▁qua", "1122": "zione", "1123": "bi", "1124": "▁del", "1125": "mente", "1126": "pe", "1127": "ssi", "1128": "▁ri", "1129": "▁sono", "1130": "▁me", "1131": "▁questo", "1132": "nte", "1133": "tti", "1134": "tà", "1135": "▁nel", "1136": "▁anche", "1137": "sso", "1138": "▁perché", "1139": "▁più", "1140": "nta", "1141": "▁come", "1142": "cu", "1143": "▁quindi", "1144": "ggi", "1145": "nza", "1146": "sto", "1147": "▁ho", "1148": "ò", "1149": "▁della", "1150": "gra", "1151": "▁fare", "1152": "spe", "1153": "cco", "1154": "nde", "1155": "mento", "1156": "fe", "1157": "gio", "1158": "pu", "1159": "▁questa", "1160": "▁tra", "1161": "zza", "1162": "sci", "1163": "▁ba", "1164": "▁dei", "1165": "▁poi", "1166": "sco", "1167": "stra", "1168": "▁quel", "1169": "qui", "1170": "▁delle", "1171": "▁cosa", "1172": "▁molto", "1173": "sse", "1174": "zioni", "1175": "▁vol", "1176": "▁inter", "1177": "sce", "1178": "▁fatto", "1179": "▁com", "1180": "▁quello", "1181": "▁essere", "1182": "▁due", "1183": "▁abbiamo", "1184": "▁comp", "1185": "▁tutti", "1186": "ì", "1187": "▁prima", "1188": "▁parte", "1189": "▁così", "1190": "▁sempre", "1191": "▁tutto", "1192": "▁video", "1193": "▁maglia", "1194": "▁imp", "1195": "▁cui", "1196": "▁dove", "1197": "▁col", "1198": "▁Quindi", "1199": "sione", "1200": "rebbe", "1201": "scri", "1202": "<lt-LT>", "1203": "ė", "1204": "ai", "1205": "ų", "1206": "▁ir", "1207": "as", "1208": "į", "1209": "▁kad", "1210": "ės", "1211": "▁tai", "1212": "ū", "1213": "tų", "1214": "▁yra", "1215": "ių", "1216": "uo", "1217": "▁ko", "1218": "▁iš", "1219": "tin", "1220": "▁vis", "1221": "čia", "1222": "▁kuri", "1223": "dė", "1224": "ly", "1225": "gal", "1226": "▁ši", "1227": "iau", "1228": "jo", "1229": "tar", "1230": "yb", "1231": "▁Ir", "1232": "▁tik", "1233": "ijos", "1234": "sak", "1235": "▁turi", "1236": "oje", "1237": "▁Tai", "1238": "jų", "1239": "▁apie", "1240": "▁nu", "1241": "▁mes", "1242": "▁už", "1243": "išk", "1244": "▁gali", "1245": "▁dėl", "1246": "▁labai", "1247": "imas", "1248": "klaus", "1249": "laik", "1250": "▁Europos", "1251": "▁aš", "1252": "veik", "1253": "▁būtų", "1254": "darb", "1255": "▁kaip", "1256": "▁teis", "1257": "▁daug", "1258": "▁tikrai", "1259": "▁pra", "1260": "reik", "1261": "▁buvo", "1262": "turė", "1263": "▁valstyb", "1264": "▁reikia", "1265": "▁būti", "1266": "▁Aš", "1267": "▁mūsų", "1268": "▁jūs", "1269": "vyk", "1270": "▁Ačiū", "1271": "cija", "1272": "Į", "1273": "ņ", "1274": "<lv-LV>", "1275": "▁no", "1276": "jā", "1277": "iem", "1278": "tā", "1279": "āk", "1280": "▁ar", "1281": "ām", "1282": "▁pie", "1283": "ies", "1284": "ot", "1285": "kā", "1286": "ļ", "1287": "tr", "1288": "▁tā", "1289": "īt", "1290": "nā", "1291": "▁uz", "1292": "▁tas", "1293": "ēt", "1294": "dz", "1295": "▁arī", "1296": "▁vien", "1297": "▁jau", "1298": "▁kā", "1299": "▁ie", "1300": "gad", "1301": "▁kur", "1302": "▁kas", "1303": "▁Un", "1304": "▁mēs", "1305": "iet", "1306": "dā", "1307": "īg", "1308": "▁Ta", "1309": "▁kād", "1310": "kaut", "1311": "ēm", "1312": "▁lie", "1313": "umu", "1314": "ties", "1315": "dar", "1316": "lē", "1317": "▁vai", "1318": "▁bija", "1319": "▁mums", "1320": "▁tad", "1321": "▁bet", "1322": "ība", "1323": "▁ga", "1324": "▁Latvijas", "1325": "ija", "1326": "kr", "1327": "vē", "1328": "sim", "1329": "▁šo", "1330": "dien", "1331": "gan", "1332": "īgi", "1333": "▁ap", "1334": "ģ", "1335": "▁būt", "1336": "domā", "1337": "▁tev", "1338": "mēr", "1339": "▁daudz", "1340": "▁aiz", "1341": "▁Tā", "1342": "▁tād", "1343": "▁tur", "1344": "▁monēt", "1345": "▁vēl", "1346": "▁laik", "1347": "▁cilvē", "1348": "▁nav", "1349": "▁lab", "1350": "▁ļoti", "1351": "aug", "1352": "▁līdz", "1353": "▁lai", "1354": "šana", "1355": "▁Nu", "1356": "▁viņa", "1357": "▁savu", "1358": "▁cit", "1359": "teik", "1360": "▁darb", "1361": "▁Ne", "1362": "zin", "1363": "▁pirm", "1364": "▁Latvi", "1365": "▁tieš", "1366": "▁viņi", "1367": "ēja", "1368": "dzīvo", "1369": "▁viņš", "1370": "▁pilsē", "1371": "ināt", "1372": "▁viņu", "1373": "▁tagad", "1374": "kārt", "1375": "▁pats", "1376": "▁vairāk", "1377": "reiz", "1378": "▁tikai", "1379": "sakta", "1380": "▁bij", "1381": "▁Viņ", "1382": "▁sev", "1383": "▁māj", "1384": "vērt", "1385": "▁20", "1386": "▁ceļ", "1387": "tiek", "1388": "iski", "1389": "▁dzīv", "1390": "▁kāpēc", "1391": "▁Bet", "1392": "▁pēc", "1393": "▁nozīmē", "1394": "niek", "1395": "ībā", "1396": "▁palīdz", "1397": "▁protams", "1398": "▁stils", "1399": "▁vajadz", "1400": "▁attīstī", "1401": "▁svarīg", "1402": "▁sievie", "1403": "▁grib", "1404": "▁dažād", "1405": "▁valst", "1406": "▁banka", "1407": "▁iespēja", "1408": "▁bez", "1409": "prāt", "1410": "vērtīb", "1411": "▁person", "1412": "pasaules", "1413": "▁varbūt", "1414": "▁vienkārši", "1415": "▁nauda", "1416": "meklē", "1417": "brauc", "1418": "▁nevar", "1419": "ācijas", "1420": "spēj", "1421": "ķ", "1422": "<nl-NL>", "1423": "▁een", "1424": "▁het", "1425": "▁dat", "1426": "▁we", "1427": "▁ik", "1428": "ij", "1429": "▁En", "1430": "▁te", "1431": "▁ook", "1432": "▁niet", "1433": "▁dan", "1434": "▁zo", "1435": "▁voor", "1436": "▁met", "1437": "▁aan", "1438": "▁zijn", "1439": "▁Ik", "1440": "▁wel", "1441": "▁wat", "1442": "aar", "1443": "▁ze", "1444": "ken", "1445": "▁heb", "1446": "der", "1447": "ui", "1448": "den", "1449": "▁daar", "1450": "▁maar", "1451": "op", "1452": "▁heel", "1453": "▁nog", "1454": "▁Dus", "1455": "oor", "1456": "▁hebben", "1457": "▁uit", "1458": "▁of", "1459": "ven", "1460": "▁Maar", "1461": "▁Dat", "1462": "▁gaan", "1463": "elijk", "1464": "▁naar", "1465": "▁moet", "1466": "acht", "1467": "▁waar", "1468": "▁dus", "1469": "▁ben", "1470": "▁goed", "1471": "▁Het", "1472": "▁even", "1473": "ond", "1474": "eld", "1475": "▁dit", "1476": "▁wil", "1477": "rij", "1478": "▁echt", "1479": "▁doen", "1480": "▁gewoon", "1481": "lijk", "1482": "tijd", "1483": "▁meer", "1484": "▁mijn", "1485": "▁We", "1486": "▁gaat", "1487": "werk", "1488": "▁hoe", "1489": "uw", "1490": "▁eigenlijk", "1491": "▁deze", "1492": "zelf", "1493": "vol", "1494": "▁veel", "1495": "atie", "1496": "▁kunnen", "1497": "▁door", "1498": "llen", "1499": "▁mee", "1500": "▁onder", "1501": "▁toe", "1502": "▁zit", "1503": "▁mensen", "1504": "▁hij", "1505": "▁denk", "1506": "▁zie", "1507": "▁heeft", "1508": "▁kl", "1509": "nnen", "1510": "▁zien", "1511": "komen", "1512": "▁natuurlijk", "1513": "heid", "1514": "▁Dan", "1515": "▁vind", "1516": "▁wordt", "1517": "▁iets", "1518": "▁maken", "1519": "▁doe", "1520": "▁Wat", "1521": "▁wij", "1522": "▁beetje", "1523": "▁worden", "1524": "▁Want", "1525": "▁twee", "1526": "▁hem", "1527": "▁had", "1528": "▁jullie", "1529": "▁Als", "1530": "▁kijken", "1531": "▁toch", "1532": "▁tot", "1533": "nieuw", "1534": "lang", "1535": "▁Nou", "1536": "▁krijg", "1537": "houd", "1538": "▁hele", "1539": "▁allemaal", "1540": "▁want", "1541": "▁zeggen", "1542": "▁leuk", "1543": "<pl-PL>", "1544": "nie", "1545": "▁w", "1546": "cz", "1547": "wa", "1548": "▁się", "1549": "▁jest", "1550": "my", "1551": "ła", "1552": "cie", "1553": "czy", "1554": "▁nie", "1555": "wie", "1556": "▁wy", "1557": "nia", "1558": "wo", "1559": "rze", "1560": "ło", "1561": "▁że", "1562": "dzi", "1563": "ej", "1564": "ów", "1565": "dzie", "1566": "▁prze", "1567": "ści", "1568": "by", "1569": "za", "1570": "dy", "1571": "ry", "1572": "ń", "1573": "ją", "1574": "we", "1575": "cze", "1576": "owa", "1577": "ego", "1578": "że", "1579": "cy", "1580": "rzy", "1581": "mie", "1582": "▁przy", "1583": "ły", "1584": "rz", "1585": "szy", "1586": "sze", "1587": "ść", "1588": "wia", "1589": "zy", "1590": "ży", "1591": "▁tutaj", "1592": "ję", "1593": "pie", "1594": "nych", "1595": "▁tym", "1596": "▁może", "1597": "cji", "1598": "▁pod", "1599": "▁ale", "1600": "▁tego", "1601": "owy", "1602": "uje", "1603": "▁bo", "1604": "▁był", "1605": "ną", "1606": "bie", "1607": "sy", "1608": "▁też", "1609": "▁bardzo", "1610": "▁są", "1611": "▁będzie", "1612": "▁Po", "1613": "ski", "1614": "▁które", "1615": "ź", "1616": "▁już", "1617": "▁dla", "1618": "łem", "1619": "nego", "1620": "▁Nie", "1621": "▁No", "1622": "▁praw", "1623": "cja", "1624": "▁ten", "1625": "▁takie", "1626": "ować", "1627": "▁który", "1628": "▁właśnie", "1629": "▁jeszcze", "1630": "▁tam", "1631": "▁żeby", "1632": "▁być", "1633": "▁więc", "1634": "▁czyli", "1635": "▁sobie", "1636": "▁sam", "1637": "▁tylko", "1638": "▁tej", "1639": "▁spraw", "1640": "▁Na", "1641": "▁mówi", "1642": "▁osob", "1643": "▁czas", "1644": "▁prac", "1645": "▁Czy", "1646": "▁prostu", "1647": "▁teraz", "1648": "stęp", "1649": "▁Was", "1650": "▁myśl", "1651": "▁powiedz", "1652": "▁zrobi", "1653": "liśmy", "1654": "▁jakieś", "1655": "ając", "1656": "▁widz", "1657": "▁kart", "1658": "▁musi", "1659": "▁pyta", "1660": "<pt-BR>", "1661": "pt", "1662": "PT", "1663": "<", "1664": ">", "1665": "-", "1666": "▁é", "1667": "▁não", "1668": "▁eu", "1669": "▁um", "1670": "▁você", "1671": "▁para", "1672": "ão", "1673": "▁aqui", "1674": "▁uma", "1675": "ção", "1676": "▁ca", "1677": "▁pe", "1678": "▁tem", "1679": "▁em", "1680": "▁gente", "1681": "▁O", "1682": "▁ele", "1683": "pre", "1684": "ria", "1685": "▁fo", "1686": "mos", "1687": "nho", "1688": "▁Então", "1689": "bo", "1690": "io", "1691": "nha", "1692": "▁isso", "1693": "▁por", "1694": "▁muito", "1695": "nto", "1696": "▁Eu", "1697": "▁está", "1698": "idade", "1699": "▁aí", "1700": "be", "1701": "▁esse", "1702": "▁pode", "1703": "▁como", "1704": "ente", "1705": "▁também", "1706": "▁essa", "1707": "lha", "1708": "▁já", "1709": "▁mas", "1710": "▁pessoa", "1711": "qua", "1712": "▁né", "1713": "▁fazer", "1714": "▁tá", "1715": "lho", "1716": "▁lá", "1717": "fica", "1718": "▁vou", "1719": "▁porque", "1720": "▁Se", "1721": "▁fala", "1722": "▁coisa", "1723": "▁Não", "1724": "...", "1725": "▁só", "1726": "▁nós", "1727": "ço", "1728": "▁Por", "1729": "▁assim", "1730": "▁Co", "1731": "iza", "1732": "▁bem", "1733": "▁todo", "1734": "eira", "1735": "▁sua", "1736": "ência", "1737": "ções", "1738": "▁Você", "1739": "▁tudo", "1740": "▁agora", "1741": "eiro", "1742": "ário", "1743": "▁até", "1744": "▁mesmo", "1745": "▁vamos", "1746": "▁quando", "1747": "ciona", "1748": "<ro-RO>", "1749": "▁în", "1750": "ți", "1751": "▁să", "1752": "▁și", "1753": "▁cu", "1754": "▁că", "1755": "▁care", "1756": "▁mai", "1757": "ră", "1758": "sc", "1759": "că", "1760": "▁am", "1761": "are", "1762": "▁din", "1763": "▁fi", "1764": "▁este", "1765": "tă", "1766": "▁pentru", "1767": "rea", "1768": "ști", "1769": "ș", "1770": "ele", "1771": "du", "1772": "▁M", "1773": "▁fac", "1774": "ân", "1775": "▁sunt", "1776": "▁I", "1777": "▁acest", "1778": "ului", "1779": "lor", "1780": "▁mult", "1781": "și", "1782": "▁mo", "1783": "▁fost", "1784": "per", "1785": "▁foarte", "1786": "▁Și", "1787": "▁mă", "1788": "să", "1789": "cur", "1790": "tor", "1791": "▁cum", "1792": "inte", "1793": "ată", "1794": "ște", "1795": "▁dacă", "1796": "ând", "1797": "▁subliniere", "1798": "▁dar", "1799": "▁sau", "1800": "tat", "1801": "ori", "1802": "▁vă", "1803": "▁asta", "1804": "nă", "1805": "▁prim", "1806": "▁așa", "1807": "ează", "1808": "▁într", "1809": "▁spun", "1810": "▁lui", "1811": "▁sub", "1812": "itate", "1813": "▁aici", "1814": "▁bine", "1815": "▁când", "1816": "▁prin", "1817": "▁alt", "1818": "▁nici", "1819": "stru", "1820": "▁cât", "1821": "▁vede", "1822": "fer", "1823": "▁după", "1824": "▁ju", "1825": "▁despre", "1826": "▁timp", "1827": "▁acum", "1828": "▁poate", "1829": "▁spus", "1830": "▁lucru", "1831": "▁făcut", "1832": "păr", "1833": "▁urmă", "1834": "▁atunci", "1835": "▁fr", "1836": "▁chiar", "1837": "▁încep", "1838": "Ș", "1839": "Î", "1840": "<ru-RU>", "1841": "<sk-SK>", "1842": "ov", "1843": "ľ", "1844": "sk", "1845": "▁aj", "1846": "ob", "1847": "tá", "1848": "ať", "1849": "▁bol", "1850": "▁sú", "1851": "▁ako", "1852": "ži", "1853": "▁sme", "1854": "▁V", "1855": "ali", "1856": "▁alebo", "1857": "▁čo", "1858": "iť", "1859": "▁má", "1860": "ých", "1861": "▁zá", "1862": "▁tie", "1863": "▁nejak", "1864": "▁vý", "1865": "čas", "1866": "nov", "1867": "rov", "1868": "▁ktoré", "1869": "ajú", "1870": "ovať", "1871": "▁keď", "1872": "▁str", "1873": "▁škol", "1874": "nú", "1875": "▁ktor", "1876": "▁vlastne", "1877": "▁prí", "1878": "nej", "1879": "▁veľmi", "1880": "šie", "1881": "rob", "1882": "▁tr", "1883": "ných", "1884": "enie", "1885": "▁spo", "1886": "▁rok", "1887": "osti", "1888": "▁tým", "1889": "▁môže", "1890": "▁ktorý", "1891": "osť", "1892": "▁projekt", "1893": "▁kon", "1894": "▁vzdeláva", "1895": "▁Takže", "1896": "▁ešte", "1897": "▁tých", "1898": "▁mal", "1899": "▁cel", "1900": "▁potom", "1901": "▁svoj", "1902": "enia", "1903": "álne", "1904": "ieť", "1905": "▁teda", "1906": "jedn", "1907": "sled", "1908": "▁možno", "1909": "▁vám", "1910": "chod", "1911": "ujú", "1912": "tvor", "1913": "▁druh", "1914": "▁Slovensk", "1915": "hľad", "1916": "stup", "1917": "▁ľudí", "1918": "▁napríklad", "1919": "▁veľk", "1920": "▁niečo", "1921": "Ď", "1922": "<sl-SL>", "1923": "sl", "1924": "lj", "1925": "kot", "1926": "ih", "1927": "▁svet", "1928": "▁ta", "1929": "▁tako", "1930": "▁kar", "1931": "▁nek", "1932": "jih", "1933": "udi", "1934": "▁vse", "1935": "▁drug", "1936": "▁ima", "1937": "kaj", "1938": "▁smo", "1939": "del", "1940": "▁sem", "1941": "▁lahko", "1942": "▁samo", "1943": "▁več", "1944": "nih", "1945": "▁držav", "1946": "▁zelo", "1947": "▁zdaj", "1948": "▁razum", "1949": "▁še", "1950": "▁tega", "1951": "▁ljudi", "1952": "▁pred", "1953": "▁sta", "1954": "nost", "1955": "▁ampak", "1956": "▁novinar", "1957": "▁naprej", "1958": "▁mora", "1959": "▁Vs", "1960": "krat", "1961": "▁Ampak", "1962": "▁vedno", "1963": "▁velik", "1964": "▁kako", "1965": "▁najbolj", "1966": "ziroma", "1967": "▁vsi", "1968": "▁nekaj", "1969": "▁kater", "1970": "▁res", "1971": "▁tukaj", "1972": "▁dogaja", "1973": "▁svoje", "1974": "▁let", "1975": "daj", "1976": "▁pripriča", "1977": "▁človek", "1978": "▁hoče", "1979": "▁vojn", "1980": "▁Pre", "1981": "▁dobr", "1982": "ljan", "1983": "▁moj", "1984": "▁dejansko", "1985": "▁ljudje", "1986": "▁mediji", "1987": "▁prot", "1988": "▁narav", "1989": "bilo", "1990": "▁Afrik", "1991": "▁vzhod", "1992": "▁človeštva", "1993": "▁kriz", "1994": "▁pogled", "1995": "▁medije", "1996": "poved", "1997": "▁začel", "1998": "▁večin", "1999": "imajo", "2000": "▁Ljudje", "2001": "▁družb", "2002": "▁govorim", "2003": "▁informacij", "2004": "▁kultur", "2005": "▁bližnj", "2006": "▁podobno", "2007": "▁njihov", "2008": "▁konc", "2009": "▁pisa", "2010": "▁zaveda", "2011": "▁vsak", "2012": "živel", "2013": "▁funkcionira", "2014": "▁internet", "2015": "▁islamsk", "2016": "▁film", "2017": "▁otroci", "2018": "▁prihaja", "2019": "▁političn", "2020": "▁popoln", "2021": "▁Velik", "2022": "▁drugačen", "2023": "▁recimo", "2024": "▁resnic", "2025": "solutno", "2026": "▁Bližn", "2027": "▁Evropsk", "2028": "▁muslimani", "2029": "▁nadzoruje", "2030": "▁socialne", "2031": "▁zgodovin", "2032": "▁človešk", "2033": "▁življenj", "2034": "▁prijatelj", "2035": "▁vendar", "2036": "▁ljudem", "2037": "▁števil", "2038": "▁Sirij", "2039": "<sv-SE>", "2040": "▁att", "2041": "▁och", "2042": "▁är", "2043": "▁för", "2044": "▁här", "2045": "▁jag", "2046": "än", "2047": "▁till", "2048": "▁h", "2049": "▁inte", "2050": "▁Och", "2051": "▁av", "2052": "▁om", "2053": "▁ska", "2054": "▁ut", "2055": "▁ett", "2056": "all", "2057": "▁också", "2058": "▁Jag", "2059": "era", "2060": "pp", "2061": "▁upp", "2062": "▁då", "2063": "▁där", "2064": "▁lite", "2065": "år", "2066": "sam", "2067": "isk", "2068": "het", "2069": "för", "2070": "▁kommer", "2071": "▁vill", "2072": "ör", "2073": "erna", "2074": "ande", "2075": "sätt", "2076": "▁finns", "2077": "▁när", "2078": "▁vara", "2079": "ade", "2080": "sök", "2081": "▁hur", "2082": "▁vad", "2083": "bil", "2084": "▁göra", "2085": "▁får", "2086": "verk", "2087": "▁mycket", "2088": "▁väl", "2089": "kom", "2090": "▁gör", "2091": "▁ni", "2092": "▁bara", "2093": "▁från", "2094": "ställ", "2095": "▁väldigt", "2096": "▁min", "2097": "▁olika", "2098": "▁alla", "2099": "lev", "2100": "▁fram", "2101": "▁kanske", "2102": "▁vår", "2103": "▁tid", "2104": "skap", "2105": "håll", "2106": "▁För", "2107": "▁går", "2108": "▁blir", "2109": "▁under", "2110": "▁lär", "2111": "▁ny", "2112": "▁Då", "2113": "▁börja", "2114": "rätt", "2115": "▁över", "2116": "▁oss", "2117": "▁exempel", "2118": "▁skulle", "2119": "gång", "2120": "▁kunna", "2121": "▁andra", "2122": "▁någon", "2123": "▁jobba", "2124": "land", "2125": "▁något", "2126": "▁behöver", "2127": "▁säga", "2128": "klar", "2129": "▁många", "2130": "▁skriv", "2131": "���använda", "2132": "▁själv", "2133": "▁samma", "2134": "lägg", "2135": "▁måste", "2136": "▁efter", "2137": "text", "2138": "▁prata", "2139": "▁klicka", "2140": "▁hitta", "2141": "▁tror", "2142": "▁någonting", "2143": "fråga", "2144": "▁titta", "2145": "▁tycker", "2146": "▁ganska", "2147": "▁jätte", "2148": "▁Vad", "2149": "▁genom", "2150": "▁även", "2151": "▁tänker", "2152": "arbete", "2153": "▁faktiskt", "2154": "person", "2155": "▁komma", "2156": "bygg", "2157": "<uk-UA>", "2158": "<ar-AR>", "2159": "؟", "2160": "،", "2161": "vy", "2162": "▁byl", "2163": "Ň", "2164": "Ť", "2165": "Ó", "2166": "ær", "2167": "▁blev", "2168": "ft", "2169": "lige", "2170": "ved", "2171": "'", "2172": "Å", "2173": "▁H", "2174": "▁D", "2175": "aus", "2176": "▁N", "2177": "▁Be", "2178": "mm", "2179": "ab", "2180": "▁Er", "2181": "ssen", "2182": "hl", "2183": "hn", "2184": "ischen", "2185": "▁wurde", "2186": "rie", "2187": "lei", "2188": "▁An", "2189": "▁Ein", "2190": "etz", "2191": "rau", "2192": "ische", "2193": "äh", "2194": "▁mein", "2195": "▁So", "2196": "▁hatte", "2197": "▁unter", "2198": "▁Zu", "2199": "▁ihn", "2200": "▁Jahr", "2201": "▁zwei", "2202": "keit", "2203": "▁ihm", "2204": "▁Aus", "2205": "<en-GB>", "2206": "▁you", "2207": "▁that", "2208": "▁and", "2209": "▁can", "2210": "▁it", "2211": "▁your", "2212": "ed", "2213": "▁Okay", "2214": "▁just", "2215": "ay", "2216": "▁Yeah", "2217": "▁with", "2218": "th", "2219": "▁Thank", "2220": "▁thank", "2221": "▁help", "2222": "▁please", "2223": "▁one", "2224": "▁there", "2225": "ic", "2226": "▁much", "2227": "▁what", "2228": "▁my", "2229": "hi", "2230": "▁will", "2231": "▁would", "2232": "▁if", "2233": "▁two", "2234": "▁this", "2235": "▁he", "2236": "▁go", "2237": "▁all", "2238": "▁Oh", "2239": "▁like", "2240": "▁very", "2241": "▁The", "2242": "▁today", "2243": "▁not", "2244": "▁yeah", "2245": "▁take", "2246": "ight", "2247": "ex", "2248": "▁Ok", "2249": "▁seven", "2250": "▁number", "2251": "▁know", "2252": "▁about", "2253": "▁four", "2254": "▁okay", "2255": "▁name", "2256": "▁And", "2257": "▁five", "2258": "▁How", "2259": "▁account", "2260": "▁any", "2261": "▁three", "2262": "▁could", "2263": "▁up", "2264": "▁get", "2265": "▁phone", "2266": "▁great", "2267": "▁six", "2268": "▁eight", "2269": "▁now", "2270": "▁nine", "2271": "▁That", "2272": "▁address", "2273": "▁look", "2274": "▁call", "2275": "ill", "2276": "▁You", "2277": "▁but", "2278": "▁got", "2279": "▁don", "2280": "▁email", "2281": "▁calling", "2282": "▁problem", "2283": "▁right", "2284": "▁good", "2285": "▁well", "2286": "▁out", "2287": "▁What", "2288": "▁how", "2289": "▁really", "2290": "▁anything", "2291": "▁actually", "2292": "▁from", "2293": "▁think", "2294": "▁time", "2295": "▁some", "2296": "▁ask", "2297": "▁else", "2298": "other", "2299": "▁fine", "2300": "able", "2301": "▁Good", "2302": "▁when", "2303": "▁full", "2304": "▁confirm", "2305": "▁give", "2306": "▁more", "2307": "ever", "2308": "▁month", "2309": "▁information", "2310": "▁sure", "2311": "▁survey", "2312": "▁sorry", "2313": "▁send", "2314": "▁through", "2315": "▁check", "2316": "▁long", "2317": "▁birth", "2318": "▁should", "2319": "▁twenty", "2320": "▁make", "2321": "▁zero", "2322": "ful", "2323": "▁store", "2324": "▁policy", "2325": "▁back", "2326": "▁again", "2327": "▁first", "2328": "▁Could", "2329": "▁work", "2330": "▁afternoon", "2331": "▁after", "2332": "▁insurance", "2333": "▁customer", "2334": "▁payment", "2335": "▁question", "2336": "▁receive", "2337": "▁possible", "2338": "▁moment", "2339": "▁system", "2340": "▁change", "2341": "▁hundred", "2342": "▁nineteen", "2343": "<en-US>", "2344": "▁.", "2345": "▁,", "2346": "▁st", "2347": "▁are", "2348": "ow", "2349": "ive", "2350": "ate", "2351": "ad", "2352": "ect", "2353": "▁they", "2354": "▁as", "2355": "ng", "2356": "ity", "2357": "ther", "2358": "act", "2359": "ist", "2360": "▁our", "2361": "▁sp", "2362": "ally", "2363": "▁his", "2364": "▁But", "2365": "▁has", "2366": "▁also", "2367": "▁which", "2368": "▁He", "2369": "▁uh", "2370": "day", "2371": "▁people", "2372": "▁who", "2373": "▁thing", "2374": "▁because", "2375": "▁other", "2376": "ough", "2377": "▁part", "2378": "▁say", "2379": "▁year", "2380": "side", "2381": "\"", "2382": "<es-ES>", "2383": "▁y", "2384": "▁el", "2385": "ción", "2386": "▁Es", "2387": "res", "2388": "▁los", "2389": "▁La", "2390": "dos", "2391": "ía", "2392": "▁El", "2393": "▁las", "2394": "▁más", "2395": "men", "2396": "ño", "2397": "▁esta", "2398": "idad", "2399": "par", "2400": "¿", "2401": "ría", "2402": "▁fue", "2403": "rio", "2404": "enta", "2405": "ón", "2406": "cho", "2407": "ciones", "2408": "ble", "2409": "▁Ca", "2410": "▁muy", "2411": "▁también", "2412": "▁tiene", "2413": "ña", "2414": "▁Su", "2415": "▁pero", "2416": "▁son", "2417": "encia", "2418": "sión", "2419": "▁hay", "2420": "▁puede", "2421": "ncia", "2422": "▁mucho", "2423": "▁Si", "2424": "▁pues", "2425": "miento", "2426": "▁Con", "2427": "ones", "2428": "ecto", "2429": "iendo", "2430": "▁día", "2431": "▁sobre", "2432": "▁primer", "2433": "▁qué", "2434": "▁gusta", "2435": "▁San", "2436": "▁hacer", "2437": "cional", "2438": "▁verdad", "2439": "▁persona", "2440": "▁pasa", "2441": "▁mejor", "2442": "quí", "2443": "▁Fue", "2444": "▁Com", "2445": "▁ciudad", "2446": "Ñ", "2447": "<es-US>", "2448": "cia", "2449": "▁lo", "2450": "▁Y", "2451": "ron", "2452": "les", "2453": "▁mu", "2454": "cio", "2455": "▁yo", "2456": "bu", "2457": "▁sí", "2458": "▁Pero", "2459": "▁así", "2460": "<fr-CA>", "2461": "ré", "2462": "ée", "2463": "▁Les", "2464": "nt", "2465": "our", "2466": "▁Ce", "2467": "com", "2468": "▁Elle", "2469": "▁Cet", "2470": "ux", "2471": "ale", "2472": "ier", "2473": "ction", "2474": "▁cha", "2475": "▁pré", "2476": "▁deux", "2477": "if", "2478": "lé", "2479": "ère", "2480": "ière", "2481": "iste", "2482": "▁parti", "2483": "▁été", "2484": "cette", "2485": "avec", "2486": "▁tou", "2487": "jour", "2488": "app", "2489": "cul", "2490": "▁égale", "2491": "aine", "2492": "gue", "2493": "▁trè", "2494": "▁nombre", "2495": "▁étai", "2496": "tout", "2497": "▁grand", "2498": "▁commun", "2499": "Une", "2500": "œ", "2501": "ï", "2502": "À", "2503": "Œ", "2504": "È", "2505": "ō", "2506": "ÿ", "2507": "Ō", "2508": "Ô", "2509": "Ê", "2510": "Â", "2511": "▁m", "2512": "av", "2513": "ouv", "2514": "êt", "2515": "ois", "2516": "pri", "2517": "voir", "2518": "sion", "2519": "ix", "2520": "ang", "2521": "était", "2522": "ard", "2523": "aient", "2524": "Ć", "2525": "İ", "2526": "Ù", "2527": "Û", "2528": "Ë", "2529": "Ï", "2530": "<he-IL>", "2531": "<hi-IN>", "2532": "।", "2533": "!", "2534": "Ì", "2535": "<ja-JP>", "2536": "▁。", "2537": "▁、", "2538": "▁々", "2539": "〜", "2540": "々", "2541": "?", "2542": "、", "2543": "。", "2544": "<ko-KR>", "2545": "<nb-NO>", "2546": "ene", "2547": "▁ble", "2548": "ikk", "2549": "opp", "2550": "▁Han", "2551": "▁Den", "2552": "unn", "2553": "▁han", "2554": "asjon", "2555": "▁word", "2556": "▁werd", "2557": "<nn-NO>", "2558": "eg", "2559": "▁ikkje", "2560": "▁bok", "2561": "lik", "2562": "▁eit", "2563": "så", "2564": "kk", "2565": "▁nok", "2566": "▁god", "2567": "▁lese", "2568": "dde", "2569": "inga", "2570": "▁denn", "2571": "inn", "2572": "kkje", "2573": "dig", "2574": "tid", "2575": "▁bøke", "2576": "ord", "2577": "▁tru", "2578": "skje", "2579": "▁sei", "2580": "ller", "2581": "▁fle", "2582": "skriv", "2583": "▁heil", "2584": "wy", "2585": "Ś", "2586": "Ł", "2587": "Ź", "2588": "Ż", "2589": "car", "2590": "tão", "2591": "ia", "2592": "▁foi", "2593": "ito", "2594": "ram", "2595": "fa", "2596": "▁meu", "2597": "ça", "2598": "▁dois", "2599": "ação", "2600": "▁ter", "2601": "nça", "2602": "▁compra", "2603": "▁mil", "2604": "▁minha", "2605": "▁passa", "2606": "▁casa", "2607": "Ã", "2608": "·", "2609": "<pt-PT>", "2610": "das", "2611": "▁são", "2612": "▁Pa", "2613": "tura", "2614": "▁ser", "2615": "▁Ele", "2616": "forma", "2617": "▁Esta", "2618": "ões", "2619": "▁pelo", "2620": "tua", "2621": "▁pela", "2622": "mar", "2623": "▁Foi", "2624": "▁foram", "2625": "este", "2626": "▁Um", "2627": "▁São", "2628": "▁entre", "2629": "fun", "2630": "agem", "2631": "gua", "2632": "▁Brasil", "2633": "▁grande", "2634": "icos", "2635": "▁cidade", "2636": "inda", "2637": "▁Este", "2638": "▁maior", "2639": "▁brasileiro", "2640": "▁município", "2641": "▁nome", "2642": "▁encontra", "2643": "ambém", "2644": "▁Sua", "2645": "▁três", "2646": "ska", "2647": "var", "2648": "<th-TH>", "2649": "<tr-TR>", "2650": "ş", "2651": "ğ", "2652": "ya", "2653": "▁ve", "2654": "lar", "2655": "▁bir", "2656": "lı", "2657": "dı", "2658": "ler", "2659": "ye", "2660": "sı", "2661": "ları", "2662": "leri", "2663": "ında", "2664": "tı", "2665": "▁bu", "2666": "lan", "2667": "ara", "2668": "▁Bu", "2669": "inde", "2670": "ını", "2671": "yı", "2672": "yo", "2673": "dü", "2674": "▁olarak", "2675": "▁için", "2676": "maktadır", "2677": "arı", "2678": "▁baş", "2679": "Ş", "2680": "Ğ", "2681": "<zh-CN>", "2682": "⁇", "2683": "A", "2684": ",", "2685": "<vi-VN>", "2686": "▁t", "2687": "▁đ", "2688": "nh", "2689": "▁th", "2690": "▁ch", "2691": "▁nh", "2692": "▁kh", "2693": "▁ng", "2694": "▁g", "2695": "ông", "2696": "▁ph", "2697": "▁r", "2698": "▁gi", "2699": "ời", "2700": "ên", "2701": "▁cá", "2702": "▁và", "2703": "▁có", "2704": "iệ", "2705": "ột", "2706": "▁không", "2707": "ôi", "2708": "iế", "2709": "▁một", "2710": "ới", "2711": "ủa", "2712": "▁của", "2713": "▁x", "2714": "ười", "2715": "ượ", "2716": "ình", "2717": "ất", "2718": "ại", "2719": "uy", "2720": "ày", "2721": "▁người", "2722": "ong", "2723": "anh", "2724": "ược", "2725": "iề", "2726": "▁được", "2727": "▁nó", "2728": "ững", "2729": "▁cho", "2730": "ấy", "2731": "▁như", "2732": "▁ngh", "2733": "▁mà", "2734": "▁tôi", "2735": "ươ", "2736": "ải", "2737": "▁những", "2738": "▁thì", "2739": "ây", "2740": "ao", "2741": "▁đã", "2742": "ần", "2743": "▁cái", "2744": "▁đó", "2745": "▁đi", "2746": "▁với", "2747": "ướ", "2748": "▁trong", "2749": "▁các", "2750": "iều", "2751": "▁này", "2752": "ũng", "2753": "úng", "2754": "ăm", "2755": "ồi", "2756": "ạn", "2757": "▁anh", "2758": "ư", "2759": "ế", "2760": "ạ", "2761": "ộ", "2762": "ờ", "2763": "ả", "2764": "ấ", "2765": "ố", "2766": "ớ", "2767": "ệ", "2768": "ề", "2769": "ể", "2770": "ơ", "2771": "ủ", "2772": "ậ", "2773": "ợ", "2774": "ầ", "2775": "ị", "2776": "ữ", "2777": "ứ", "2778": "ự", "2779": "ọ", "2780": "ồ", "2781": "ở", "2782": "ắ", "2783": "ừ", "2784": "ụ", "2785": "ũ", "2786": "ổ", "2787": "ặ", "2788": "ẽ", "2789": "ằ", "2790": "Đ", "2791": "ỉ", "2792": "ỏ", "2793": "ử", "2794": "ĩ", "2795": "ỗ", "2796": "ẫ", "2797": "ẹ", "2798": "ẩ", "2799": "ễ", "2800": "ẻ", "2801": "ẳ", "2802": "ỹ", "2803": "ỡ", "2804": "ỳ", "2805": "ỷ", "2806": "ẵ", "2807": "Ở", "2808": "ỵ", "2809": "Ấ", "2810": "Ý", "2811": "Ừ", "2812": "Ă", "2813": "Ờ", "2814": "Ả", "2815": "Ồ", "2816": "Ơ", "2817": "Ư", "2818": "Ứ", "2819": "Ố", "2820": "Ớ", "2821": "Ủ", "2822": "Ẩ", "2823": "Ắ", "2824": "Ổ", "2825": "Ỷ", "2826": "Ế", "2827": "Ỳ", "2828": "<blank>"}
latin/2240ms/decoder.mlmodelc/model.mil ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [2829, 640]> module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [2829, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_8")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_7")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_6")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(3621248)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(6898112)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(10174976)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_2")];
36
+ tensor<fp16, [1, 1, 640]> input_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_2 = lstm(activation = input_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_lstm_layer_0_cell_activation_0, direction = input_lstm_layer_0_direction_0, initial_c = input_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_lstm_layer_0_output_sequence_0, recurrent_activation = input_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_direction_0 = const()[name = tensor<string, []>("input_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_output_sequence_0 = const()[name = tensor<string, []>("input_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_recurrent_activation_0 = const()[name = tensor<string, []>("input_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_cell_activation_0 = const()[name = tensor<string, []>("input_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_activation_0 = const()[name = tensor<string, []>("input_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(10180160)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(13457024)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16733888)))];
49
+ tensor<fp16, [1, 1, 640]> input_cast_fp16_0, tensor<fp16, [1, 640]> input_cast_fp16_1, tensor<fp16, [1, 640]> input_cast_fp16_2 = lstm(activation = input_activation_0, bias = concat_3_to_fp16, cell_activation = input_cell_activation_0, direction = input_direction_0, initial_c = input_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_h0_squeeze_cast_fp16, output_sequence = input_output_sequence_0, recurrent_activation = input_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_lstm_layer_0_cast_fp16_1, input_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_lstm_layer_0_cast_fp16_2, input_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_0_perm_0 = const()[name = tensor<string, []>("transpose_0_perm_0"), val = tensor<int32, [3]>([1, 2, 0])];
57
+ tensor<string, []> transpose_0_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("transpose_0_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
58
+ tensor<fp16, [1, 640, 1]> transpose_0_cast_fp16 = transpose(perm = transpose_0_perm_0, x = input_cast_fp16_0)[name = tensor<string, []>("transpose_1")];
59
+ tensor<fp32, [1, 640, 1]> decoder_out = cast(dtype = transpose_0_cast_fp16_to_fp32_dtype_0, x = transpose_0_cast_fp16)[name = tensor<string, []>("cast_3")];
60
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_4")];
61
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_5")];
62
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
63
+ } -> (decoder_out, h_out, c_out);
64
+ }
latin/2240ms/decoder_joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [1, 1024, 1]> encoder, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [2829, 640]> decoder_module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("decoder_module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [2829, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_9")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = decoder_module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_8")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_7")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_5_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_5_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_5_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_5_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_5_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(3621248)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(6898112)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(10174976)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_4")];
36
+ tensor<fp16, [1, 1, 640]> input_5_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_2 = lstm(activation = input_5_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_5_lstm_layer_0_cell_activation_0, direction = input_5_lstm_layer_0_direction_0, initial_c = input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_lstm_layer_0_output_sequence_0, recurrent_activation = input_5_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_5_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_5_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_5_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_5_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_5_direction_0 = const()[name = tensor<string, []>("input_5_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_5_output_sequence_0 = const()[name = tensor<string, []>("input_5_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_5_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_5_cell_activation_0 = const()[name = tensor<string, []>("input_5_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_5_activation_0 = const()[name = tensor<string, []>("input_5_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(10180160)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(13457024)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16733888)))];
49
+ tensor<fp16, [1, 1, 640]> input_5_cast_fp16_0, tensor<fp16, [1, 640]> input_5_cast_fp16_1, tensor<fp16, [1, 640]> input_5_cast_fp16_2 = lstm(activation = input_5_activation_0, bias = concat_3_to_fp16, cell_activation = input_5_cell_activation_0, direction = input_5_direction_0, initial_c = input_5_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_output_sequence_0, recurrent_activation = input_5_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_5_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_5_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_5_lstm_layer_0_cast_fp16_1, input_5_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_5_lstm_layer_0_cast_fp16_2, input_5_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_1_perm_0 = const()[name = tensor<string, []>("transpose_1_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
57
+ tensor<int32, [3]> input_7_perm_0 = const()[name = tensor<string, []>("input_7_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
58
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
59
+ tensor<fp16, [640, 1024]> joint_module_enc_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16739072)))];
60
+ tensor<fp16, [640]> joint_module_enc_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18049856)))];
61
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_4")];
62
+ tensor<fp16, [1, 1, 1024]> input_7_cast_fp16 = transpose(perm = input_7_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_2")];
63
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = joint_module_enc_bias_to_fp16, weight = joint_module_enc_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
64
+ tensor<fp16, [640, 640]> joint_module_pred_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18051200)))];
65
+ tensor<fp16, [640]> joint_module_pred_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18870464)))];
66
+ tensor<fp16, [1, 1, 640]> transpose_1_cast_fp16 = transpose(perm = transpose_1_perm_0, x = input_5_cast_fp16_0)[name = tensor<string, []>("transpose_3")];
67
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = joint_module_pred_bias_to_fp16, weight = joint_module_pred_weight_to_fp16, x = transpose_1_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
68
+ tensor<int32, [1]> var_79_axes_0 = const()[name = tensor<string, []>("op_79_axes_0"), val = tensor<int32, [1]>([2])];
69
+ tensor<fp16, [1, 1, 1, 640]> var_79_cast_fp16 = expand_dims(axes = var_79_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_79_cast_fp16")];
70
+ tensor<int32, [1]> var_80_axes_0 = const()[name = tensor<string, []>("op_80_axes_0"), val = tensor<int32, [1]>([1])];
71
+ tensor<fp16, [1, 1, 1, 640]> var_80_cast_fp16 = expand_dims(axes = var_80_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_80_cast_fp16")];
72
+ tensor<fp16, [1, 1, 1, 640]> input_11_cast_fp16 = add(x = var_79_cast_fp16, y = var_80_cast_fp16)[name = tensor<string, []>("input_11_cast_fp16")];
73
+ tensor<fp16, [1, 1, 1, 640]> input_13_cast_fp16 = relu(x = input_11_cast_fp16)[name = tensor<string, []>("input_13_cast_fp16")];
74
+ tensor<fp16, [2829, 640]> joint_module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [2829, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18871808)))];
75
+ tensor<fp16, [2829]> joint_module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [2829]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(22492992)))];
76
+ tensor<fp16, [1, 1, 1, 2829]> linear_2_cast_fp16 = linear(bias = joint_module_joint_net_2_bias_to_fp16, weight = joint_module_joint_net_2_weight_to_fp16, x = input_13_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
77
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
78
+ tensor<fp32, [1, 1, 1, 2829]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_3")];
79
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_5")];
80
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_6")];
81
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
82
+ } -> (logits, h_out, c_out);
83
+ }
latin/2240ms/encoder.mlmodelc/model.mil ADDED
The diff for this file is too large to render. See raw diff
 
latin/2240ms/joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, 640, 1]> decoder, tensor<fp32, [1, 1024, 1]> encoder) {
5
+ tensor<int32, [3]> input_1_perm_0 = const()[name = tensor<string, []>("input_1_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
6
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
7
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
8
+ tensor<string, []> decoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("decoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
9
+ tensor<fp16, [640, 1024]> module_enc_weight_to_fp16 = const()[name = tensor<string, []>("module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
10
+ tensor<fp16, [640]> module_enc_bias_to_fp16 = const()[name = tensor<string, []>("module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1310848)))];
11
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_2")];
12
+ tensor<fp16, [1, 1, 1024]> input_1_cast_fp16 = transpose(perm = input_1_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_1")];
13
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = module_enc_bias_to_fp16, weight = module_enc_weight_to_fp16, x = input_1_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
14
+ tensor<fp16, [640, 640]> module_pred_weight_to_fp16 = const()[name = tensor<string, []>("module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1312192)))];
15
+ tensor<fp16, [640]> module_pred_bias_to_fp16 = const()[name = tensor<string, []>("module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2131456)))];
16
+ tensor<fp16, [1, 640, 1]> decoder_to_fp16 = cast(dtype = decoder_to_fp16_dtype_0, x = decoder)[name = tensor<string, []>("cast_1")];
17
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = decoder_to_fp16)[name = tensor<string, []>("transpose_0")];
18
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = module_pred_bias_to_fp16, weight = module_pred_weight_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
19
+ tensor<int32, [1]> var_23_axes_0 = const()[name = tensor<string, []>("op_23_axes_0"), val = tensor<int32, [1]>([2])];
20
+ tensor<fp16, [1, 1, 1, 640]> var_23_cast_fp16 = expand_dims(axes = var_23_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_23_cast_fp16")];
21
+ tensor<int32, [1]> var_25_axes_0 = const()[name = tensor<string, []>("op_25_axes_0"), val = tensor<int32, [1]>([1])];
22
+ tensor<fp16, [1, 1, 1, 640]> var_25_cast_fp16 = expand_dims(axes = var_25_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_25_cast_fp16")];
23
+ tensor<fp16, [1, 1, 1, 640]> input_5_cast_fp16 = add(x = var_23_cast_fp16, y = var_25_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
24
+ tensor<fp16, [1, 1, 1, 640]> input_7_cast_fp16 = relu(x = input_5_cast_fp16)[name = tensor<string, []>("input_7_cast_fp16")];
25
+ tensor<fp16, [2829, 640]> module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [2829, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2132800)))];
26
+ tensor<fp16, [2829]> module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [2829]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(5753984)))];
27
+ tensor<fp16, [1, 1, 1, 2829]> linear_2_cast_fp16 = linear(bias = module_joint_net_2_bias_to_fp16, weight = module_joint_net_2_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
28
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
29
+ tensor<fp32, [1, 1, 1, 2829]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_0")];
30
+ } -> (logits);
31
+ }
latin/2240ms/metadata.json ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "nvidia/nemotron-3.5-asr-streaming-0.6b",
3
+ "model_class": "nemo.collections.asr.models.rnnt_bpe_models_prompt.EncDecRNNTBPEModelWithPrompt",
4
+ "sample_rate": 16000,
5
+ "mel_features": 128,
6
+ "chunk_mel_frames": 224,
7
+ "pre_encode_cache": 9,
8
+ "total_mel_frames": 233,
9
+ "att_context_size": [
10
+ 42,
11
+ 13
12
+ ],
13
+ "vocab_size": 2828,
14
+ "blank_idx": 2828,
15
+ "vocab_pruned": true,
16
+ "vocab_pruned_original_size": 13087,
17
+ "cache_channel_shape": [
18
+ 1,
19
+ 24,
20
+ 42,
21
+ 1024
22
+ ],
23
+ "cache_time_shape": [
24
+ 1,
25
+ 24,
26
+ 1024,
27
+ 8
28
+ ],
29
+ "decoder_hidden": 640,
30
+ "decoder_layers": 2,
31
+ "encoder_dim": 1024,
32
+ "num_prompts": 128,
33
+ "prompt_dictionary": {
34
+ "en-US": 0,
35
+ "en": 0,
36
+ "en-GB": 1,
37
+ "enGB": 1,
38
+ "es-ES": 2,
39
+ "esES": 2,
40
+ "es-US": 3,
41
+ "es": 3,
42
+ "zh-CN": 4,
43
+ "zh-ZH": 4,
44
+ "zh-TW": 5,
45
+ "hi-IN": 6,
46
+ "hi": 6,
47
+ "hi-HI": 6,
48
+ "ar-AR": 7,
49
+ "ar": 7,
50
+ "fr-FR": 8,
51
+ "fr": 8,
52
+ "de-DE": 9,
53
+ "de": 9,
54
+ "ja-JP": 10,
55
+ "ja-JA": 10,
56
+ "ru-RU": 11,
57
+ "ru": 11,
58
+ "pt-BR": 12,
59
+ "pt-PT": 13,
60
+ "pt": 13,
61
+ "ko-KR": 14,
62
+ "ko": 14,
63
+ "ko-KO": 14,
64
+ "it-IT": 15,
65
+ "it": 15,
66
+ "nl-NL": 16,
67
+ "nl": 16,
68
+ "pl-PL": 17,
69
+ "pl": 17,
70
+ "tr-TR": 18,
71
+ "tr": 18,
72
+ "uk-UA": 19,
73
+ "uk": 19,
74
+ "ro-RO": 20,
75
+ "ro": 20,
76
+ "el-GR": 21,
77
+ "el": 21,
78
+ "cs-CZ": 22,
79
+ "cs": 22,
80
+ "hu-HU": 23,
81
+ "hu": 23,
82
+ "sv-SE": 24,
83
+ "sv": 24,
84
+ "da-DK": 25,
85
+ "da": 25,
86
+ "fi-FI": 26,
87
+ "fi": 26,
88
+ "no-NO": 27,
89
+ "no": 27,
90
+ "nb-NO": 103,
91
+ "nb": 103,
92
+ "nn-NO": 104,
93
+ "nn": 104,
94
+ "sk-SK": 28,
95
+ "sk": 28,
96
+ "hr-HR": 29,
97
+ "hr": 29,
98
+ "bg-BG": 30,
99
+ "bg": 30,
100
+ "lt-LT": 31,
101
+ "lt": 31,
102
+ "et-EE": 60,
103
+ "et": 60,
104
+ "lv-LV": 61,
105
+ "lv": 61,
106
+ "sl-SI": 62,
107
+ "sl": 62,
108
+ "th-TH": 32,
109
+ "vi-VN": 33,
110
+ "id-ID": 34,
111
+ "ms-MY": 35,
112
+ "bn-IN": 36,
113
+ "ur-PK": 37,
114
+ "fa-IR": 38,
115
+ "ta-IN": 39,
116
+ "te-IN": 40,
117
+ "mr-IN": 41,
118
+ "gu-IN": 42,
119
+ "kn-IN": 43,
120
+ "ml-IN": 44,
121
+ "si-LK": 45,
122
+ "ne-NP": 46,
123
+ "km-KH": 47,
124
+ "sw-KE": 48,
125
+ "am-ET": 49,
126
+ "ha-NG": 50,
127
+ "zu-ZA": 51,
128
+ "yo-NG": 52,
129
+ "ig-NG": 53,
130
+ "af-ZA": 54,
131
+ "rw-RW": 55,
132
+ "so-SO": 56,
133
+ "ny-MW": 57,
134
+ "ln-CD": 58,
135
+ "or-KE": 59,
136
+ "he-IL": 64,
137
+ "ku-TR": 65,
138
+ "az-AZ": 66,
139
+ "ka-GE": 67,
140
+ "hy-AM": 68,
141
+ "uz-UZ": 69,
142
+ "tg-TJ": 70,
143
+ "ky-KG": 71,
144
+ "qu-PE": 80,
145
+ "ay-BO": 81,
146
+ "gn-PY": 82,
147
+ "nah-MX": 83,
148
+ "mi-NZ": 96,
149
+ "haw-US": 97,
150
+ "sm-WS": 98,
151
+ "to-TO": 99,
152
+ "fr-CA": 100,
153
+ "mt-MT": 102,
154
+ "auto": 101
155
+ },
156
+ "default_prompt_id": 101,
157
+ "lang_tag_token_ids": [
158
+ 1,
159
+ 96,
160
+ 237,
161
+ 358,
162
+ 513,
163
+ 654,
164
+ 746,
165
+ 829,
166
+ 961,
167
+ 1068,
168
+ 1098,
169
+ 1202,
170
+ 1274,
171
+ 1422,
172
+ 1543,
173
+ 1660,
174
+ 1748,
175
+ 1840,
176
+ 1841,
177
+ 1922,
178
+ 2039,
179
+ 2157,
180
+ 2158,
181
+ 2205,
182
+ 2343,
183
+ 2382,
184
+ 2447,
185
+ 2460,
186
+ 2530,
187
+ 2531,
188
+ 2535,
189
+ 2544,
190
+ 2545,
191
+ 2557,
192
+ 2609,
193
+ 2648,
194
+ 2649,
195
+ 2681,
196
+ 2685
197
+ ]
198
+ }
latin/2240ms/preprocessor.mlmodelc/model.mil ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, ?]> audio, tensor<int32, [1]> audio_length) [FlexibleShapeInformation = tuple<tuple<tensor<string, []>, dict<tensor<string, []>, tensor<int32, [?]>>>, tuple<tensor<string, []>, dict<tensor<string, []>, list<tensor<int32, [2]>, ?>>>>((("DefaultShapes", {{"audio", [1, 1]}}), ("RangeDims", {{"audio", [[1, 1], [1, 1280000]]}})))] {
5
+ tensor<int32, []> var_9 = const()[name = tensor<string, []>("op_9"), val = tensor<int32, []>(1)];
6
+ tensor<int32, []> var_10 = const()[name = tensor<string, []>("op_10"), val = tensor<int32, []>(160)];
7
+ tensor<int32, []> var_12 = const()[name = tensor<string, []>("op_12"), val = tensor<int32, []>(0)];
8
+ tensor<int32, []> var_33 = const()[name = tensor<string, []>("op_33"), val = tensor<int32, []>(512)];
9
+ tensor<int32, [1]> var_34 = add(x = audio_length, y = var_33)[name = tensor<string, []>("op_34")];
10
+ tensor<int32, []> var_35 = const()[name = tensor<string, []>("op_35"), val = tensor<int32, []>(512)];
11
+ tensor<int32, [1]> var_36 = sub(x = var_34, y = var_35)[name = tensor<string, []>("op_36")];
12
+ tensor<int32, [1]> floor_div_0 = floor_div(x = var_36, y = var_10)[name = tensor<string, []>("floor_div_0")];
13
+ tensor<bool, [1]> var_39 = equal(x = audio_length, y = var_12)[name = tensor<string, []>("op_39")];
14
+ tensor<int32, [1]> var_40 = const()[name = tensor<string, []>("op_40"), val = tensor<int32, [1]>([0])];
15
+ tensor<int32, [1]> mel_length = select(a = var_40, b = floor_div_0, cond = var_39)[name = tensor<string, []>("seq_len")];
16
+ tensor<string, []> audio_to_fp16_dtype_0 = const()[name = tensor<string, []>("audio_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
17
+ tensor<fp16, [1, ?]> audio_to_fp16 = cast(dtype = audio_to_fp16_dtype_0, x = audio)[name = tensor<string, []>("cast_14")];
18
+ tensor<int32, [2]> var_42_shape_cast_fp16 = shape(x = audio_to_fp16)[name = tensor<string, []>("op_42_shape_cast_fp16")];
19
+ tensor<int32, []> gather_0_axis_0 = const()[name = tensor<string, []>("gather_0_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<int32, []> gather_0_batch_dims_0 = const()[name = tensor<string, []>("gather_0_batch_dims_0"), val = tensor<int32, []>(0)];
21
+ tensor<bool, []> gather_0_validate_indices_0 = const()[name = tensor<string, []>("gather_0_validate_indices_0"), val = tensor<bool, []>(false)];
22
+ tensor<string, []> var_42_shape_cast_fp16_to_int16_dtype_0 = const()[name = tensor<string, []>("op_42_shape_cast_fp16_to_int16_dtype_0"), val = tensor<string, []>("int16")];
23
+ tensor<uint16, []> select_0_to_uint16 = const()[name = tensor<string, []>("select_0_to_uint16"), val = tensor<uint16, []>(1)];
24
+ tensor<int16, [2]> var_42_shape_cast_fp16_to_int16 = cast(dtype = var_42_shape_cast_fp16_to_int16_dtype_0, x = var_42_shape_cast_fp16)[name = tensor<string, []>("cast_13")];
25
+ tensor<int16, []> gather_0_cast_uint16 = gather(axis = gather_0_axis_0, batch_dims = gather_0_batch_dims_0, indices = select_0_to_uint16, validate_indices = gather_0_validate_indices_0, x = var_42_shape_cast_fp16_to_int16)[name = tensor<string, []>("gather_0_cast_uint16")];
26
+ tensor<string, []> gather_0_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_0_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
27
+ tensor<int32, []> const_0 = const()[name = tensor<string, []>("const_0"), val = tensor<int32, []>(0)];
28
+ tensor<int32, []> const_1 = const()[name = tensor<string, []>("const_1"), val = tensor<int32, []>(1)];
29
+ tensor<int32, []> gather_0_cast_uint16_to_int32 = cast(dtype = gather_0_cast_uint16_to_int32_dtype_0, x = gather_0_cast_uint16)[name = tensor<string, []>("cast_12")];
30
+ tensor<int32, [?]> var_43 = range_1d(end = gather_0_cast_uint16_to_int32, start = const_0, step = const_1)[name = tensor<string, []>("op_43")];
31
+ tensor<int32, [1]> var_44_axes_0 = const()[name = tensor<string, []>("op_44_axes_0"), val = tensor<int32, [1]>([0])];
32
+ tensor<int32, [1, ?]> var_44 = expand_dims(axes = var_44_axes_0, x = var_43)[name = tensor<string, []>("op_44")];
33
+ tensor<int32, [1]> var_45_axes_0 = const()[name = tensor<string, []>("op_45_axes_0"), val = tensor<int32, [1]>([1])];
34
+ tensor<int32, [1, 1]> var_45 = expand_dims(axes = var_45_axes_0, x = audio_length)[name = tensor<string, []>("op_45")];
35
+ tensor<bool, [1, ?]> timemask = less(x = var_44, y = var_45)[name = tensor<string, []>("timemask")];
36
+ tensor<int32, [2]> var_48_begin_0 = const()[name = tensor<string, []>("op_48_begin_0"), val = tensor<int32, [2]>([0, 0])];
37
+ tensor<int32, [2]> var_48_end_0 = const()[name = tensor<string, []>("op_48_end_0"), val = tensor<int32, [2]>([1, 1])];
38
+ tensor<bool, [2]> var_48_end_mask_0 = const()[name = tensor<string, []>("op_48_end_mask_0"), val = tensor<bool, [2]>([true, false])];
39
+ tensor<bool, [2]> var_48_squeeze_mask_0 = const()[name = tensor<string, []>("op_48_squeeze_mask_0"), val = tensor<bool, [2]>([false, true])];
40
+ tensor<fp16, [1]> var_48_cast_fp16 = slice_by_index(begin = var_48_begin_0, end = var_48_end_0, end_mask = var_48_end_mask_0, squeeze_mask = var_48_squeeze_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_48_cast_fp16")];
41
+ tensor<int32, [1]> var_49_axes_0 = const()[name = tensor<string, []>("op_49_axes_0"), val = tensor<int32, [1]>([1])];
42
+ tensor<fp16, [1, 1]> var_49_cast_fp16 = expand_dims(axes = var_49_axes_0, x = var_48_cast_fp16)[name = tensor<string, []>("op_49_cast_fp16")];
43
+ tensor<int32, [2]> var_51_begin_0 = const()[name = tensor<string, []>("op_51_begin_0"), val = tensor<int32, [2]>([0, 1])];
44
+ tensor<int32, [2]> var_51_end_0 = const()[name = tensor<string, []>("op_51_end_0"), val = tensor<int32, [2]>([1, 0])];
45
+ tensor<bool, [2]> var_51_end_mask_0 = const()[name = tensor<string, []>("op_51_end_mask_0"), val = tensor<bool, [2]>([true, true])];
46
+ tensor<fp16, [1, ?]> var_51_cast_fp16 = slice_by_index(begin = var_51_begin_0, end = var_51_end_0, end_mask = var_51_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_51_cast_fp16")];
47
+ tensor<int32, [2]> var_53_begin_0 = const()[name = tensor<string, []>("op_53_begin_0"), val = tensor<int32, [2]>([0, 0])];
48
+ tensor<int32, [2]> var_53_end_0 = const()[name = tensor<string, []>("op_53_end_0"), val = tensor<int32, [2]>([1, -1])];
49
+ tensor<bool, [2]> var_53_end_mask_0 = const()[name = tensor<string, []>("op_53_end_mask_0"), val = tensor<bool, [2]>([true, false])];
50
+ tensor<fp16, [1, ?]> var_53_cast_fp16 = slice_by_index(begin = var_53_begin_0, end = var_53_end_0, end_mask = var_53_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_53_cast_fp16")];
51
+ tensor<fp16, []> var_54_to_fp16 = const()[name = tensor<string, []>("op_54_to_fp16"), val = tensor<fp16, []>(0x1.f0cp-1)];
52
+ tensor<fp16, [1, ?]> var_55_cast_fp16 = mul(x = var_53_cast_fp16, y = var_54_to_fp16)[name = tensor<string, []>("op_55_cast_fp16")];
53
+ tensor<fp16, [1, ?]> var_56_cast_fp16 = sub(x = var_51_cast_fp16, y = var_55_cast_fp16)[name = tensor<string, []>("op_56_cast_fp16")];
54
+ tensor<bool, []> x_3_interleave_0 = const()[name = tensor<string, []>("x_3_interleave_0"), val = tensor<bool, []>(false)];
55
+ tensor<fp16, [1, ?]> x_3_cast_fp16 = concat(axis = var_9, interleave = x_3_interleave_0, values = (var_49_cast_fp16, var_56_cast_fp16))[name = tensor<string, []>("x_3_cast_fp16")];
56
+ tensor<bool, [1, ?]> var_59 = logical_not(x = timemask)[name = tensor<string, []>("op_59")];
57
+ tensor<fp16, []> var_16_to_fp16 = const()[name = tensor<string, []>("op_16_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
58
+ tensor<fp16, [1, ?]> input_1_cast_fp16 = select(a = var_16_to_fp16, b = x_3_cast_fp16, cond = var_59)[name = tensor<string, []>("input_1_cast_fp16")];
59
+ tensor<int32, [3]> concat_1x = const()[name = tensor<string, []>("concat_1x"), val = tensor<int32, [3]>([1, 1, -1])];
60
+ tensor<fp16, [1, 1, ?]> input_3_cast_fp16 = reshape(shape = concat_1x, x = input_1_cast_fp16)[name = tensor<string, []>("input_3_cast_fp16")];
61
+ tensor<int32, [6]> input_5_pad_0 = const()[name = tensor<string, []>("input_5_pad_0"), val = tensor<int32, [6]>([0, 0, 0, 0, 256, 256])];
62
+ tensor<string, []> input_5_mode_0 = const()[name = tensor<string, []>("input_5_mode_0"), val = tensor<string, []>("constant")];
63
+ tensor<fp16, []> const_3_to_fp16 = const()[name = tensor<string, []>("const_3_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
64
+ tensor<fp16, [1, 1, ?]> input_5_cast_fp16 = pad(constant_val = const_3_to_fp16, mode = input_5_mode_0, pad = input_5_pad_0, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
65
+ tensor<int32, [2]> concat_2x = const()[name = tensor<string, []>("concat_2x"), val = tensor<int32, [2]>([1, -1])];
66
+ tensor<fp16, [1, ?]> input_cast_fp16 = reshape(shape = concat_2x, x = input_5_cast_fp16)[name = tensor<string, []>("input_cast_fp16")];
67
+ tensor<int32, [1]> expand_dims_3 = const()[name = tensor<string, []>("expand_dims_3"), val = tensor<int32, [1]>([160])];
68
+ tensor<int32, [1]> expand_dims_4_axes_0 = const()[name = tensor<string, []>("expand_dims_4_axes_0"), val = tensor<int32, [1]>([1])];
69
+ tensor<fp16, [1, 1, ?]> expand_dims_4_cast_fp16 = expand_dims(axes = expand_dims_4_axes_0, x = input_cast_fp16)[name = tensor<string, []>("expand_dims_4_cast_fp16")];
70
+ tensor<string, []> conv_0_pad_type_0 = const()[name = tensor<string, []>("conv_0_pad_type_0"), val = tensor<string, []>("valid")];
71
+ tensor<int32, [2]> conv_0_pad_0 = const()[name = tensor<string, []>("conv_0_pad_0"), val = tensor<int32, [2]>([0, 0])];
72
+ tensor<int32, [1]> conv_0_dilations_0 = const()[name = tensor<string, []>("conv_0_dilations_0"), val = tensor<int32, [1]>([1])];
73
+ tensor<int32, []> conv_0_groups_0 = const()[name = tensor<string, []>("conv_0_groups_0"), val = tensor<int32, []>(1)];
74
+ tensor<fp16, [257, 1, 512]> expand_dims_1_to_fp16 = const()[name = tensor<string, []>("expand_dims_1_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
75
+ tensor<fp16, [1, 257, ?]> conv_0_cast_fp16 = conv(dilations = conv_0_dilations_0, groups = conv_0_groups_0, pad = conv_0_pad_0, pad_type = conv_0_pad_type_0, strides = expand_dims_3, weight = expand_dims_1_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_0_cast_fp16")];
76
+ tensor<string, []> conv_1_pad_type_0 = const()[name = tensor<string, []>("conv_1_pad_type_0"), val = tensor<string, []>("valid")];
77
+ tensor<int32, [2]> conv_1_pad_0 = const()[name = tensor<string, []>("conv_1_pad_0"), val = tensor<int32, [2]>([0, 0])];
78
+ tensor<int32, [1]> conv_1_dilations_0 = const()[name = tensor<string, []>("conv_1_dilations_0"), val = tensor<int32, [1]>([1])];
79
+ tensor<int32, []> conv_1_groups_0 = const()[name = tensor<string, []>("conv_1_groups_0"), val = tensor<int32, []>(1)];
80
+ tensor<fp16, [257, 1, 512]> expand_dims_2_to_fp16 = const()[name = tensor<string, []>("expand_dims_2_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(263296)))];
81
+ tensor<fp16, [1, 257, ?]> conv_1_cast_fp16 = conv(dilations = conv_1_dilations_0, groups = conv_1_groups_0, pad = conv_1_pad_0, pad_type = conv_1_pad_type_0, strides = expand_dims_3, weight = expand_dims_2_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_1_cast_fp16")];
82
+ tensor<int32, []> stack_0_axis_0 = const()[name = tensor<string, []>("stack_0_axis_0"), val = tensor<int32, []>(-1)];
83
+ tensor<fp16, [1, 257, ?, 2]> stack_0_cast_fp16 = stack(axis = stack_0_axis_0, values = (conv_0_cast_fp16, conv_1_cast_fp16))[name = tensor<string, []>("stack_0_cast_fp16")];
84
+ tensor<fp16, []> var_19_promoted_to_fp16 = const()[name = tensor<string, []>("op_19_promoted_to_fp16"), val = tensor<fp16, []>(0x1p+1)];
85
+ tensor<fp16, [1, 257, ?, 2]> var_74_cast_fp16 = pow(x = stack_0_cast_fp16, y = var_19_promoted_to_fp16)[name = tensor<string, []>("op_74_cast_fp16")];
86
+ tensor<int32, [1]> var_76_axes_0 = const()[name = tensor<string, []>("op_76_axes_0"), val = tensor<int32, [1]>([-1])];
87
+ tensor<bool, []> var_76_keep_dims_0 = const()[name = tensor<string, []>("op_76_keep_dims_0"), val = tensor<bool, []>(false)];
88
+ tensor<fp16, [1, 257, ?]> var_76_cast_fp16 = reduce_sum(axes = var_76_axes_0, keep_dims = var_76_keep_dims_0, x = var_74_cast_fp16)[name = tensor<string, []>("op_76_cast_fp16")];
89
+ tensor<fp16, [1, 257, ?]> x_11_cast_fp16 = identity(x = var_76_cast_fp16)[name = tensor<string, []>("x_11_cast_fp16")];
90
+ tensor<bool, []> x_13_transpose_x_0 = const()[name = tensor<string, []>("x_13_transpose_x_0"), val = tensor<bool, []>(false)];
91
+ tensor<bool, []> x_13_transpose_y_0 = const()[name = tensor<string, []>("x_13_transpose_y_0"), val = tensor<bool, []>(false)];
92
+ tensor<fp16, [1, 128, 257]> const_4_to_fp16 = const()[name = tensor<string, []>("const_4_to_fp16"), val = tensor<fp16, [1, 128, 257]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(526528)))];
93
+ tensor<fp16, [1, 128, ?]> x_13_cast_fp16 = matmul(transpose_x = x_13_transpose_x_0, transpose_y = x_13_transpose_y_0, x = const_4_to_fp16, y = x_11_cast_fp16)[name = tensor<string, []>("x_13_cast_fp16")];
94
+ tensor<fp16, []> var_83_to_fp16 = const()[name = tensor<string, []>("op_83_to_fp16"), val = tensor<fp16, []>(0x1p-24)];
95
+ tensor<fp16, [1, 128, ?]> var_84_cast_fp16 = add(x = x_13_cast_fp16, y = var_83_to_fp16)[name = tensor<string, []>("op_84_cast_fp16")];
96
+ tensor<fp32, []> x_epsilon_0 = const()[name = tensor<string, []>("x_epsilon_0"), val = tensor<fp32, []>(0x1p-149)];
97
+ tensor<fp16, [1, 128, ?]> x_cast_fp16 = log(epsilon = x_epsilon_0, x = var_84_cast_fp16)[name = tensor<string, []>("x_cast_fp16")];
98
+ tensor<int32, [3]> var_86_shape_cast_fp16 = shape(x = x_cast_fp16)[name = tensor<string, []>("op_86_shape_cast_fp16")];
99
+ tensor<int32, []> gather_5_axis_0 = const()[name = tensor<string, []>("gather_5_axis_0"), val = tensor<int32, []>(0)];
100
+ tensor<int32, []> gather_5_batch_dims_0 = const()[name = tensor<string, []>("gather_5_batch_dims_0"), val = tensor<int32, []>(0)];
101
+ tensor<bool, []> gather_5_validate_indices_0 = const()[name = tensor<string, []>("gather_5_validate_indices_0"), val = tensor<bool, []>(false)];
102
+ tensor<string, []> var_86_shape_cast_fp16_to_uint16_dtype_0 = const()[name = tensor<string, []>("op_86_shape_cast_fp16_to_uint16_dtype_0"), val = tensor<string, []>("uint16")];
103
+ tensor<uint16, []> select_5_to_uint16 = const()[name = tensor<string, []>("select_5_to_uint16"), val = tensor<uint16, []>(2)];
104
+ tensor<uint16, [3]> var_86_shape_cast_fp16_to_uint16 = cast(dtype = var_86_shape_cast_fp16_to_uint16_dtype_0, x = var_86_shape_cast_fp16)[name = tensor<string, []>("cast_11")];
105
+ tensor<uint16, []> gather_5_cast_uint16 = gather(axis = gather_5_axis_0, batch_dims = gather_5_batch_dims_0, indices = select_5_to_uint16, validate_indices = gather_5_validate_indices_0, x = var_86_shape_cast_fp16_to_uint16)[name = tensor<string, []>("gather_5_cast_uint16")];
106
+ tensor<string, []> gather_5_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_5_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
107
+ tensor<int32, []> const_5 = const()[name = tensor<string, []>("const_5"), val = tensor<int32, []>(0)];
108
+ tensor<int32, []> const_6 = const()[name = tensor<string, []>("const_6"), val = tensor<int32, []>(1)];
109
+ tensor<int32, []> gather_5_cast_uint16_to_int32 = cast(dtype = gather_5_cast_uint16_to_int32_dtype_0, x = gather_5_cast_uint16)[name = tensor<string, []>("cast_10")];
110
+ tensor<int32, [?]> mask_1 = range_1d(end = gather_5_cast_uint16_to_int32, start = const_5, step = const_6)[name = tensor<string, []>("mask_1")];
111
+ tensor<int32, [1]> expand_dims_0_axes_0 = const()[name = tensor<string, []>("expand_dims_0_axes_0"), val = tensor<int32, [1]>([0])];
112
+ tensor<int32, [1, ?]> expand_dims_0 = expand_dims(axes = expand_dims_0_axes_0, x = mask_1)[name = tensor<string, []>("expand_dims_0")];
113
+ tensor<int32, [1]> var_91_axes_0 = const()[name = tensor<string, []>("op_91_axes_0"), val = tensor<int32, [1]>([1])];
114
+ tensor<int32, [1, 1]> var_91 = expand_dims(axes = var_91_axes_0, x = mel_length)[name = tensor<string, []>("op_91")];
115
+ tensor<bool, [1, ?]> mask = greater_equal(x = expand_dims_0, y = var_91)[name = tensor<string, []>("mask")];
116
+ tensor<int32, [1]> var_93_axes_0 = const()[name = tensor<string, []>("op_93_axes_0"), val = tensor<int32, [1]>([1])];
117
+ tensor<bool, [1, 1, ?]> var_93 = expand_dims(axes = var_93_axes_0, x = mask)[name = tensor<string, []>("op_93")];
118
+ tensor<fp16, [1, 128, ?]> processed_signal_cast_fp16 = select(a = var_16_to_fp16, b = x_cast_fp16, cond = var_93)[name = tensor<string, []>("processed_signal_cast_fp16")];
119
+ tensor<string, []> processed_signal_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("processed_signal_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
120
+ tensor<fp32, [1, 128, ?]> mel = cast(dtype = processed_signal_cast_fp16_to_fp32_dtype_0, x = processed_signal_cast_fp16)[name = tensor<string, []>("cast_9")];
121
+ } -> (mel, mel_length);
122
+ }
latin/2240ms/tokenizer.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"0": "<unk>", "1": "<bg-BG>", "2": "▁", "3": ".", "4": ",", "5": "e", "6": "t", "7": "a", "8": "s", "9": "o", "10": "i", "11": "r", "12": "l", "13": "u", "14": "d", "15": "c", "16": "h", "17": "m", "18": "p", "19": "n", "20": "g", "21": "f", "22": "en", "23": "in", "24": "on", "25": "y", "26": "er", "27": "an", "28": "w", "29": "0", "30": "b", "31": "v", "32": "2", "33": "1", "34": "▁the", "35": "k", "36": "?", "37": "3", "38": "5", "39": "q", "40": "I", "41": "é", "42": "4", "43": "z", "44": "A", "45": "6", "46": "j", "47": "E", "48": "7", "49": "T", "50": "8", "51": "9", "52": "S", "53": "x", "54": "C", "55": "M", "56": "P", "57": "D", "58": "B", "59": "U", "60": "W", "61": "N", "62": "O", "63": "G", "64": "à", "65": "F", "66": "L", "67": "è", "68": "V", "69": "R", "70": "ó", "71": "H", "72": "α", "73": "ü", "74": "ä", "75": "J", "76": "í", "77": "τ", "78": "ι", "79": "á", "80": "ο", "81": "K", "82": "ε", "83": "ê", "84": "Y", "85": "ν", "86": "ö", "87": "ç", "88": "ρ", "89": "σ", "90": "π", "91": "ę", "92": "υ", "93": "η", "94": "μ", "95": "κ", "96": "<cs-CZ>", "97": "st", "98": "ch", "99": "ní", "100": "▁s", "101": "le", "102": "li", "103": "▁po", "104": "▁v", "105": "ž", "106": "č", "107": "▁to", "108": "no", "109": "to", "110": "▁z", "111": "me", "112": "▁se", "113": "▁a", "114": "te", "115": "▁je", "116": "ho", "117": "▁pro", "118": "ů", "119": "ně", "120": "ro", "121": "▁na", "122": "ce", "123": "▁o", "124": "la", "125": "š", "126": "▁ne", "127": "ni", "128": "ra", "129": "ti", "130": "lo", "131": "ko", "132": "▁že", "133": "ná", "134": "po", "135": "je", "136": "ě", "137": "de", "138": "na", "139": "mi", "140": "▁do", "141": "ci", "142": "▁k", "143": "ku", "144": "ře", "145": "▁by", "146": "ve", "147": "▁za", "148": "mě", "149": "▁A", "150": "ý", "151": "re", "152": "vá", "153": "ou", "154": "vo", "155": "né", "156": "va", "157": "že", "158": "mo", "159": "vě", "160": "jí", "161": "tě", "162": "vý", "163": "▁tak", "164": "ze", "165": "ří", "166": "ne", "167": "še", "168": "▁vy", "169": "ka", "170": "ji", "171": "ky", "172": "rá", "173": "ovat", "174": "▁ob", "175": "cí", "176": "▁jak", "177": "▁pře", "178": "ny", "179": "ví", "180": "ný", "181": "vi", "182": "▁in", "183": "práv", "184": "ú", "185": "▁co", "186": "▁také", "187": "ent", "188": "▁pan", "189": "▁Děkuji", "190": "▁které", "191": "ři", "192": "▁aby", "193": "▁pří", "194": "▁při", "195": "prav", "196": "ř", "197": "vrop", "198": "▁bude", "199": "▁roz", "200": "▁jsou", "201": "ové", "202": "▁jsme", "203": "ské", "204": "ování", "205": "▁tady", "206": "ský", "207": "děl", "208": "▁musí", "209": "Z", "210": "klad", "211": "▁tedy", "212": "dob", "213": "▁To", "214": "ální", "215": "▁Je", "216": "▁stát", "217": "ň", "218": "oval", "219": "▁protože", "220": "▁jsem", "221": "▁který", "222": "předsed", "223": "▁být", "224": "ď", "225": "Č", "226": "ť", "227": "Š", "228": "Ř", "229": "Ž", "230": "ă", "231": "ł", "232": "ż", "233": "ą", "234": "X", "235": "Ú", "236": "ś", "237": "<da-DK>", "238": "▁for", "239": "▁det", "240": "▁at", "241": "æ", "242": "et", "243": "▁og", "244": "▁vi", "245": "al", "246": "▁de", "247": "▁der", "248": "▁til", "249": "or", "250": "▁er", "251": "om", "252": "å", "253": "ø", "254": "and", "255": "▁har", "256": "at", "257": "▁f", "258": "▁i", "259": "▁så", "260": "▁af", "261": "ge", "262": "ar", "263": "is", "264": "ing", "265": "▁med", "266": "▁på", "267": "▁be", "268": "un", "269": "lig", "270": "▁ikke", "271": "▁man", "272": "ig", "273": "▁som", "274": "ør", "275": "▁Og", "276": "el", "277": "ag", "278": "▁skal", "279": "erne", "280": "▁Det", "281": "▁den", "282": "ste", "283": "ning", "284": "▁jeg", "285": "id", "286": "▁kan", "287": "▁også", "288": "▁vil", "289": "ske", "290": "iv", "291": "▁ud", "292": "▁her", "293": "ion", "294": "am", "295": "ur", "296": "for", "297": "▁pr", "298": "else", "299": "▁sig", "300": "▁men", "301": "▁ind", "302": "▁jo", "303": "ende", "304": "▁være", "305": "▁Vi", "306": "ation", "307": "▁må", "308": "mme", "309": "ighed", "310": "tage", "311": "▁op", "312": "▁Jeg", "313": "▁hvor", "314": "▁ved", "315": "▁få", "316": "▁fra", "317": "▁over", "318": "▁have", "319": "kke", "320": "▁meget", "321": "▁Så", "322": "▁Tak", "323": "▁noget", "324": "▁alle", "325": "brug", "326": "▁komme", "327": "▁Men", "328": "▁var", "329": "hold", "330": "arbejde", "331": "▁eller", "332": "▁vores", "333": "▁frem", "334": "▁altså", "335": "▁vigtig", "336": "vær", "337": "▁EU", "338": "▁gøre", "339": "▁nogle", "340": "skab", "341": "▁spørgsmål", "342": "▁kunne", "343": "▁kommissionen", "344": "▁hvis", "345": "Ø", "346": "Æ", "347": "ς", "348": "λ", "349": "ί", "350": "ό", "351": "ı", "352": "έ", "353": "ά", "354": "ω", "355": "γ", "356": "δ", "357": "ή", "358": "<de-DE>", "359": "▁die", "360": "▁und", "361": "▁das", "362": "sch", "363": "▁ist", "364": "▁ich", "365": "▁ein", "366": "▁ge", "367": "ung", "368": "it", "369": "▁wir", "370": "▁zu", "371": "▁so", "372": "▁da", "373": "▁S", "374": "▁auch", "375": "gen", "376": "▁nicht", "377": "▁W", "378": "▁B", "379": "▁E", "380": "▁F", "381": "ll", "382": "▁es", "383": "▁K", "384": "ie", "385": "au", "386": "▁P", "387": "ich", "388": "▁eine", "389": "lich", "390": "ck", "391": "ten", "392": "mal", "393": "ein", "394": "▁T", "395": "▁dann", "396": "▁Und", "397": "▁mit", "398": "▁auf", "399": "hr", "400": "ter", "401": "tz", "402": "▁dass", "403": "▁G", "404": "ben", "405": "um", "406": "us", "407": "cht", "408": "il", "409": "▁Das", "410": "▁diese", "411": "▁noch", "412": "▁jetzt", "413": "ut", "414": "▁ver", "415": "kt", "416": "▁Ich", "417": "▁hier", "418": "▁hat", "419": "▁haben", "420": "▁von", "421": "ri", "422": "ach", "423": "ol", "424": "▁Da", "425": "▁als", "426": "sp", "427": "▁für", "428": "ell", "429": "▁sich", "430": "▁was", "431": "▁ja", "432": "uch", "433": "▁kann", "434": "▁sind", "435": "wi", "436": "▁aus", "437": "rei", "438": "▁wie", "439": "▁Ge", "440": "und", "441": "▁St", "442": "isch", "443": "▁sie", "444": "▁Ja", "445": "▁du", "446": "▁war", "447": "▁im", "448": "▁dem", "449": "▁aber", "450": "▁oder", "451": "ß", "452": "▁Sch", "453": "▁uns", "454": "▁habe", "455": "▁wenn", "456": "▁wo", "457": "▁bei", "458": "▁ihr", "459": "▁Ma", "460": "zu", "461": "▁schon", "462": "▁De", "463": "▁Sie", "464": "▁über", "465": "▁vor", "466": "▁Die", "467": "▁ganz", "468": "iert", "469": "▁Le", "470": "▁viel", "471": "▁In", "472": "▁Also", "473": "▁Ver", "474": "▁sehr", "475": "▁Re", "476": "halt", "477": "▁einfach", "478": "▁werden", "479": "▁sein", "480": "▁Wir", "481": "▁nur", "482": "▁immer", "483": "ieren", "484": "▁muss", "485": "▁wieder", "486": "▁mir", "487": "▁gut", "488": "▁mehr", "489": "▁Mi", "490": "▁nach", "491": "▁Ha", "492": "▁weil", "493": "▁Aber", "494": "kommen", "495": "▁gibt", "496": "▁meine", "497": "▁andere", "498": "▁können", "499": "▁machen", "500": "▁natürlich", "501": "▁bisschen", "502": "▁durch", "503": "sehen", "504": "▁weiter", "505": "▁keine", "506": "▁sagen", "507": "▁wirklich", "508": "▁eigentlich", "509": "▁jede", "510": "schaft", "511": "▁glaube", "512": "Ü", "513": "<el-GR>", "514": "χ", "515": "τα", "516": "▁να", "517": "ει", "518": "▁και", "519": "μα", "520": "β", "521": "ση", "522": "τε", "523": "ώ", "524": "θ", "525": "φ", "526": "πο", "527": "ύ", "528": "▁το", "529": "ία", "530": "τι", "531": "αν", "532": "ου", "533": "ρα", "534": "▁για", "535": "εί", "536": "τη", "537": "ξ", "538": "κα", "539": "▁την", "540": "▁τη", "541": "με", "542": "το", "543": "ού", "544": "▁του", "545": "▁προ", "546": "▁με", "547": "ζ", "548": "▁θα", "549": "▁είναι", "550": "ρο", "551": "ων", "552": "μέ", "553": "▁που", "554": "ια", "555": "νο", "556": "ική", "557": "ών", "558": "ρι", "559": "θε", "560": "Ε", "561": "ρί", "562": "▁ότι", "563": "ουμε", "564": "▁από", "565": "λο", "566": "ρά", "567": "ιο", "568": "▁των", "569": "ευ", "570": "λη", "571": "ουν", "572": "Α", "573": "▁σε", "574": "Π", "575": "▁συν", "576": "φορ", "577": "▁δεν", "578": "Σ", "579": "▁στο", "580": "▁δι", "581": "τά", "582": "▁αυτό", "583": "▁δια", "584": "ιστ", "585": "▁πολύ", "586": "▁πρέπει", "587": "▁στην", "588": "σουμε", "589": "ικά", "590": "Τ", "591": "▁επ", "592": "Κ", "593": "ψ", "594": "▁απο", "595": "▁οι", "596": "εται", "597": "▁επι", "598": "▁Υπότιτλοι", "599": "▁AUTHORWAVE", "600": "ούμε", "601": "ικό", "602": "▁Και", "603": "πρό", "604": "▁Ευχαριστώ", "605": "▁μια", "606": "▁ένα", "607": "▁συμ", "608": "Μ", "609": "▁περι", "610": "▁αυτή", "611": "ήσει", "612": "Ο", "613": "ικέ", "614": "▁κατά", "615": "Γ", "616": "Θ", "617": "▁Ευρωπαϊκή", "618": "▁έχουμε", "619": "▁αλλά", "620": "εργ", "621": "Η", "622": "▁θέμα", "623": "ολογ", "624": "ότητα", "625": "▁έχει", "626": "πολιτ", "627": "Δ", "628": "▁λοιπόν", "629": "ονται", "630": "Ν", "631": "φέρ", "632": "▁Επιτροπή", "633": "▁αυτά", "634": "▁Ένωση", "635": "Υ", "636": "ϊ", "637": "▁Δεν", "638": "▁έχουν", "639": "▁υπάρχει", "640": "Β", "641": "Ι", "642": "Λ", "643": "Φ", "644": "Ρ", "645": "Χ", "646": "Ξ", "647": "Ω", "648": "Ζ", "649": "Ψ", "650": "Ή", "651": "Ά", "652": "Ό", "653": "Έ", "654": "<et-EE>", "655": "ma", "656": "ta", "657": "se", "658": "da", "659": "si", "660": "▁on", "661": "õ", "662": "ks", "663": "ga", "664": "▁et", "665": "▁ka", "666": "he", "667": "mu", "668": "tu", "669": "ha", "670": "ja", "671": "gi", "672": "▁selle", "673": "▁ole", "674": "nd", "675": "oo", "676": "gu", "677": "ju", "678": "est", "679": "▁ei", "680": "▁pa", "681": "nud", "682": "▁väga", "683": "▁see", "684": "tud", "685": "▁pea", "686": "nda", "687": "är", "688": "▁Euroopa", "689": "▁kui", "690": "vad", "691": "ke", "692": "sta", "693": "sed", "694": "▁või", "695": "di", "696": "▁saa", "697": "mise", "698": "▁siis", "699": "▁su", "700": "ide", "701": "pool", "702": "val", "703": "tus", "704": "▁seda", "705": "▁Me", "706": "▁vastu", "707": "▁jä", "708": "▁tule", "709": "selt", "710": "ment", "711": "▁kes", "712": "ndus", "713": "▁töö", "714": "▁kõik", "715": "dus", "716": "▁mõ", "717": "eeri", "718": "▁meie", "719": "▁meil", "720": "▁ning", "721": "võt", "722": "▁mida", "723": "▁arv", "724": "▁See", "725": "takse", "726": "▁vaja", "727": "▁osa", "728": "õigus", "729": "▁nende", "730": "▁nüüd", "731": "▁aasta", "732": "tsiooni", "733": "▁inim", "734": "▁need", "735": "tsus", "736": "riigi", "737": "▁täh", "738": "▁Liidu", "739": "▁välja", "740": "Ä", "741": "Õ", "742": "ã", "743": "Q", "744": "ć", "745": "ñ", "746": "<fi-FI>", "747": "tä", "748": "ssa", "749": "lla", "750": "▁että", "751": "ksi", "752": "ty", "753": "ki", "754": "vä", "755": "pa", "756": "lle", "757": "lu", "758": "tta", "759": "stä", "760": "isi", "761": "ise", "762": "llä", "763": "kin", "764": "nä", "765": "ään", "766": "kse", "767": "tte", "768": "jä", "769": "ttä", "770": "ssä", "771": "ista", "772": "inen", "773": "kä", "774": "llis", "775": "tö", "776": "▁myös", "777": "vu", "778": "taan", "779": "▁tämä", "780": "▁voi", "781": "utta", "782": "iden", "783": "nyt", "784": "▁niin", "785": "▁Kiitos", "786": "▁ovat", "787": "hän", "788": "suu", "789": "▁toimi", "790": "aika", "791": "▁Tämä", "792": "▁pää", "793": "▁mutta", "794": "▁käy", "795": "▁tässä", "796": "▁asia", "797": "▁Tä", "798": "▁jotka", "799": "▁työ", "800": "neet", "801": "▁täytyy", "802": "▁sitten", "803": "▁Euroopan", "804": "▁puolesta", "805": "▁halua", "806": "▁siitä", "807": "▁komissio", "808": "▁hyvä", "809": "▁hyvin", "810": "▁puhu", "811": "▁meidän", "812": "▁vastaan", "813": "▁tärkeä", "814": "▁kaikki", "815": "▁Kiitoksia", "816": "▁vielä", "817": "▁muut", "818": "▁paljon", "819": "mahdollis", "820": "parlament", "821": "▁pitäisi", "822": "▁hyväksy", "823": "▁puheenjohtaja", "824": "▁liitty", "825": "ā", "826": "ī", "827": "ē", "828": "ë", "829": "<fr-FR>", "830": "▁est", "831": "▁c", "832": "▁d", "833": "▁la", "834": "▁p", "835": "▁que", "836": "▁en", "837": "▁le", "838": "▁à", "839": "es", "840": "▁l", "841": "▁un", "842": "▁pas", "843": "▁les", "844": "▁qui", "845": "▁il", "846": "▁vous", "847": "▁des", "848": "▁ce", "849": "▁qu", "850": "▁pour", "851": "▁n", "852": "▁par", "853": "▁ça", "854": "▁une", "855": "▁b", "856": "ant", "857": "▁j", "858": "ais", "859": "ez", "860": "▁dans", "861": "▁va", "862": "▁C", "863": "tre", "864": "ir", "865": "elle", "866": "eur", "867": "▁sur", "868": "▁re", "869": "▁con", "870": "▁ma", "871": "▁Et", "872": "▁au", "873": "ement", "874": "tion", "875": "té", "876": "▁tout", "877": "mp", "878": "ique", "879": "▁plus", "880": "eux", "881": "▁dé", "882": "▁fait", "883": "qu", "884": "▁ai", "885": "▁comme", "886": "ens", "887": "ac", "888": "▁là", "889": "▁si", "890": "ait", "891": "che", "892": "▁mais", "893": "que", "894": "ul", "895": "▁avec", "896": "▁bien", "897": "▁tu", "898": "age", "899": "▁mon", "900": "▁Donc", "901": "end", "902": "▁faire", "903": "▁être", "904": "ver", "905": "▁peu", "906": "▁même", "907": "tra", "908": "cha", "909": "▁nous", "910": "▁donc", "911": "▁sont", "912": "▁moi", "913": "ille", "914": "ff", "915": "▁ex", "916": "ien", "917": "▁Il", "918": "▁très", "919": "▁cette", "920": "im", "921": "ité", "922": "▁dire", "923": "▁peut", "924": "ance", "925": "aire", "926": "mé", "927": "▁app", "928": "▁aussi", "929": "▁petit", "930": "aux", "931": "▁parce", "932": "onne", "933": "mb", "934": "man", "935": "▁On", "936": "▁quand", "937": "▁autre", "938": "ô", "939": "▁chose", "940": "▁puis", "941": "▁était", "942": "ndre", "943": "port", "944": "▁vraiment", "945": "ence", "946": "▁Mais", "947": "î", "948": "▁avoir", "949": "form", "950": "▁faut", "951": "▁Alors", "952": "ign", "953": "▁où", "954": "près", "955": "▁beaucoup", "956": "ture", "957": "û", "958": "Ç", "959": "â", "960": "ù", "961": "<hu-HU>", "962": "sz", "963": "▁az", "964": "▁hogy", "965": "ő", "966": "ás", "967": "ok", "968": "gy", "969": "ek", "970": "ál", "971": "és", "972": "em", "973": "ár", "974": "▁meg", "975": "▁és", "976": "▁is", "977": "▁ez", "978": "▁egy", "979": "os", "980": "ak", "981": "ban", "982": "nak", "983": "ít", "984": "ik", "985": "unk", "986": "▁nem", "987": "oz", "988": "ül", "989": "án", "990": "át", "991": "cs", "992": "él", "993": "ér", "994": "nek", "995": "▁mi", "996": "szer", "997": "bb", "998": "▁Köszönöm", "999": "ség", "1000": "▁kell", "1001": "én", "1002": "hat", "1003": "▁ha", "1004": "ság", "1005": "▁szépen", "1006": "ért", "1007": "ék", "1008": "ott", "1009": "ön", "1010": "ép", "1011": "elő", "1012": "ünk", "1013": "▁van", "1014": "▁ki", "1015": "▁fel", "1016": "ény", "1017": "vé", "1018": "leg", "1019": "eket", "1020": "▁Az", "1021": "juk", "1022": "▁köz", "1023": "ű", "1024": "▁nagyon", "1025": "▁tud", "1026": "▁jelen", "1027": "▁amely", "1028": "▁lehet", "1029": "▁ami", "1030": "▁kérdés", "1031": "▁ellen", "1032": "tart", "1033": "ről", "1034": "É", "1035": "ország", "1036": "rend", "1037": "ról", "1038": "▁vagy", "1039": "▁fontos", "1040": "▁Európai", "1041": "▁akkor", "1042": "▁jog", "1043": "▁fog", "1044": "fogad", "1045": "kapcsol", "1046": "▁rész", "1047": "áció", "1048": "▁volt", "1049": "▁elnök", "1050": "▁bizottság", "1051": "▁gondol", "1052": "▁olyan", "1053": "▁illetve", "1054": "▁tagállam", "1055": "▁pedig", "1056": "▁Tehát", "1057": "▁európai", "1058": "▁szükség", "1059": "szavaz", "1060": "▁tehát", "1061": "következ", "1062": "▁össze", "1063": "▁biztos", "1064": "Ö", "1065": "Á", "1066": "Í", "1067": "Ő", "1068": "<hr-HR>", "1069": "▁u", "1070": "▁bi", "1071": "▁sa", "1072": "će", "1073": "▁od", "1074": "ru", "1075": "▁iz", "1076": "go", "1077": "nje", "1078": "sti", "1079": "đ", "1080": "▁pri", "1081": "ima", "1082": "nu", "1083": "▁pre", "1084": "▁Hvala", "1085": "lje", "1086": "▁što", "1087": "či", "1088": "nja", "1089": "zi", "1090": "vr", "1091": "ći", "1092": "če", "1093": "ca", "1094": "▁koji", "1095": "ba", "1096": "▁raz", "1097": "ț", "1098": "<it-IT>", "1099": "▁di", "1100": "▁e", "1101": "▁che", "1102": "▁è", "1103": "co", "1104": "▁per", "1105": "▁al", "1106": "▁non", "1107": "do", "1108": "gli", "1109": "so", "1110": "amo", "1111": "sa", "1112": "ndo", "1113": "▁una", "1114": "fi", "1115": "pi", "1116": "nti", "1117": "tto", "1118": "tro", "1119": "▁fa", "1120": "chi", "1121": "▁qua", "1122": "zione", "1123": "bi", "1124": "▁del", "1125": "mente", "1126": "pe", "1127": "ssi", "1128": "▁ri", "1129": "▁sono", "1130": "▁me", "1131": "▁questo", "1132": "nte", "1133": "tti", "1134": "tà", "1135": "▁nel", "1136": "▁anche", "1137": "sso", "1138": "▁perché", "1139": "▁più", "1140": "nta", "1141": "▁come", "1142": "cu", "1143": "▁quindi", "1144": "ggi", "1145": "nza", "1146": "sto", "1147": "▁ho", "1148": "ò", "1149": "▁della", "1150": "gra", "1151": "▁fare", "1152": "spe", "1153": "cco", "1154": "nde", "1155": "mento", "1156": "fe", "1157": "gio", "1158": "pu", "1159": "▁questa", "1160": "▁tra", "1161": "zza", "1162": "sci", "1163": "▁ba", "1164": "▁dei", "1165": "▁poi", "1166": "sco", "1167": "stra", "1168": "▁quel", "1169": "qui", "1170": "▁delle", "1171": "▁cosa", "1172": "▁molto", "1173": "sse", "1174": "zioni", "1175": "▁vol", "1176": "▁inter", "1177": "sce", "1178": "▁fatto", "1179": "▁com", "1180": "▁quello", "1181": "▁essere", "1182": "▁due", "1183": "▁abbiamo", "1184": "▁comp", "1185": "▁tutti", "1186": "ì", "1187": "▁prima", "1188": "▁parte", "1189": "▁così", "1190": "▁sempre", "1191": "▁tutto", "1192": "▁video", "1193": "▁maglia", "1194": "▁imp", "1195": "▁cui", "1196": "▁dove", "1197": "▁col", "1198": "▁Quindi", "1199": "sione", "1200": "rebbe", "1201": "scri", "1202": "<lt-LT>", "1203": "ė", "1204": "ai", "1205": "ų", "1206": "▁ir", "1207": "as", "1208": "į", "1209": "▁kad", "1210": "ės", "1211": "▁tai", "1212": "ū", "1213": "tų", "1214": "▁yra", "1215": "ių", "1216": "uo", "1217": "▁ko", "1218": "▁iš", "1219": "tin", "1220": "▁vis", "1221": "čia", "1222": "▁kuri", "1223": "dė", "1224": "ly", "1225": "gal", "1226": "▁ši", "1227": "iau", "1228": "jo", "1229": "tar", "1230": "yb", "1231": "▁Ir", "1232": "▁tik", "1233": "ijos", "1234": "sak", "1235": "▁turi", "1236": "oje", "1237": "▁Tai", "1238": "jų", "1239": "▁apie", "1240": "▁nu", "1241": "▁mes", "1242": "▁už", "1243": "išk", "1244": "▁gali", "1245": "▁dėl", "1246": "▁labai", "1247": "imas", "1248": "klaus", "1249": "laik", "1250": "▁Europos", "1251": "▁aš", "1252": "veik", "1253": "▁būtų", "1254": "darb", "1255": "▁kaip", "1256": "▁teis", "1257": "▁daug", "1258": "▁tikrai", "1259": "▁pra", "1260": "reik", "1261": "▁buvo", "1262": "turė", "1263": "▁valstyb", "1264": "▁reikia", "1265": "▁būti", "1266": "▁Aš", "1267": "▁mūsų", "1268": "▁jūs", "1269": "vyk", "1270": "▁Ačiū", "1271": "cija", "1272": "Į", "1273": "ņ", "1274": "<lv-LV>", "1275": "▁no", "1276": "jā", "1277": "iem", "1278": "tā", "1279": "āk", "1280": "▁ar", "1281": "ām", "1282": "▁pie", "1283": "ies", "1284": "ot", "1285": "kā", "1286": "ļ", "1287": "tr", "1288": "▁tā", "1289": "īt", "1290": "nā", "1291": "▁uz", "1292": "▁tas", "1293": "ēt", "1294": "dz", "1295": "▁arī", "1296": "▁vien", "1297": "▁jau", "1298": "▁kā", "1299": "▁ie", "1300": "gad", "1301": "▁kur", "1302": "▁kas", "1303": "▁Un", "1304": "▁mēs", "1305": "iet", "1306": "dā", "1307": "īg", "1308": "▁Ta", "1309": "▁kād", "1310": "kaut", "1311": "ēm", "1312": "▁lie", "1313": "umu", "1314": "ties", "1315": "dar", "1316": "lē", "1317": "▁vai", "1318": "▁bija", "1319": "▁mums", "1320": "▁tad", "1321": "▁bet", "1322": "ība", "1323": "▁ga", "1324": "▁Latvijas", "1325": "ija", "1326": "kr", "1327": "vē", "1328": "sim", "1329": "▁šo", "1330": "dien", "1331": "gan", "1332": "īgi", "1333": "▁ap", "1334": "ģ", "1335": "▁būt", "1336": "domā", "1337": "▁tev", "1338": "mēr", "1339": "▁daudz", "1340": "▁aiz", "1341": "▁Tā", "1342": "▁tād", "1343": "▁tur", "1344": "▁monēt", "1345": "▁vēl", "1346": "▁laik", "1347": "▁cilvē", "1348": "▁nav", "1349": "▁lab", "1350": "▁ļoti", "1351": "aug", "1352": "▁līdz", "1353": "▁lai", "1354": "šana", "1355": "▁Nu", "1356": "▁viņa", "1357": "▁savu", "1358": "▁cit", "1359": "teik", "1360": "▁darb", "1361": "▁Ne", "1362": "zin", "1363": "▁pirm", "1364": "▁Latvi", "1365": "▁tieš", "1366": "▁viņi", "1367": "ēja", "1368": "dzīvo", "1369": "▁viņš", "1370": "▁pilsē", "1371": "ināt", "1372": "▁viņu", "1373": "▁tagad", "1374": "kārt", "1375": "▁pats", "1376": "▁vairāk", "1377": "reiz", "1378": "▁tikai", "1379": "sakta", "1380": "▁bij", "1381": "▁Viņ", "1382": "▁sev", "1383": "▁māj", "1384": "vērt", "1385": "▁20", "1386": "▁ceļ", "1387": "tiek", "1388": "iski", "1389": "▁dzīv", "1390": "▁kāpēc", "1391": "▁Bet", "1392": "▁pēc", "1393": "▁nozīmē", "1394": "niek", "1395": "ībā", "1396": "▁palīdz", "1397": "▁protams", "1398": "▁stils", "1399": "▁vajadz", "1400": "▁attīstī", "1401": "▁svarīg", "1402": "▁sievie", "1403": "▁grib", "1404": "▁dažād", "1405": "▁valst", "1406": "▁banka", "1407": "▁iespēja", "1408": "▁bez", "1409": "prāt", "1410": "vērtīb", "1411": "▁person", "1412": "pasaules", "1413": "▁varbūt", "1414": "▁vienkārši", "1415": "▁nauda", "1416": "meklē", "1417": "brauc", "1418": "▁nevar", "1419": "ācijas", "1420": "spēj", "1421": "ķ", "1422": "<nl-NL>", "1423": "▁een", "1424": "▁het", "1425": "▁dat", "1426": "▁we", "1427": "▁ik", "1428": "ij", "1429": "▁En", "1430": "▁te", "1431": "▁ook", "1432": "▁niet", "1433": "▁dan", "1434": "▁zo", "1435": "▁voor", "1436": "▁met", "1437": "▁aan", "1438": "▁zijn", "1439": "▁Ik", "1440": "▁wel", "1441": "▁wat", "1442": "aar", "1443": "▁ze", "1444": "ken", "1445": "▁heb", "1446": "der", "1447": "ui", "1448": "den", "1449": "▁daar", "1450": "▁maar", "1451": "op", "1452": "▁heel", "1453": "▁nog", "1454": "▁Dus", "1455": "oor", "1456": "▁hebben", "1457": "▁uit", "1458": "▁of", "1459": "ven", "1460": "▁Maar", "1461": "▁Dat", "1462": "▁gaan", "1463": "elijk", "1464": "▁naar", "1465": "▁moet", "1466": "acht", "1467": "▁waar", "1468": "▁dus", "1469": "▁ben", "1470": "▁goed", "1471": "▁Het", "1472": "▁even", "1473": "ond", "1474": "eld", "1475": "▁dit", "1476": "▁wil", "1477": "rij", "1478": "▁echt", "1479": "▁doen", "1480": "▁gewoon", "1481": "lijk", "1482": "tijd", "1483": "▁meer", "1484": "▁mijn", "1485": "▁We", "1486": "▁gaat", "1487": "werk", "1488": "▁hoe", "1489": "uw", "1490": "▁eigenlijk", "1491": "▁deze", "1492": "zelf", "1493": "vol", "1494": "▁veel", "1495": "atie", "1496": "▁kunnen", "1497": "▁door", "1498": "llen", "1499": "▁mee", "1500": "▁onder", "1501": "▁toe", "1502": "▁zit", "1503": "▁mensen", "1504": "▁hij", "1505": "▁denk", "1506": "▁zie", "1507": "▁heeft", "1508": "▁kl", "1509": "nnen", "1510": "▁zien", "1511": "komen", "1512": "▁natuurlijk", "1513": "heid", "1514": "▁Dan", "1515": "▁vind", "1516": "▁wordt", "1517": "▁iets", "1518": "▁maken", "1519": "▁doe", "1520": "▁Wat", "1521": "▁wij", "1522": "▁beetje", "1523": "▁worden", "1524": "▁Want", "1525": "▁twee", "1526": "▁hem", "1527": "▁had", "1528": "▁jullie", "1529": "▁Als", "1530": "▁kijken", "1531": "▁toch", "1532": "▁tot", "1533": "nieuw", "1534": "lang", "1535": "▁Nou", "1536": "▁krijg", "1537": "houd", "1538": "▁hele", "1539": "▁allemaal", "1540": "▁want", "1541": "▁zeggen", "1542": "▁leuk", "1543": "<pl-PL>", "1544": "nie", "1545": "▁w", "1546": "cz", "1547": "wa", "1548": "▁się", "1549": "▁jest", "1550": "my", "1551": "ła", "1552": "cie", "1553": "czy", "1554": "▁nie", "1555": "wie", "1556": "▁wy", "1557": "nia", "1558": "wo", "1559": "rze", "1560": "ło", "1561": "▁że", "1562": "dzi", "1563": "ej", "1564": "ów", "1565": "dzie", "1566": "▁prze", "1567": "ści", "1568": "by", "1569": "za", "1570": "dy", "1571": "ry", "1572": "ń", "1573": "ją", "1574": "we", "1575": "cze", "1576": "owa", "1577": "ego", "1578": "że", "1579": "cy", "1580": "rzy", "1581": "mie", "1582": "▁przy", "1583": "ły", "1584": "rz", "1585": "szy", "1586": "sze", "1587": "ść", "1588": "wia", "1589": "zy", "1590": "ży", "1591": "▁tutaj", "1592": "ję", "1593": "pie", "1594": "nych", "1595": "▁tym", "1596": "▁może", "1597": "cji", "1598": "▁pod", "1599": "▁ale", "1600": "▁tego", "1601": "owy", "1602": "uje", "1603": "▁bo", "1604": "▁był", "1605": "ną", "1606": "bie", "1607": "sy", "1608": "▁też", "1609": "▁bardzo", "1610": "▁są", "1611": "▁będzie", "1612": "▁Po", "1613": "ski", "1614": "▁które", "1615": "ź", "1616": "▁już", "1617": "▁dla", "1618": "łem", "1619": "nego", "1620": "▁Nie", "1621": "▁No", "1622": "▁praw", "1623": "cja", "1624": "▁ten", "1625": "▁takie", "1626": "ować", "1627": "▁który", "1628": "▁właśnie", "1629": "▁jeszcze", "1630": "▁tam", "1631": "▁żeby", "1632": "▁być", "1633": "▁więc", "1634": "▁czyli", "1635": "▁sobie", "1636": "▁sam", "1637": "▁tylko", "1638": "▁tej", "1639": "▁spraw", "1640": "▁Na", "1641": "▁mówi", "1642": "▁osob", "1643": "▁czas", "1644": "▁prac", "1645": "▁Czy", "1646": "▁prostu", "1647": "▁teraz", "1648": "stęp", "1649": "▁Was", "1650": "▁myśl", "1651": "▁powiedz", "1652": "▁zrobi", "1653": "liśmy", "1654": "▁jakieś", "1655": "ając", "1656": "▁widz", "1657": "▁kart", "1658": "▁musi", "1659": "▁pyta", "1660": "<pt-BR>", "1661": "pt", "1662": "PT", "1663": "<", "1664": ">", "1665": "-", "1666": "▁é", "1667": "▁não", "1668": "▁eu", "1669": "▁um", "1670": "▁você", "1671": "▁para", "1672": "ão", "1673": "▁aqui", "1674": "▁uma", "1675": "ção", "1676": "▁ca", "1677": "▁pe", "1678": "▁tem", "1679": "▁em", "1680": "▁gente", "1681": "▁O", "1682": "▁ele", "1683": "pre", "1684": "ria", "1685": "▁fo", "1686": "mos", "1687": "nho", "1688": "▁Então", "1689": "bo", "1690": "io", "1691": "nha", "1692": "▁isso", "1693": "▁por", "1694": "▁muito", "1695": "nto", "1696": "▁Eu", "1697": "▁está", "1698": "idade", "1699": "▁aí", "1700": "be", "1701": "▁esse", "1702": "▁pode", "1703": "▁como", "1704": "ente", "1705": "▁também", "1706": "▁essa", "1707": "lha", "1708": "▁já", "1709": "▁mas", "1710": "▁pessoa", "1711": "qua", "1712": "▁né", "1713": "▁fazer", "1714": "▁tá", "1715": "lho", "1716": "▁lá", "1717": "fica", "1718": "▁vou", "1719": "▁porque", "1720": "▁Se", "1721": "▁fala", "1722": "▁coisa", "1723": "▁Não", "1724": "...", "1725": "▁só", "1726": "▁nós", "1727": "ço", "1728": "▁Por", "1729": "▁assim", "1730": "▁Co", "1731": "iza", "1732": "▁bem", "1733": "▁todo", "1734": "eira", "1735": "▁sua", "1736": "ência", "1737": "ções", "1738": "▁Você", "1739": "▁tudo", "1740": "▁agora", "1741": "eiro", "1742": "ário", "1743": "▁até", "1744": "▁mesmo", "1745": "▁vamos", "1746": "▁quando", "1747": "ciona", "1748": "<ro-RO>", "1749": "▁în", "1750": "ți", "1751": "▁să", "1752": "▁și", "1753": "▁cu", "1754": "▁că", "1755": "▁care", "1756": "▁mai", "1757": "ră", "1758": "sc", "1759": "că", "1760": "▁am", "1761": "are", "1762": "▁din", "1763": "▁fi", "1764": "▁este", "1765": "tă", "1766": "▁pentru", "1767": "rea", "1768": "ști", "1769": "ș", "1770": "ele", "1771": "du", "1772": "▁M", "1773": "▁fac", "1774": "ân", "1775": "▁sunt", "1776": "▁I", "1777": "▁acest", "1778": "ului", "1779": "lor", "1780": "▁mult", "1781": "și", "1782": "▁mo", "1783": "▁fost", "1784": "per", "1785": "▁foarte", "1786": "▁Și", "1787": "▁mă", "1788": "să", "1789": "cur", "1790": "tor", "1791": "▁cum", "1792": "inte", "1793": "ată", "1794": "ște", "1795": "▁dacă", "1796": "ând", "1797": "▁subliniere", "1798": "▁dar", "1799": "▁sau", "1800": "tat", "1801": "ori", "1802": "▁vă", "1803": "▁asta", "1804": "nă", "1805": "▁prim", "1806": "▁așa", "1807": "ează", "1808": "▁într", "1809": "▁spun", "1810": "▁lui", "1811": "▁sub", "1812": "itate", "1813": "▁aici", "1814": "▁bine", "1815": "▁când", "1816": "▁prin", "1817": "▁alt", "1818": "▁nici", "1819": "stru", "1820": "▁cât", "1821": "▁vede", "1822": "fer", "1823": "▁după", "1824": "▁ju", "1825": "▁despre", "1826": "▁timp", "1827": "▁acum", "1828": "▁poate", "1829": "▁spus", "1830": "▁lucru", "1831": "▁făcut", "1832": "păr", "1833": "▁urmă", "1834": "▁atunci", "1835": "▁fr", "1836": "▁chiar", "1837": "▁încep", "1838": "Ș", "1839": "Î", "1840": "<ru-RU>", "1841": "<sk-SK>", "1842": "ov", "1843": "ľ", "1844": "sk", "1845": "▁aj", "1846": "ob", "1847": "tá", "1848": "ať", "1849": "▁bol", "1850": "▁sú", "1851": "▁ako", "1852": "ži", "1853": "▁sme", "1854": "▁V", "1855": "ali", "1856": "▁alebo", "1857": "▁čo", "1858": "iť", "1859": "▁má", "1860": "ých", "1861": "▁zá", "1862": "▁tie", "1863": "▁nejak", "1864": "▁vý", "1865": "čas", "1866": "nov", "1867": "rov", "1868": "▁ktoré", "1869": "ajú", "1870": "ovať", "1871": "▁keď", "1872": "▁str", "1873": "▁škol", "1874": "nú", "1875": "▁ktor", "1876": "▁vlastne", "1877": "▁prí", "1878": "nej", "1879": "▁veľmi", "1880": "šie", "1881": "rob", "1882": "▁tr", "1883": "ných", "1884": "enie", "1885": "▁spo", "1886": "▁rok", "1887": "osti", "1888": "▁tým", "1889": "▁môže", "1890": "▁ktorý", "1891": "osť", "1892": "▁projekt", "1893": "▁kon", "1894": "▁vzdeláva", "1895": "▁Takže", "1896": "▁ešte", "1897": "▁tých", "1898": "▁mal", "1899": "▁cel", "1900": "▁potom", "1901": "▁svoj", "1902": "enia", "1903": "álne", "1904": "ieť", "1905": "▁teda", "1906": "jedn", "1907": "sled", "1908": "▁možno", "1909": "▁vám", "1910": "chod", "1911": "ujú", "1912": "tvor", "1913": "▁druh", "1914": "▁Slovensk", "1915": "hľad", "1916": "stup", "1917": "▁ľudí", "1918": "▁napríklad", "1919": "▁veľk", "1920": "▁niečo", "1921": "Ď", "1922": "<sl-SL>", "1923": "sl", "1924": "lj", "1925": "kot", "1926": "ih", "1927": "▁svet", "1928": "▁ta", "1929": "▁tako", "1930": "▁kar", "1931": "▁nek", "1932": "jih", "1933": "udi", "1934": "▁vse", "1935": "▁drug", "1936": "▁ima", "1937": "kaj", "1938": "▁smo", "1939": "del", "1940": "▁sem", "1941": "▁lahko", "1942": "▁samo", "1943": "▁več", "1944": "nih", "1945": "▁držav", "1946": "▁zelo", "1947": "▁zdaj", "1948": "▁razum", "1949": "▁še", "1950": "▁tega", "1951": "▁ljudi", "1952": "▁pred", "1953": "▁sta", "1954": "nost", "1955": "▁ampak", "1956": "▁novinar", "1957": "▁naprej", "1958": "▁mora", "1959": "▁Vs", "1960": "krat", "1961": "▁Ampak", "1962": "▁vedno", "1963": "▁velik", "1964": "▁kako", "1965": "▁najbolj", "1966": "ziroma", "1967": "▁vsi", "1968": "▁nekaj", "1969": "▁kater", "1970": "▁res", "1971": "▁tukaj", "1972": "▁dogaja", "1973": "▁svoje", "1974": "▁let", "1975": "daj", "1976": "▁pripriča", "1977": "▁človek", "1978": "▁hoče", "1979": "▁vojn", "1980": "▁Pre", "1981": "▁dobr", "1982": "ljan", "1983": "▁moj", "1984": "▁dejansko", "1985": "▁ljudje", "1986": "▁mediji", "1987": "▁prot", "1988": "▁narav", "1989": "bilo", "1990": "▁Afrik", "1991": "▁vzhod", "1992": "▁človeštva", "1993": "▁kriz", "1994": "▁pogled", "1995": "▁medije", "1996": "poved", "1997": "▁začel", "1998": "▁večin", "1999": "imajo", "2000": "▁Ljudje", "2001": "▁družb", "2002": "▁govorim", "2003": "▁informacij", "2004": "▁kultur", "2005": "▁bližnj", "2006": "▁podobno", "2007": "▁njihov", "2008": "▁konc", "2009": "▁pisa", "2010": "▁zaveda", "2011": "▁vsak", "2012": "živel", "2013": "▁funkcionira", "2014": "▁internet", "2015": "▁islamsk", "2016": "▁film", "2017": "▁otroci", "2018": "▁prihaja", "2019": "▁političn", "2020": "▁popoln", "2021": "▁Velik", "2022": "▁drugačen", "2023": "▁recimo", "2024": "▁resnic", "2025": "solutno", "2026": "▁Bližn", "2027": "▁Evropsk", "2028": "▁muslimani", "2029": "▁nadzoruje", "2030": "▁socialne", "2031": "▁zgodovin", "2032": "▁človešk", "2033": "▁življenj", "2034": "▁prijatelj", "2035": "▁vendar", "2036": "▁ljudem", "2037": "▁števil", "2038": "▁Sirij", "2039": "<sv-SE>", "2040": "▁att", "2041": "▁och", "2042": "▁är", "2043": "▁för", "2044": "▁här", "2045": "▁jag", "2046": "än", "2047": "▁till", "2048": "▁h", "2049": "▁inte", "2050": "▁Och", "2051": "▁av", "2052": "▁om", "2053": "▁ska", "2054": "▁ut", "2055": "▁ett", "2056": "all", "2057": "▁också", "2058": "▁Jag", "2059": "era", "2060": "pp", "2061": "▁upp", "2062": "▁då", "2063": "▁där", "2064": "▁lite", "2065": "år", "2066": "sam", "2067": "isk", "2068": "het", "2069": "för", "2070": "▁kommer", "2071": "▁vill", "2072": "ör", "2073": "erna", "2074": "ande", "2075": "sätt", "2076": "▁finns", "2077": "▁när", "2078": "▁vara", "2079": "ade", "2080": "sök", "2081": "▁hur", "2082": "▁vad", "2083": "bil", "2084": "▁göra", "2085": "▁får", "2086": "verk", "2087": "▁mycket", "2088": "▁väl", "2089": "kom", "2090": "▁gör", "2091": "▁ni", "2092": "▁bara", "2093": "▁från", "2094": "ställ", "2095": "▁väldigt", "2096": "▁min", "2097": "▁olika", "2098": "▁alla", "2099": "lev", "2100": "▁fram", "2101": "▁kanske", "2102": "▁vår", "2103": "▁tid", "2104": "skap", "2105": "håll", "2106": "▁För", "2107": "▁går", "2108": "▁blir", "2109": "▁under", "2110": "▁lär", "2111": "▁ny", "2112": "▁Då", "2113": "▁börja", "2114": "rätt", "2115": "▁över", "2116": "▁oss", "2117": "▁exempel", "2118": "▁skulle", "2119": "gång", "2120": "▁kunna", "2121": "▁andra", "2122": "▁någon", "2123": "▁jobba", "2124": "land", "2125": "▁något", "2126": "▁behöver", "2127": "▁säga", "2128": "klar", "2129": "▁många", "2130": "▁skriv", "2131": "���använda", "2132": "▁själv", "2133": "▁samma", "2134": "lägg", "2135": "▁måste", "2136": "▁efter", "2137": "text", "2138": "▁prata", "2139": "▁klicka", "2140": "▁hitta", "2141": "▁tror", "2142": "▁någonting", "2143": "fråga", "2144": "▁titta", "2145": "▁tycker", "2146": "▁ganska", "2147": "▁jätte", "2148": "▁Vad", "2149": "▁genom", "2150": "▁även", "2151": "▁tänker", "2152": "arbete", "2153": "▁faktiskt", "2154": "person", "2155": "▁komma", "2156": "bygg", "2157": "<uk-UA>", "2158": "<ar-AR>", "2159": "؟", "2160": "،", "2161": "vy", "2162": "▁byl", "2163": "Ň", "2164": "Ť", "2165": "Ó", "2166": "ær", "2167": "▁blev", "2168": "ft", "2169": "lige", "2170": "ved", "2171": "'", "2172": "Å", "2173": "▁H", "2174": "▁D", "2175": "aus", "2176": "▁N", "2177": "▁Be", "2178": "mm", "2179": "ab", "2180": "▁Er", "2181": "ssen", "2182": "hl", "2183": "hn", "2184": "ischen", "2185": "▁wurde", "2186": "rie", "2187": "lei", "2188": "▁An", "2189": "▁Ein", "2190": "etz", "2191": "rau", "2192": "ische", "2193": "äh", "2194": "▁mein", "2195": "▁So", "2196": "▁hatte", "2197": "▁unter", "2198": "▁Zu", "2199": "▁ihn", "2200": "▁Jahr", "2201": "▁zwei", "2202": "keit", "2203": "▁ihm", "2204": "▁Aus", "2205": "<en-GB>", "2206": "▁you", "2207": "▁that", "2208": "▁and", "2209": "▁can", "2210": "▁it", "2211": "▁your", "2212": "ed", "2213": "▁Okay", "2214": "▁just", "2215": "ay", "2216": "▁Yeah", "2217": "▁with", "2218": "th", "2219": "▁Thank", "2220": "▁thank", "2221": "▁help", "2222": "▁please", "2223": "▁one", "2224": "▁there", "2225": "ic", "2226": "▁much", "2227": "▁what", "2228": "▁my", "2229": "hi", "2230": "▁will", "2231": "▁would", "2232": "▁if", "2233": "▁two", "2234": "▁this", "2235": "▁he", "2236": "▁go", "2237": "▁all", "2238": "▁Oh", "2239": "▁like", "2240": "▁very", "2241": "▁The", "2242": "▁today", "2243": "▁not", "2244": "▁yeah", "2245": "▁take", "2246": "ight", "2247": "ex", "2248": "▁Ok", "2249": "▁seven", "2250": "▁number", "2251": "▁know", "2252": "▁about", "2253": "▁four", "2254": "▁okay", "2255": "▁name", "2256": "▁And", "2257": "▁five", "2258": "▁How", "2259": "▁account", "2260": "▁any", "2261": "▁three", "2262": "▁could", "2263": "▁up", "2264": "▁get", "2265": "▁phone", "2266": "▁great", "2267": "▁six", "2268": "▁eight", "2269": "▁now", "2270": "▁nine", "2271": "▁That", "2272": "▁address", "2273": "▁look", "2274": "▁call", "2275": "ill", "2276": "▁You", "2277": "▁but", "2278": "▁got", "2279": "▁don", "2280": "▁email", "2281": "▁calling", "2282": "▁problem", "2283": "▁right", "2284": "▁good", "2285": "▁well", "2286": "▁out", "2287": "▁What", "2288": "▁how", "2289": "▁really", "2290": "▁anything", "2291": "▁actually", "2292": "▁from", "2293": "▁think", "2294": "▁time", "2295": "▁some", "2296": "▁ask", "2297": "▁else", "2298": "other", "2299": "▁fine", "2300": "able", "2301": "▁Good", "2302": "▁when", "2303": "▁full", "2304": "▁confirm", "2305": "▁give", "2306": "▁more", "2307": "ever", "2308": "▁month", "2309": "▁information", "2310": "▁sure", "2311": "▁survey", "2312": "▁sorry", "2313": "▁send", "2314": "▁through", "2315": "▁check", "2316": "▁long", "2317": "▁birth", "2318": "▁should", "2319": "▁twenty", "2320": "▁make", "2321": "▁zero", "2322": "ful", "2323": "▁store", "2324": "▁policy", "2325": "▁back", "2326": "▁again", "2327": "▁first", "2328": "▁Could", "2329": "▁work", "2330": "▁afternoon", "2331": "▁after", "2332": "▁insurance", "2333": "▁customer", "2334": "▁payment", "2335": "▁question", "2336": "▁receive", "2337": "▁possible", "2338": "▁moment", "2339": "▁system", "2340": "▁change", "2341": "▁hundred", "2342": "▁nineteen", "2343": "<en-US>", "2344": "▁.", "2345": "▁,", "2346": "▁st", "2347": "▁are", "2348": "ow", "2349": "ive", "2350": "ate", "2351": "ad", "2352": "ect", "2353": "▁they", "2354": "▁as", "2355": "ng", "2356": "ity", "2357": "ther", "2358": "act", "2359": "ist", "2360": "▁our", "2361": "▁sp", "2362": "ally", "2363": "▁his", "2364": "▁But", "2365": "▁has", "2366": "▁also", "2367": "▁which", "2368": "▁He", "2369": "▁uh", "2370": "day", "2371": "▁people", "2372": "▁who", "2373": "▁thing", "2374": "▁because", "2375": "▁other", "2376": "ough", "2377": "▁part", "2378": "▁say", "2379": "▁year", "2380": "side", "2381": "\"", "2382": "<es-ES>", "2383": "▁y", "2384": "▁el", "2385": "ción", "2386": "▁Es", "2387": "res", "2388": "▁los", "2389": "▁La", "2390": "dos", "2391": "ía", "2392": "▁El", "2393": "▁las", "2394": "▁más", "2395": "men", "2396": "ño", "2397": "▁esta", "2398": "idad", "2399": "par", "2400": "¿", "2401": "ría", "2402": "▁fue", "2403": "rio", "2404": "enta", "2405": "ón", "2406": "cho", "2407": "ciones", "2408": "ble", "2409": "▁Ca", "2410": "▁muy", "2411": "▁también", "2412": "▁tiene", "2413": "ña", "2414": "▁Su", "2415": "▁pero", "2416": "▁son", "2417": "encia", "2418": "sión", "2419": "▁hay", "2420": "▁puede", "2421": "ncia", "2422": "▁mucho", "2423": "▁Si", "2424": "▁pues", "2425": "miento", "2426": "▁Con", "2427": "ones", "2428": "ecto", "2429": "iendo", "2430": "▁día", "2431": "▁sobre", "2432": "▁primer", "2433": "▁qué", "2434": "▁gusta", "2435": "▁San", "2436": "▁hacer", "2437": "cional", "2438": "▁verdad", "2439": "▁persona", "2440": "▁pasa", "2441": "▁mejor", "2442": "quí", "2443": "▁Fue", "2444": "▁Com", "2445": "▁ciudad", "2446": "Ñ", "2447": "<es-US>", "2448": "cia", "2449": "▁lo", "2450": "▁Y", "2451": "ron", "2452": "les", "2453": "▁mu", "2454": "cio", "2455": "▁yo", "2456": "bu", "2457": "▁sí", "2458": "▁Pero", "2459": "▁así", "2460": "<fr-CA>", "2461": "ré", "2462": "ée", "2463": "▁Les", "2464": "nt", "2465": "our", "2466": "▁Ce", "2467": "com", "2468": "▁Elle", "2469": "▁Cet", "2470": "ux", "2471": "ale", "2472": "ier", "2473": "ction", "2474": "▁cha", "2475": "▁pré", "2476": "▁deux", "2477": "if", "2478": "lé", "2479": "ère", "2480": "ière", "2481": "iste", "2482": "▁parti", "2483": "▁été", "2484": "cette", "2485": "avec", "2486": "▁tou", "2487": "jour", "2488": "app", "2489": "cul", "2490": "▁égale", "2491": "aine", "2492": "gue", "2493": "▁trè", "2494": "▁nombre", "2495": "▁étai", "2496": "tout", "2497": "▁grand", "2498": "▁commun", "2499": "Une", "2500": "œ", "2501": "ï", "2502": "À", "2503": "Œ", "2504": "È", "2505": "ō", "2506": "ÿ", "2507": "Ō", "2508": "Ô", "2509": "Ê", "2510": "Â", "2511": "▁m", "2512": "av", "2513": "ouv", "2514": "êt", "2515": "ois", "2516": "pri", "2517": "voir", "2518": "sion", "2519": "ix", "2520": "ang", "2521": "était", "2522": "ard", "2523": "aient", "2524": "Ć", "2525": "İ", "2526": "Ù", "2527": "Û", "2528": "Ë", "2529": "Ï", "2530": "<he-IL>", "2531": "<hi-IN>", "2532": "।", "2533": "!", "2534": "Ì", "2535": "<ja-JP>", "2536": "▁。", "2537": "▁、", "2538": "▁々", "2539": "〜", "2540": "々", "2541": "?", "2542": "、", "2543": "。", "2544": "<ko-KR>", "2545": "<nb-NO>", "2546": "ene", "2547": "▁ble", "2548": "ikk", "2549": "opp", "2550": "▁Han", "2551": "▁Den", "2552": "unn", "2553": "▁han", "2554": "asjon", "2555": "▁word", "2556": "▁werd", "2557": "<nn-NO>", "2558": "eg", "2559": "▁ikkje", "2560": "▁bok", "2561": "lik", "2562": "▁eit", "2563": "så", "2564": "kk", "2565": "▁nok", "2566": "▁god", "2567": "▁lese", "2568": "dde", "2569": "inga", "2570": "▁denn", "2571": "inn", "2572": "kkje", "2573": "dig", "2574": "tid", "2575": "▁bøke", "2576": "ord", "2577": "▁tru", "2578": "skje", "2579": "▁sei", "2580": "ller", "2581": "▁fle", "2582": "skriv", "2583": "▁heil", "2584": "wy", "2585": "Ś", "2586": "Ł", "2587": "Ź", "2588": "Ż", "2589": "car", "2590": "tão", "2591": "ia", "2592": "▁foi", "2593": "ito", "2594": "ram", "2595": "fa", "2596": "▁meu", "2597": "ça", "2598": "▁dois", "2599": "ação", "2600": "▁ter", "2601": "nça", "2602": "▁compra", "2603": "▁mil", "2604": "▁minha", "2605": "▁passa", "2606": "▁casa", "2607": "Ã", "2608": "·", "2609": "<pt-PT>", "2610": "das", "2611": "▁são", "2612": "▁Pa", "2613": "tura", "2614": "▁ser", "2615": "▁Ele", "2616": "forma", "2617": "▁Esta", "2618": "ões", "2619": "▁pelo", "2620": "tua", "2621": "▁pela", "2622": "mar", "2623": "▁Foi", "2624": "▁foram", "2625": "este", "2626": "▁Um", "2627": "▁São", "2628": "▁entre", "2629": "fun", "2630": "agem", "2631": "gua", "2632": "▁Brasil", "2633": "▁grande", "2634": "icos", "2635": "▁cidade", "2636": "inda", "2637": "▁Este", "2638": "▁maior", "2639": "▁brasileiro", "2640": "▁município", "2641": "▁nome", "2642": "▁encontra", "2643": "ambém", "2644": "▁Sua", "2645": "▁três", "2646": "ska", "2647": "var", "2648": "<th-TH>", "2649": "<tr-TR>", "2650": "ş", "2651": "ğ", "2652": "ya", "2653": "▁ve", "2654": "lar", "2655": "▁bir", "2656": "lı", "2657": "dı", "2658": "ler", "2659": "ye", "2660": "sı", "2661": "ları", "2662": "leri", "2663": "ında", "2664": "tı", "2665": "▁bu", "2666": "lan", "2667": "ara", "2668": "▁Bu", "2669": "inde", "2670": "ını", "2671": "yı", "2672": "yo", "2673": "dü", "2674": "▁olarak", "2675": "▁için", "2676": "maktadır", "2677": "arı", "2678": "▁baş", "2679": "Ş", "2680": "Ğ", "2681": "<zh-CN>", "2682": "⁇", "2683": "A", "2684": ",", "2685": "<vi-VN>", "2686": "▁t", "2687": "▁đ", "2688": "nh", "2689": "▁th", "2690": "▁ch", "2691": "▁nh", "2692": "▁kh", "2693": "▁ng", "2694": "▁g", "2695": "ông", "2696": "▁ph", "2697": "▁r", "2698": "▁gi", "2699": "ời", "2700": "ên", "2701": "▁cá", "2702": "▁và", "2703": "▁có", "2704": "iệ", "2705": "ột", "2706": "▁không", "2707": "ôi", "2708": "iế", "2709": "▁một", "2710": "ới", "2711": "ủa", "2712": "▁của", "2713": "▁x", "2714": "ười", "2715": "ượ", "2716": "ình", "2717": "ất", "2718": "ại", "2719": "uy", "2720": "ày", "2721": "▁người", "2722": "ong", "2723": "anh", "2724": "ược", "2725": "iề", "2726": "▁được", "2727": "▁nó", "2728": "ững", "2729": "▁cho", "2730": "ấy", "2731": "▁như", "2732": "▁ngh", "2733": "▁mà", "2734": "▁tôi", "2735": "ươ", "2736": "ải", "2737": "▁những", "2738": "▁thì", "2739": "ây", "2740": "ao", "2741": "▁đã", "2742": "ần", "2743": "▁cái", "2744": "▁đó", "2745": "▁đi", "2746": "▁với", "2747": "ướ", "2748": "▁trong", "2749": "▁các", "2750": "iều", "2751": "▁này", "2752": "ũng", "2753": "úng", "2754": "ăm", "2755": "ồi", "2756": "ạn", "2757": "▁anh", "2758": "ư", "2759": "ế", "2760": "ạ", "2761": "ộ", "2762": "ờ", "2763": "ả", "2764": "ấ", "2765": "ố", "2766": "ớ", "2767": "ệ", "2768": "ề", "2769": "ể", "2770": "ơ", "2771": "ủ", "2772": "ậ", "2773": "ợ", "2774": "ầ", "2775": "ị", "2776": "ữ", "2777": "ứ", "2778": "ự", "2779": "ọ", "2780": "ồ", "2781": "ở", "2782": "ắ", "2783": "ừ", "2784": "ụ", "2785": "ũ", "2786": "ổ", "2787": "ặ", "2788": "ẽ", "2789": "ằ", "2790": "Đ", "2791": "ỉ", "2792": "ỏ", "2793": "ử", "2794": "ĩ", "2795": "ỗ", "2796": "ẫ", "2797": "ẹ", "2798": "ẩ", "2799": "ễ", "2800": "ẻ", "2801": "ẳ", "2802": "ỹ", "2803": "ỡ", "2804": "ỳ", "2805": "ỷ", "2806": "ẵ", "2807": "Ở", "2808": "ỵ", "2809": "Ấ", "2810": "Ý", "2811": "Ừ", "2812": "Ă", "2813": "Ờ", "2814": "Ả", "2815": "Ồ", "2816": "Ơ", "2817": "Ư", "2818": "Ứ", "2819": "Ố", "2820": "Ớ", "2821": "Ủ", "2822": "Ẩ", "2823": "Ắ", "2824": "Ổ", "2825": "Ỷ", "2826": "Ế", "2827": "Ỳ", "2828": "<blank>"}
latin/4480ms/metadata.json ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "nvidia/nemotron-3.5-asr-streaming-0.6b",
3
+ "model_class": "nemo.collections.asr.models.rnnt_bpe_models_prompt.EncDecRNNTBPEModelWithPrompt",
4
+ "sample_rate": 16000,
5
+ "mel_features": 128,
6
+ "chunk_mel_frames": 448,
7
+ "pre_encode_cache": 9,
8
+ "total_mel_frames": 457,
9
+ "att_context_size": [
10
+ 42,
11
+ 13
12
+ ],
13
+ "vocab_size": 2828,
14
+ "blank_idx": 2828,
15
+ "vocab_pruned": true,
16
+ "vocab_pruned_original_size": 13087,
17
+ "cache_channel_shape": [
18
+ 1,
19
+ 24,
20
+ 42,
21
+ 1024
22
+ ],
23
+ "cache_time_shape": [
24
+ 1,
25
+ 24,
26
+ 1024,
27
+ 8
28
+ ],
29
+ "decoder_hidden": 640,
30
+ "decoder_layers": 2,
31
+ "encoder_dim": 1024,
32
+ "num_prompts": 128,
33
+ "prompt_dictionary": {
34
+ "en-US": 0,
35
+ "en": 0,
36
+ "en-GB": 1,
37
+ "enGB": 1,
38
+ "es-ES": 2,
39
+ "esES": 2,
40
+ "es-US": 3,
41
+ "es": 3,
42
+ "zh-CN": 4,
43
+ "zh-ZH": 4,
44
+ "zh-TW": 5,
45
+ "hi-IN": 6,
46
+ "hi": 6,
47
+ "hi-HI": 6,
48
+ "ar-AR": 7,
49
+ "ar": 7,
50
+ "fr-FR": 8,
51
+ "fr": 8,
52
+ "de-DE": 9,
53
+ "de": 9,
54
+ "ja-JP": 10,
55
+ "ja-JA": 10,
56
+ "ru-RU": 11,
57
+ "ru": 11,
58
+ "pt-BR": 12,
59
+ "pt-PT": 13,
60
+ "pt": 13,
61
+ "ko-KR": 14,
62
+ "ko": 14,
63
+ "ko-KO": 14,
64
+ "it-IT": 15,
65
+ "it": 15,
66
+ "nl-NL": 16,
67
+ "nl": 16,
68
+ "pl-PL": 17,
69
+ "pl": 17,
70
+ "tr-TR": 18,
71
+ "tr": 18,
72
+ "uk-UA": 19,
73
+ "uk": 19,
74
+ "ro-RO": 20,
75
+ "ro": 20,
76
+ "el-GR": 21,
77
+ "el": 21,
78
+ "cs-CZ": 22,
79
+ "cs": 22,
80
+ "hu-HU": 23,
81
+ "hu": 23,
82
+ "sv-SE": 24,
83
+ "sv": 24,
84
+ "da-DK": 25,
85
+ "da": 25,
86
+ "fi-FI": 26,
87
+ "fi": 26,
88
+ "no-NO": 27,
89
+ "no": 27,
90
+ "nb-NO": 103,
91
+ "nb": 103,
92
+ "nn-NO": 104,
93
+ "nn": 104,
94
+ "sk-SK": 28,
95
+ "sk": 28,
96
+ "hr-HR": 29,
97
+ "hr": 29,
98
+ "bg-BG": 30,
99
+ "bg": 30,
100
+ "lt-LT": 31,
101
+ "lt": 31,
102
+ "et-EE": 60,
103
+ "et": 60,
104
+ "lv-LV": 61,
105
+ "lv": 61,
106
+ "sl-SI": 62,
107
+ "sl": 62,
108
+ "th-TH": 32,
109
+ "vi-VN": 33,
110
+ "id-ID": 34,
111
+ "ms-MY": 35,
112
+ "bn-IN": 36,
113
+ "ur-PK": 37,
114
+ "fa-IR": 38,
115
+ "ta-IN": 39,
116
+ "te-IN": 40,
117
+ "mr-IN": 41,
118
+ "gu-IN": 42,
119
+ "kn-IN": 43,
120
+ "ml-IN": 44,
121
+ "si-LK": 45,
122
+ "ne-NP": 46,
123
+ "km-KH": 47,
124
+ "sw-KE": 48,
125
+ "am-ET": 49,
126
+ "ha-NG": 50,
127
+ "zu-ZA": 51,
128
+ "yo-NG": 52,
129
+ "ig-NG": 53,
130
+ "af-ZA": 54,
131
+ "rw-RW": 55,
132
+ "so-SO": 56,
133
+ "ny-MW": 57,
134
+ "ln-CD": 58,
135
+ "or-KE": 59,
136
+ "he-IL": 64,
137
+ "ku-TR": 65,
138
+ "az-AZ": 66,
139
+ "ka-GE": 67,
140
+ "hy-AM": 68,
141
+ "uz-UZ": 69,
142
+ "tg-TJ": 70,
143
+ "ky-KG": 71,
144
+ "qu-PE": 80,
145
+ "ay-BO": 81,
146
+ "gn-PY": 82,
147
+ "nah-MX": 83,
148
+ "mi-NZ": 96,
149
+ "haw-US": 97,
150
+ "sm-WS": 98,
151
+ "to-TO": 99,
152
+ "fr-CA": 100,
153
+ "mt-MT": 102,
154
+ "auto": 101
155
+ },
156
+ "default_prompt_id": 101,
157
+ "lang_tag_token_ids": [
158
+ 1,
159
+ 96,
160
+ 237,
161
+ 358,
162
+ 513,
163
+ 654,
164
+ 746,
165
+ 829,
166
+ 961,
167
+ 1068,
168
+ 1098,
169
+ 1202,
170
+ 1274,
171
+ 1422,
172
+ 1543,
173
+ 1660,
174
+ 1748,
175
+ 1840,
176
+ 1841,
177
+ 1922,
178
+ 2039,
179
+ 2157,
180
+ 2158,
181
+ 2205,
182
+ 2343,
183
+ 2382,
184
+ 2447,
185
+ 2460,
186
+ 2530,
187
+ 2531,
188
+ 2535,
189
+ 2544,
190
+ 2545,
191
+ 2557,
192
+ 2609,
193
+ 2648,
194
+ 2649,
195
+ 2681,
196
+ 2685
197
+ ]
198
+ }
latin/4480ms/tokenizer.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"0": "<unk>", "1": "<bg-BG>", "2": "▁", "3": ".", "4": ",", "5": "e", "6": "t", "7": "a", "8": "s", "9": "o", "10": "i", "11": "r", "12": "l", "13": "u", "14": "d", "15": "c", "16": "h", "17": "m", "18": "p", "19": "n", "20": "g", "21": "f", "22": "en", "23": "in", "24": "on", "25": "y", "26": "er", "27": "an", "28": "w", "29": "0", "30": "b", "31": "v", "32": "2", "33": "1", "34": "▁the", "35": "k", "36": "?", "37": "3", "38": "5", "39": "q", "40": "I", "41": "é", "42": "4", "43": "z", "44": "A", "45": "6", "46": "j", "47": "E", "48": "7", "49": "T", "50": "8", "51": "9", "52": "S", "53": "x", "54": "C", "55": "M", "56": "P", "57": "D", "58": "B", "59": "U", "60": "W", "61": "N", "62": "O", "63": "G", "64": "à", "65": "F", "66": "L", "67": "è", "68": "V", "69": "R", "70": "ó", "71": "H", "72": "α", "73": "ü", "74": "ä", "75": "J", "76": "í", "77": "τ", "78": "ι", "79": "á", "80": "ο", "81": "K", "82": "ε", "83": "ê", "84": "Y", "85": "ν", "86": "ö", "87": "ç", "88": "ρ", "89": "σ", "90": "π", "91": "ę", "92": "υ", "93": "η", "94": "μ", "95": "κ", "96": "<cs-CZ>", "97": "st", "98": "ch", "99": "ní", "100": "▁s", "101": "le", "102": "li", "103": "▁po", "104": "▁v", "105": "ž", "106": "č", "107": "▁to", "108": "no", "109": "to", "110": "▁z", "111": "me", "112": "▁se", "113": "▁a", "114": "te", "115": "▁je", "116": "ho", "117": "▁pro", "118": "ů", "119": "ně", "120": "ro", "121": "▁na", "122": "ce", "123": "▁o", "124": "la", "125": "š", "126": "▁ne", "127": "ni", "128": "ra", "129": "ti", "130": "lo", "131": "ko", "132": "▁že", "133": "ná", "134": "po", "135": "je", "136": "ě", "137": "de", "138": "na", "139": "mi", "140": "▁do", "141": "ci", "142": "▁k", "143": "ku", "144": "ře", "145": "▁by", "146": "ve", "147": "▁za", "148": "mě", "149": "▁A", "150": "ý", "151": "re", "152": "vá", "153": "ou", "154": "vo", "155": "né", "156": "va", "157": "že", "158": "mo", "159": "vě", "160": "jí", "161": "tě", "162": "vý", "163": "▁tak", "164": "ze", "165": "ří", "166": "ne", "167": "še", "168": "▁vy", "169": "ka", "170": "ji", "171": "ky", "172": "rá", "173": "ovat", "174": "▁ob", "175": "cí", "176": "▁jak", "177": "▁pře", "178": "ny", "179": "ví", "180": "ný", "181": "vi", "182": "▁in", "183": "práv", "184": "ú", "185": "▁co", "186": "▁také", "187": "ent", "188": "▁pan", "189": "▁Děkuji", "190": "▁které", "191": "ři", "192": "▁aby", "193": "▁pří", "194": "▁při", "195": "prav", "196": "ř", "197": "vrop", "198": "▁bude", "199": "▁roz", "200": "▁jsou", "201": "ové", "202": "▁jsme", "203": "ské", "204": "ování", "205": "▁tady", "206": "ský", "207": "děl", "208": "▁musí", "209": "Z", "210": "klad", "211": "▁tedy", "212": "dob", "213": "▁To", "214": "ální", "215": "▁Je", "216": "▁stát", "217": "ň", "218": "oval", "219": "▁protože", "220": "▁jsem", "221": "▁který", "222": "předsed", "223": "▁být", "224": "ď", "225": "Č", "226": "ť", "227": "Š", "228": "Ř", "229": "Ž", "230": "ă", "231": "ł", "232": "ż", "233": "ą", "234": "X", "235": "Ú", "236": "ś", "237": "<da-DK>", "238": "▁for", "239": "▁det", "240": "▁at", "241": "æ", "242": "et", "243": "▁og", "244": "▁vi", "245": "al", "246": "▁de", "247": "▁der", "248": "▁til", "249": "or", "250": "▁er", "251": "om", "252": "å", "253": "ø", "254": "and", "255": "▁har", "256": "at", "257": "▁f", "258": "▁i", "259": "▁så", "260": "▁af", "261": "ge", "262": "ar", "263": "is", "264": "ing", "265": "▁med", "266": "▁på", "267": "▁be", "268": "un", "269": "lig", "270": "▁ikke", "271": "▁man", "272": "ig", "273": "▁som", "274": "ør", "275": "▁Og", "276": "el", "277": "ag", "278": "▁skal", "279": "erne", "280": "▁Det", "281": "▁den", "282": "ste", "283": "ning", "284": "▁jeg", "285": "id", "286": "▁kan", "287": "▁også", "288": "▁vil", "289": "ske", "290": "iv", "291": "▁ud", "292": "▁her", "293": "ion", "294": "am", "295": "ur", "296": "for", "297": "▁pr", "298": "else", "299": "▁sig", "300": "▁men", "301": "▁ind", "302": "▁jo", "303": "ende", "304": "▁være", "305": "▁Vi", "306": "ation", "307": "▁må", "308": "mme", "309": "ighed", "310": "tage", "311": "▁op", "312": "▁Jeg", "313": "▁hvor", "314": "▁ved", "315": "▁få", "316": "▁fra", "317": "▁over", "318": "▁have", "319": "kke", "320": "▁meget", "321": "▁Så", "322": "▁Tak", "323": "▁noget", "324": "▁alle", "325": "brug", "326": "▁komme", "327": "▁Men", "328": "▁var", "329": "hold", "330": "arbejde", "331": "▁eller", "332": "▁vores", "333": "▁frem", "334": "▁altså", "335": "▁vigtig", "336": "vær", "337": "▁EU", "338": "▁gøre", "339": "▁nogle", "340": "skab", "341": "▁spørgsmål", "342": "▁kunne", "343": "▁kommissionen", "344": "▁hvis", "345": "Ø", "346": "Æ", "347": "ς", "348": "λ", "349": "ί", "350": "ό", "351": "ı", "352": "έ", "353": "ά", "354": "ω", "355": "γ", "356": "δ", "357": "ή", "358": "<de-DE>", "359": "▁die", "360": "▁und", "361": "▁das", "362": "sch", "363": "▁ist", "364": "▁ich", "365": "▁ein", "366": "▁ge", "367": "ung", "368": "it", "369": "▁wir", "370": "▁zu", "371": "▁so", "372": "▁da", "373": "▁S", "374": "▁auch", "375": "gen", "376": "▁nicht", "377": "▁W", "378": "▁B", "379": "▁E", "380": "▁F", "381": "ll", "382": "▁es", "383": "▁K", "384": "ie", "385": "au", "386": "▁P", "387": "ich", "388": "▁eine", "389": "lich", "390": "ck", "391": "ten", "392": "mal", "393": "ein", "394": "▁T", "395": "▁dann", "396": "▁Und", "397": "▁mit", "398": "▁auf", "399": "hr", "400": "ter", "401": "tz", "402": "▁dass", "403": "▁G", "404": "ben", "405": "um", "406": "us", "407": "cht", "408": "il", "409": "▁Das", "410": "▁diese", "411": "▁noch", "412": "▁jetzt", "413": "ut", "414": "▁ver", "415": "kt", "416": "▁Ich", "417": "▁hier", "418": "▁hat", "419": "▁haben", "420": "▁von", "421": "ri", "422": "ach", "423": "ol", "424": "▁Da", "425": "▁als", "426": "sp", "427": "▁für", "428": "ell", "429": "▁sich", "430": "▁was", "431": "▁ja", "432": "uch", "433": "▁kann", "434": "▁sind", "435": "wi", "436": "▁aus", "437": "rei", "438": "▁wie", "439": "▁Ge", "440": "und", "441": "▁St", "442": "isch", "443": "▁sie", "444": "▁Ja", "445": "▁du", "446": "▁war", "447": "▁im", "448": "▁dem", "449": "▁aber", "450": "▁oder", "451": "ß", "452": "▁Sch", "453": "▁uns", "454": "▁habe", "455": "▁wenn", "456": "▁wo", "457": "▁bei", "458": "▁ihr", "459": "▁Ma", "460": "zu", "461": "▁schon", "462": "▁De", "463": "▁Sie", "464": "▁über", "465": "▁vor", "466": "▁Die", "467": "▁ganz", "468": "iert", "469": "▁Le", "470": "▁viel", "471": "▁In", "472": "▁Also", "473": "▁Ver", "474": "▁sehr", "475": "▁Re", "476": "halt", "477": "▁einfach", "478": "▁werden", "479": "▁sein", "480": "▁Wir", "481": "▁nur", "482": "▁immer", "483": "ieren", "484": "▁muss", "485": "▁wieder", "486": "▁mir", "487": "▁gut", "488": "▁mehr", "489": "▁Mi", "490": "▁nach", "491": "▁Ha", "492": "▁weil", "493": "▁Aber", "494": "kommen", "495": "▁gibt", "496": "▁meine", "497": "▁andere", "498": "▁können", "499": "▁machen", "500": "▁natürlich", "501": "▁bisschen", "502": "▁durch", "503": "sehen", "504": "▁weiter", "505": "▁keine", "506": "▁sagen", "507": "▁wirklich", "508": "▁eigentlich", "509": "▁jede", "510": "schaft", "511": "▁glaube", "512": "Ü", "513": "<el-GR>", "514": "χ", "515": "τα", "516": "▁να", "517": "ει", "518": "▁και", "519": "μα", "520": "β", "521": "ση", "522": "τε", "523": "ώ", "524": "θ", "525": "φ", "526": "πο", "527": "ύ", "528": "▁το", "529": "ία", "530": "τι", "531": "αν", "532": "ου", "533": "ρα", "534": "▁για", "535": "εί", "536": "τη", "537": "ξ", "538": "κα", "539": "▁την", "540": "▁τη", "541": "με", "542": "το", "543": "ού", "544": "▁του", "545": "▁προ", "546": "▁με", "547": "ζ", "548": "▁θα", "549": "▁είναι", "550": "ρο", "551": "ων", "552": "μέ", "553": "▁που", "554": "ια", "555": "νο", "556": "ική", "557": "ών", "558": "ρι", "559": "θε", "560": "Ε", "561": "ρί", "562": "▁ότι", "563": "ουμε", "564": "▁από", "565": "λο", "566": "ρά", "567": "ιο", "568": "▁των", "569": "ευ", "570": "λη", "571": "ουν", "572": "Α", "573": "▁σε", "574": "Π", "575": "▁συν", "576": "φορ", "577": "▁δεν", "578": "Σ", "579": "▁στο", "580": "▁δι", "581": "τά", "582": "▁αυτό", "583": "▁δια", "584": "ιστ", "585": "▁πολύ", "586": "▁πρέπει", "587": "▁στην", "588": "σουμε", "589": "ικά", "590": "Τ", "591": "▁επ", "592": "Κ", "593": "ψ", "594": "▁απο", "595": "▁οι", "596": "εται", "597": "▁επι", "598": "▁Υπότιτλοι", "599": "▁AUTHORWAVE", "600": "ούμε", "601": "ικό", "602": "▁Και", "603": "πρό", "604": "▁Ευχαριστώ", "605": "▁μια", "606": "▁ένα", "607": "▁συμ", "608": "Μ", "609": "▁περι", "610": "▁αυτή", "611": "ήσει", "612": "Ο", "613": "ικέ", "614": "▁κατά", "615": "Γ", "616": "Θ", "617": "▁Ευρωπαϊκή", "618": "▁έχουμε", "619": "▁αλλά", "620": "εργ", "621": "Η", "622": "▁θέμα", "623": "ολογ", "624": "ότητα", "625": "▁έχει", "626": "πολιτ", "627": "Δ", "628": "▁λοιπόν", "629": "ονται", "630": "Ν", "631": "φέρ", "632": "▁Επιτροπή", "633": "▁αυτά", "634": "▁Ένωση", "635": "Υ", "636": "ϊ", "637": "▁Δεν", "638": "▁έχουν", "639": "▁υπάρχει", "640": "Β", "641": "Ι", "642": "Λ", "643": "Φ", "644": "Ρ", "645": "Χ", "646": "Ξ", "647": "Ω", "648": "Ζ", "649": "Ψ", "650": "Ή", "651": "Ά", "652": "Ό", "653": "Έ", "654": "<et-EE>", "655": "ma", "656": "ta", "657": "se", "658": "da", "659": "si", "660": "▁on", "661": "õ", "662": "ks", "663": "ga", "664": "▁et", "665": "▁ka", "666": "he", "667": "mu", "668": "tu", "669": "ha", "670": "ja", "671": "gi", "672": "▁selle", "673": "▁ole", "674": "nd", "675": "oo", "676": "gu", "677": "ju", "678": "est", "679": "▁ei", "680": "▁pa", "681": "nud", "682": "▁väga", "683": "▁see", "684": "tud", "685": "▁pea", "686": "nda", "687": "är", "688": "▁Euroopa", "689": "▁kui", "690": "vad", "691": "ke", "692": "sta", "693": "sed", "694": "▁või", "695": "di", "696": "▁saa", "697": "mise", "698": "▁siis", "699": "▁su", "700": "ide", "701": "pool", "702": "val", "703": "tus", "704": "▁seda", "705": "▁Me", "706": "▁vastu", "707": "▁jä", "708": "▁tule", "709": "selt", "710": "ment", "711": "▁kes", "712": "ndus", "713": "▁töö", "714": "▁kõik", "715": "dus", "716": "▁mõ", "717": "eeri", "718": "▁meie", "719": "▁meil", "720": "▁ning", "721": "võt", "722": "▁mida", "723": "▁arv", "724": "▁See", "725": "takse", "726": "▁vaja", "727": "▁osa", "728": "õigus", "729": "▁nende", "730": "▁nüüd", "731": "▁aasta", "732": "tsiooni", "733": "▁inim", "734": "▁need", "735": "tsus", "736": "riigi", "737": "▁täh", "738": "▁Liidu", "739": "▁välja", "740": "Ä", "741": "Õ", "742": "ã", "743": "Q", "744": "ć", "745": "ñ", "746": "<fi-FI>", "747": "tä", "748": "ssa", "749": "lla", "750": "▁että", "751": "ksi", "752": "ty", "753": "ki", "754": "vä", "755": "pa", "756": "lle", "757": "lu", "758": "tta", "759": "stä", "760": "isi", "761": "ise", "762": "llä", "763": "kin", "764": "nä", "765": "ään", "766": "kse", "767": "tte", "768": "jä", "769": "ttä", "770": "ssä", "771": "ista", "772": "inen", "773": "kä", "774": "llis", "775": "tö", "776": "▁myös", "777": "vu", "778": "taan", "779": "▁tämä", "780": "▁voi", "781": "utta", "782": "iden", "783": "nyt", "784": "▁niin", "785": "▁Kiitos", "786": "▁ovat", "787": "hän", "788": "suu", "789": "▁toimi", "790": "aika", "791": "▁Tämä", "792": "▁pää", "793": "▁mutta", "794": "▁käy", "795": "▁tässä", "796": "▁asia", "797": "▁Tä", "798": "▁jotka", "799": "▁työ", "800": "neet", "801": "▁täytyy", "802": "▁sitten", "803": "▁Euroopan", "804": "▁puolesta", "805": "▁halua", "806": "▁siitä", "807": "▁komissio", "808": "▁hyvä", "809": "▁hyvin", "810": "▁puhu", "811": "▁meidän", "812": "▁vastaan", "813": "▁tärkeä", "814": "▁kaikki", "815": "▁Kiitoksia", "816": "▁vielä", "817": "▁muut", "818": "▁paljon", "819": "mahdollis", "820": "parlament", "821": "▁pitäisi", "822": "▁hyväksy", "823": "▁puheenjohtaja", "824": "▁liitty", "825": "ā", "826": "ī", "827": "ē", "828": "ë", "829": "<fr-FR>", "830": "▁est", "831": "▁c", "832": "▁d", "833": "▁la", "834": "▁p", "835": "▁que", "836": "▁en", "837": "▁le", "838": "▁à", "839": "es", "840": "▁l", "841": "▁un", "842": "▁pas", "843": "▁les", "844": "▁qui", "845": "▁il", "846": "▁vous", "847": "▁des", "848": "▁ce", "849": "▁qu", "850": "▁pour", "851": "▁n", "852": "▁par", "853": "▁ça", "854": "▁une", "855": "▁b", "856": "ant", "857": "▁j", "858": "ais", "859": "ez", "860": "▁dans", "861": "▁va", "862": "▁C", "863": "tre", "864": "ir", "865": "elle", "866": "eur", "867": "▁sur", "868": "▁re", "869": "▁con", "870": "▁ma", "871": "▁Et", "872": "▁au", "873": "ement", "874": "tion", "875": "té", "876": "▁tout", "877": "mp", "878": "ique", "879": "▁plus", "880": "eux", "881": "▁dé", "882": "▁fait", "883": "qu", "884": "▁ai", "885": "▁comme", "886": "ens", "887": "ac", "888": "▁là", "889": "▁si", "890": "ait", "891": "che", "892": "▁mais", "893": "que", "894": "ul", "895": "▁avec", "896": "▁bien", "897": "▁tu", "898": "age", "899": "▁mon", "900": "▁Donc", "901": "end", "902": "▁faire", "903": "▁être", "904": "ver", "905": "▁peu", "906": "▁même", "907": "tra", "908": "cha", "909": "▁nous", "910": "▁donc", "911": "▁sont", "912": "▁moi", "913": "ille", "914": "ff", "915": "▁ex", "916": "ien", "917": "▁Il", "918": "▁très", "919": "▁cette", "920": "im", "921": "ité", "922": "▁dire", "923": "▁peut", "924": "ance", "925": "aire", "926": "mé", "927": "▁app", "928": "▁aussi", "929": "▁petit", "930": "aux", "931": "▁parce", "932": "onne", "933": "mb", "934": "man", "935": "▁On", "936": "▁quand", "937": "▁autre", "938": "ô", "939": "▁chose", "940": "▁puis", "941": "▁était", "942": "ndre", "943": "port", "944": "▁vraiment", "945": "ence", "946": "▁Mais", "947": "î", "948": "▁avoir", "949": "form", "950": "▁faut", "951": "▁Alors", "952": "ign", "953": "▁où", "954": "près", "955": "▁beaucoup", "956": "ture", "957": "û", "958": "Ç", "959": "â", "960": "ù", "961": "<hu-HU>", "962": "sz", "963": "▁az", "964": "▁hogy", "965": "ő", "966": "ás", "967": "ok", "968": "gy", "969": "ek", "970": "ál", "971": "és", "972": "em", "973": "ár", "974": "▁meg", "975": "▁és", "976": "▁is", "977": "▁ez", "978": "▁egy", "979": "os", "980": "ak", "981": "ban", "982": "nak", "983": "ít", "984": "ik", "985": "unk", "986": "▁nem", "987": "oz", "988": "ül", "989": "án", "990": "át", "991": "cs", "992": "él", "993": "ér", "994": "nek", "995": "▁mi", "996": "szer", "997": "bb", "998": "▁Köszönöm", "999": "ség", "1000": "▁kell", "1001": "én", "1002": "hat", "1003": "▁ha", "1004": "ság", "1005": "▁szépen", "1006": "ért", "1007": "ék", "1008": "ott", "1009": "ön", "1010": "ép", "1011": "elő", "1012": "ünk", "1013": "▁van", "1014": "▁ki", "1015": "▁fel", "1016": "ény", "1017": "vé", "1018": "leg", "1019": "eket", "1020": "▁Az", "1021": "juk", "1022": "▁köz", "1023": "ű", "1024": "▁nagyon", "1025": "▁tud", "1026": "▁jelen", "1027": "▁amely", "1028": "▁lehet", "1029": "▁ami", "1030": "▁kérdés", "1031": "▁ellen", "1032": "tart", "1033": "ről", "1034": "É", "1035": "ország", "1036": "rend", "1037": "ról", "1038": "▁vagy", "1039": "▁fontos", "1040": "▁Európai", "1041": "▁akkor", "1042": "▁jog", "1043": "▁fog", "1044": "fogad", "1045": "kapcsol", "1046": "▁rész", "1047": "áció", "1048": "▁volt", "1049": "▁elnök", "1050": "▁bizottság", "1051": "▁gondol", "1052": "▁olyan", "1053": "▁illetve", "1054": "▁tagállam", "1055": "▁pedig", "1056": "▁Tehát", "1057": "▁európai", "1058": "▁szükség", "1059": "szavaz", "1060": "▁tehát", "1061": "következ", "1062": "▁össze", "1063": "▁biztos", "1064": "Ö", "1065": "Á", "1066": "Í", "1067": "Ő", "1068": "<hr-HR>", "1069": "▁u", "1070": "▁bi", "1071": "▁sa", "1072": "će", "1073": "▁od", "1074": "ru", "1075": "▁iz", "1076": "go", "1077": "nje", "1078": "sti", "1079": "đ", "1080": "▁pri", "1081": "ima", "1082": "nu", "1083": "▁pre", "1084": "▁Hvala", "1085": "lje", "1086": "▁što", "1087": "či", "1088": "nja", "1089": "zi", "1090": "vr", "1091": "ći", "1092": "če", "1093": "ca", "1094": "▁koji", "1095": "ba", "1096": "▁raz", "1097": "ț", "1098": "<it-IT>", "1099": "▁di", "1100": "▁e", "1101": "▁che", "1102": "▁è", "1103": "co", "1104": "▁per", "1105": "▁al", "1106": "▁non", "1107": "do", "1108": "gli", "1109": "so", "1110": "amo", "1111": "sa", "1112": "ndo", "1113": "▁una", "1114": "fi", "1115": "pi", "1116": "nti", "1117": "tto", "1118": "tro", "1119": "▁fa", "1120": "chi", "1121": "▁qua", "1122": "zione", "1123": "bi", "1124": "▁del", "1125": "mente", "1126": "pe", "1127": "ssi", "1128": "▁ri", "1129": "▁sono", "1130": "▁me", "1131": "▁questo", "1132": "nte", "1133": "tti", "1134": "tà", "1135": "▁nel", "1136": "▁anche", "1137": "sso", "1138": "▁perché", "1139": "▁più", "1140": "nta", "1141": "▁come", "1142": "cu", "1143": "▁quindi", "1144": "ggi", "1145": "nza", "1146": "sto", "1147": "▁ho", "1148": "ò", "1149": "▁della", "1150": "gra", "1151": "▁fare", "1152": "spe", "1153": "cco", "1154": "nde", "1155": "mento", "1156": "fe", "1157": "gio", "1158": "pu", "1159": "▁questa", "1160": "▁tra", "1161": "zza", "1162": "sci", "1163": "▁ba", "1164": "▁dei", "1165": "▁poi", "1166": "sco", "1167": "stra", "1168": "▁quel", "1169": "qui", "1170": "▁delle", "1171": "▁cosa", "1172": "▁molto", "1173": "sse", "1174": "zioni", "1175": "▁vol", "1176": "▁inter", "1177": "sce", "1178": "▁fatto", "1179": "▁com", "1180": "▁quello", "1181": "▁essere", "1182": "▁due", "1183": "▁abbiamo", "1184": "▁comp", "1185": "▁tutti", "1186": "ì", "1187": "▁prima", "1188": "▁parte", "1189": "▁così", "1190": "▁sempre", "1191": "▁tutto", "1192": "▁video", "1193": "▁maglia", "1194": "▁imp", "1195": "▁cui", "1196": "▁dove", "1197": "▁col", "1198": "▁Quindi", "1199": "sione", "1200": "rebbe", "1201": "scri", "1202": "<lt-LT>", "1203": "ė", "1204": "ai", "1205": "ų", "1206": "▁ir", "1207": "as", "1208": "į", "1209": "▁kad", "1210": "ės", "1211": "▁tai", "1212": "ū", "1213": "tų", "1214": "▁yra", "1215": "ių", "1216": "uo", "1217": "▁ko", "1218": "▁iš", "1219": "tin", "1220": "▁vis", "1221": "čia", "1222": "▁kuri", "1223": "dė", "1224": "ly", "1225": "gal", "1226": "▁ši", "1227": "iau", "1228": "jo", "1229": "tar", "1230": "yb", "1231": "▁Ir", "1232": "▁tik", "1233": "ijos", "1234": "sak", "1235": "▁turi", "1236": "oje", "1237": "▁Tai", "1238": "jų", "1239": "▁apie", "1240": "▁nu", "1241": "▁mes", "1242": "▁už", "1243": "išk", "1244": "▁gali", "1245": "▁dėl", "1246": "▁labai", "1247": "imas", "1248": "klaus", "1249": "laik", "1250": "▁Europos", "1251": "▁aš", "1252": "veik", "1253": "▁būtų", "1254": "darb", "1255": "▁kaip", "1256": "▁teis", "1257": "▁daug", "1258": "▁tikrai", "1259": "▁pra", "1260": "reik", "1261": "▁buvo", "1262": "turė", "1263": "▁valstyb", "1264": "▁reikia", "1265": "▁būti", "1266": "▁Aš", "1267": "▁mūsų", "1268": "▁jūs", "1269": "vyk", "1270": "▁Ačiū", "1271": "cija", "1272": "Į", "1273": "ņ", "1274": "<lv-LV>", "1275": "▁no", "1276": "jā", "1277": "iem", "1278": "tā", "1279": "āk", "1280": "▁ar", "1281": "ām", "1282": "▁pie", "1283": "ies", "1284": "ot", "1285": "kā", "1286": "ļ", "1287": "tr", "1288": "▁tā", "1289": "īt", "1290": "nā", "1291": "▁uz", "1292": "▁tas", "1293": "ēt", "1294": "dz", "1295": "▁arī", "1296": "▁vien", "1297": "▁jau", "1298": "▁kā", "1299": "▁ie", "1300": "gad", "1301": "▁kur", "1302": "▁kas", "1303": "▁Un", "1304": "▁mēs", "1305": "iet", "1306": "dā", "1307": "īg", "1308": "▁Ta", "1309": "▁kād", "1310": "kaut", "1311": "ēm", "1312": "▁lie", "1313": "umu", "1314": "ties", "1315": "dar", "1316": "lē", "1317": "▁vai", "1318": "▁bija", "1319": "▁mums", "1320": "▁tad", "1321": "▁bet", "1322": "ība", "1323": "▁ga", "1324": "▁Latvijas", "1325": "ija", "1326": "kr", "1327": "vē", "1328": "sim", "1329": "▁šo", "1330": "dien", "1331": "gan", "1332": "īgi", "1333": "▁ap", "1334": "ģ", "1335": "▁būt", "1336": "domā", "1337": "▁tev", "1338": "mēr", "1339": "▁daudz", "1340": "▁aiz", "1341": "▁Tā", "1342": "▁tād", "1343": "▁tur", "1344": "▁monēt", "1345": "▁vēl", "1346": "▁laik", "1347": "▁cilvē", "1348": "▁nav", "1349": "▁lab", "1350": "▁ļoti", "1351": "aug", "1352": "▁līdz", "1353": "▁lai", "1354": "šana", "1355": "▁Nu", "1356": "▁viņa", "1357": "▁savu", "1358": "▁cit", "1359": "teik", "1360": "▁darb", "1361": "▁Ne", "1362": "zin", "1363": "▁pirm", "1364": "▁Latvi", "1365": "▁tieš", "1366": "▁viņi", "1367": "ēja", "1368": "dzīvo", "1369": "▁viņš", "1370": "▁pilsē", "1371": "ināt", "1372": "▁viņu", "1373": "▁tagad", "1374": "kārt", "1375": "▁pats", "1376": "▁vairāk", "1377": "reiz", "1378": "▁tikai", "1379": "sakta", "1380": "▁bij", "1381": "▁Viņ", "1382": "▁sev", "1383": "▁māj", "1384": "vērt", "1385": "▁20", "1386": "▁ceļ", "1387": "tiek", "1388": "iski", "1389": "▁dzīv", "1390": "▁kāpēc", "1391": "▁Bet", "1392": "▁pēc", "1393": "▁nozīmē", "1394": "niek", "1395": "ībā", "1396": "▁palīdz", "1397": "▁protams", "1398": "▁stils", "1399": "▁vajadz", "1400": "▁attīstī", "1401": "▁svarīg", "1402": "▁sievie", "1403": "▁grib", "1404": "▁dažād", "1405": "▁valst", "1406": "▁banka", "1407": "▁iespēja", "1408": "▁bez", "1409": "prāt", "1410": "vērtīb", "1411": "▁person", "1412": "pasaules", "1413": "▁varbūt", "1414": "▁vienkārši", "1415": "▁nauda", "1416": "meklē", "1417": "brauc", "1418": "▁nevar", "1419": "ācijas", "1420": "spēj", "1421": "ķ", "1422": "<nl-NL>", "1423": "▁een", "1424": "▁het", "1425": "▁dat", "1426": "▁we", "1427": "▁ik", "1428": "ij", "1429": "▁En", "1430": "▁te", "1431": "▁ook", "1432": "▁niet", "1433": "▁dan", "1434": "▁zo", "1435": "▁voor", "1436": "▁met", "1437": "▁aan", "1438": "▁zijn", "1439": "▁Ik", "1440": "▁wel", "1441": "▁wat", "1442": "aar", "1443": "▁ze", "1444": "ken", "1445": "▁heb", "1446": "der", "1447": "ui", "1448": "den", "1449": "▁daar", "1450": "▁maar", "1451": "op", "1452": "▁heel", "1453": "▁nog", "1454": "▁Dus", "1455": "oor", "1456": "▁hebben", "1457": "▁uit", "1458": "▁of", "1459": "ven", "1460": "▁Maar", "1461": "▁Dat", "1462": "▁gaan", "1463": "elijk", "1464": "▁naar", "1465": "▁moet", "1466": "acht", "1467": "▁waar", "1468": "▁dus", "1469": "▁ben", "1470": "▁goed", "1471": "▁Het", "1472": "▁even", "1473": "ond", "1474": "eld", "1475": "▁dit", "1476": "▁wil", "1477": "rij", "1478": "▁echt", "1479": "▁doen", "1480": "▁gewoon", "1481": "lijk", "1482": "tijd", "1483": "▁meer", "1484": "▁mijn", "1485": "▁We", "1486": "▁gaat", "1487": "werk", "1488": "▁hoe", "1489": "uw", "1490": "▁eigenlijk", "1491": "▁deze", "1492": "zelf", "1493": "vol", "1494": "▁veel", "1495": "atie", "1496": "▁kunnen", "1497": "▁door", "1498": "llen", "1499": "▁mee", "1500": "▁onder", "1501": "▁toe", "1502": "▁zit", "1503": "▁mensen", "1504": "▁hij", "1505": "▁denk", "1506": "▁zie", "1507": "▁heeft", "1508": "▁kl", "1509": "nnen", "1510": "▁zien", "1511": "komen", "1512": "▁natuurlijk", "1513": "heid", "1514": "▁Dan", "1515": "▁vind", "1516": "▁wordt", "1517": "▁iets", "1518": "▁maken", "1519": "▁doe", "1520": "▁Wat", "1521": "▁wij", "1522": "▁beetje", "1523": "▁worden", "1524": "▁Want", "1525": "▁twee", "1526": "▁hem", "1527": "▁had", "1528": "▁jullie", "1529": "▁Als", "1530": "▁kijken", "1531": "▁toch", "1532": "▁tot", "1533": "nieuw", "1534": "lang", "1535": "▁Nou", "1536": "▁krijg", "1537": "houd", "1538": "▁hele", "1539": "▁allemaal", "1540": "▁want", "1541": "▁zeggen", "1542": "▁leuk", "1543": "<pl-PL>", "1544": "nie", "1545": "▁w", "1546": "cz", "1547": "wa", "1548": "▁się", "1549": "▁jest", "1550": "my", "1551": "ła", "1552": "cie", "1553": "czy", "1554": "▁nie", "1555": "wie", "1556": "▁wy", "1557": "nia", "1558": "wo", "1559": "rze", "1560": "ło", "1561": "▁że", "1562": "dzi", "1563": "ej", "1564": "ów", "1565": "dzie", "1566": "▁prze", "1567": "ści", "1568": "by", "1569": "za", "1570": "dy", "1571": "ry", "1572": "ń", "1573": "ją", "1574": "we", "1575": "cze", "1576": "owa", "1577": "ego", "1578": "że", "1579": "cy", "1580": "rzy", "1581": "mie", "1582": "▁przy", "1583": "ły", "1584": "rz", "1585": "szy", "1586": "sze", "1587": "ść", "1588": "wia", "1589": "zy", "1590": "ży", "1591": "▁tutaj", "1592": "ję", "1593": "pie", "1594": "nych", "1595": "▁tym", "1596": "▁może", "1597": "cji", "1598": "▁pod", "1599": "▁ale", "1600": "▁tego", "1601": "owy", "1602": "uje", "1603": "▁bo", "1604": "▁był", "1605": "ną", "1606": "bie", "1607": "sy", "1608": "▁też", "1609": "▁bardzo", "1610": "▁są", "1611": "▁będzie", "1612": "▁Po", "1613": "ski", "1614": "▁które", "1615": "ź", "1616": "▁już", "1617": "▁dla", "1618": "łem", "1619": "nego", "1620": "▁Nie", "1621": "▁No", "1622": "▁praw", "1623": "cja", "1624": "▁ten", "1625": "▁takie", "1626": "ować", "1627": "▁który", "1628": "▁właśnie", "1629": "▁jeszcze", "1630": "▁tam", "1631": "▁żeby", "1632": "▁być", "1633": "▁więc", "1634": "▁czyli", "1635": "▁sobie", "1636": "▁sam", "1637": "▁tylko", "1638": "▁tej", "1639": "▁spraw", "1640": "▁Na", "1641": "▁mówi", "1642": "▁osob", "1643": "▁czas", "1644": "▁prac", "1645": "▁Czy", "1646": "▁prostu", "1647": "▁teraz", "1648": "stęp", "1649": "▁Was", "1650": "▁myśl", "1651": "▁powiedz", "1652": "▁zrobi", "1653": "liśmy", "1654": "▁jakieś", "1655": "ając", "1656": "▁widz", "1657": "▁kart", "1658": "▁musi", "1659": "▁pyta", "1660": "<pt-BR>", "1661": "pt", "1662": "PT", "1663": "<", "1664": ">", "1665": "-", "1666": "▁é", "1667": "▁não", "1668": "▁eu", "1669": "▁um", "1670": "▁você", "1671": "▁para", "1672": "ão", "1673": "▁aqui", "1674": "▁uma", "1675": "ção", "1676": "▁ca", "1677": "▁pe", "1678": "▁tem", "1679": "▁em", "1680": "▁gente", "1681": "▁O", "1682": "▁ele", "1683": "pre", "1684": "ria", "1685": "▁fo", "1686": "mos", "1687": "nho", "1688": "▁Então", "1689": "bo", "1690": "io", "1691": "nha", "1692": "▁isso", "1693": "▁por", "1694": "▁muito", "1695": "nto", "1696": "▁Eu", "1697": "▁está", "1698": "idade", "1699": "▁aí", "1700": "be", "1701": "▁esse", "1702": "▁pode", "1703": "▁como", "1704": "ente", "1705": "▁também", "1706": "▁essa", "1707": "lha", "1708": "▁já", "1709": "▁mas", "1710": "▁pessoa", "1711": "qua", "1712": "▁né", "1713": "▁fazer", "1714": "▁tá", "1715": "lho", "1716": "▁lá", "1717": "fica", "1718": "▁vou", "1719": "▁porque", "1720": "▁Se", "1721": "▁fala", "1722": "▁coisa", "1723": "▁Não", "1724": "...", "1725": "▁só", "1726": "▁nós", "1727": "ço", "1728": "▁Por", "1729": "▁assim", "1730": "▁Co", "1731": "iza", "1732": "▁bem", "1733": "▁todo", "1734": "eira", "1735": "▁sua", "1736": "ência", "1737": "ções", "1738": "▁Você", "1739": "▁tudo", "1740": "▁agora", "1741": "eiro", "1742": "ário", "1743": "▁até", "1744": "▁mesmo", "1745": "▁vamos", "1746": "▁quando", "1747": "ciona", "1748": "<ro-RO>", "1749": "▁în", "1750": "ți", "1751": "▁să", "1752": "▁și", "1753": "▁cu", "1754": "▁că", "1755": "▁care", "1756": "▁mai", "1757": "ră", "1758": "sc", "1759": "că", "1760": "▁am", "1761": "are", "1762": "▁din", "1763": "▁fi", "1764": "▁este", "1765": "tă", "1766": "▁pentru", "1767": "rea", "1768": "ști", "1769": "ș", "1770": "ele", "1771": "du", "1772": "▁M", "1773": "▁fac", "1774": "ân", "1775": "▁sunt", "1776": "▁I", "1777": "▁acest", "1778": "ului", "1779": "lor", "1780": "▁mult", "1781": "și", "1782": "▁mo", "1783": "▁fost", "1784": "per", "1785": "▁foarte", "1786": "▁Și", "1787": "▁mă", "1788": "să", "1789": "cur", "1790": "tor", "1791": "▁cum", "1792": "inte", "1793": "ată", "1794": "ște", "1795": "▁dacă", "1796": "ând", "1797": "▁subliniere", "1798": "▁dar", "1799": "▁sau", "1800": "tat", "1801": "ori", "1802": "▁vă", "1803": "▁asta", "1804": "nă", "1805": "▁prim", "1806": "▁așa", "1807": "ează", "1808": "▁într", "1809": "▁spun", "1810": "▁lui", "1811": "▁sub", "1812": "itate", "1813": "▁aici", "1814": "▁bine", "1815": "▁când", "1816": "▁prin", "1817": "▁alt", "1818": "▁nici", "1819": "stru", "1820": "▁cât", "1821": "▁vede", "1822": "fer", "1823": "▁după", "1824": "▁ju", "1825": "▁despre", "1826": "▁timp", "1827": "▁acum", "1828": "▁poate", "1829": "▁spus", "1830": "▁lucru", "1831": "▁făcut", "1832": "păr", "1833": "▁urmă", "1834": "▁atunci", "1835": "▁fr", "1836": "▁chiar", "1837": "▁încep", "1838": "Ș", "1839": "Î", "1840": "<ru-RU>", "1841": "<sk-SK>", "1842": "ov", "1843": "ľ", "1844": "sk", "1845": "▁aj", "1846": "ob", "1847": "tá", "1848": "ať", "1849": "▁bol", "1850": "▁sú", "1851": "▁ako", "1852": "ži", "1853": "▁sme", "1854": "▁V", "1855": "ali", "1856": "▁alebo", "1857": "▁čo", "1858": "iť", "1859": "▁má", "1860": "ých", "1861": "▁zá", "1862": "▁tie", "1863": "▁nejak", "1864": "▁vý", "1865": "čas", "1866": "nov", "1867": "rov", "1868": "▁ktoré", "1869": "ajú", "1870": "ovať", "1871": "▁keď", "1872": "▁str", "1873": "▁škol", "1874": "nú", "1875": "▁ktor", "1876": "▁vlastne", "1877": "▁prí", "1878": "nej", "1879": "▁veľmi", "1880": "šie", "1881": "rob", "1882": "▁tr", "1883": "ných", "1884": "enie", "1885": "▁spo", "1886": "▁rok", "1887": "osti", "1888": "▁tým", "1889": "▁môže", "1890": "▁ktorý", "1891": "osť", "1892": "▁projekt", "1893": "▁kon", "1894": "▁vzdeláva", "1895": "▁Takže", "1896": "▁ešte", "1897": "▁tých", "1898": "▁mal", "1899": "▁cel", "1900": "▁potom", "1901": "▁svoj", "1902": "enia", "1903": "álne", "1904": "ieť", "1905": "▁teda", "1906": "jedn", "1907": "sled", "1908": "▁možno", "1909": "▁vám", "1910": "chod", "1911": "ujú", "1912": "tvor", "1913": "▁druh", "1914": "▁Slovensk", "1915": "hľad", "1916": "stup", "1917": "▁ľudí", "1918": "▁napríklad", "1919": "▁veľk", "1920": "▁niečo", "1921": "Ď", "1922": "<sl-SL>", "1923": "sl", "1924": "lj", "1925": "kot", "1926": "ih", "1927": "▁svet", "1928": "▁ta", "1929": "▁tako", "1930": "▁kar", "1931": "▁nek", "1932": "jih", "1933": "udi", "1934": "▁vse", "1935": "▁drug", "1936": "▁ima", "1937": "kaj", "1938": "▁smo", "1939": "del", "1940": "▁sem", "1941": "▁lahko", "1942": "▁samo", "1943": "▁več", "1944": "nih", "1945": "▁držav", "1946": "▁zelo", "1947": "▁zdaj", "1948": "▁razum", "1949": "▁še", "1950": "▁tega", "1951": "▁ljudi", "1952": "▁pred", "1953": "▁sta", "1954": "nost", "1955": "▁ampak", "1956": "▁novinar", "1957": "▁naprej", "1958": "▁mora", "1959": "▁Vs", "1960": "krat", "1961": "▁Ampak", "1962": "▁vedno", "1963": "▁velik", "1964": "▁kako", "1965": "▁najbolj", "1966": "ziroma", "1967": "▁vsi", "1968": "▁nekaj", "1969": "▁kater", "1970": "▁res", "1971": "▁tukaj", "1972": "▁dogaja", "1973": "▁svoje", "1974": "▁let", "1975": "daj", "1976": "▁pripriča", "1977": "▁človek", "1978": "▁hoče", "1979": "▁vojn", "1980": "▁Pre", "1981": "▁dobr", "1982": "ljan", "1983": "▁moj", "1984": "▁dejansko", "1985": "▁ljudje", "1986": "▁mediji", "1987": "▁prot", "1988": "▁narav", "1989": "bilo", "1990": "▁Afrik", "1991": "▁vzhod", "1992": "▁človeštva", "1993": "▁kriz", "1994": "▁pogled", "1995": "▁medije", "1996": "poved", "1997": "▁začel", "1998": "▁večin", "1999": "imajo", "2000": "▁Ljudje", "2001": "▁družb", "2002": "▁govorim", "2003": "▁informacij", "2004": "▁kultur", "2005": "▁bližnj", "2006": "▁podobno", "2007": "▁njihov", "2008": "▁konc", "2009": "▁pisa", "2010": "▁zaveda", "2011": "▁vsak", "2012": "živel", "2013": "▁funkcionira", "2014": "▁internet", "2015": "▁islamsk", "2016": "▁film", "2017": "▁otroci", "2018": "▁prihaja", "2019": "▁političn", "2020": "▁popoln", "2021": "▁Velik", "2022": "▁drugačen", "2023": "▁recimo", "2024": "▁resnic", "2025": "solutno", "2026": "▁Bližn", "2027": "▁Evropsk", "2028": "▁muslimani", "2029": "▁nadzoruje", "2030": "▁socialne", "2031": "▁zgodovin", "2032": "▁človešk", "2033": "▁življenj", "2034": "▁prijatelj", "2035": "▁vendar", "2036": "▁ljudem", "2037": "▁števil", "2038": "▁Sirij", "2039": "<sv-SE>", "2040": "▁att", "2041": "▁och", "2042": "▁är", "2043": "▁för", "2044": "▁här", "2045": "▁jag", "2046": "än", "2047": "▁till", "2048": "▁h", "2049": "▁inte", "2050": "▁Och", "2051": "▁av", "2052": "▁om", "2053": "▁ska", "2054": "▁ut", "2055": "▁ett", "2056": "all", "2057": "▁också", "2058": "▁Jag", "2059": "era", "2060": "pp", "2061": "▁upp", "2062": "▁då", "2063": "▁där", "2064": "▁lite", "2065": "år", "2066": "sam", "2067": "isk", "2068": "het", "2069": "för", "2070": "▁kommer", "2071": "▁vill", "2072": "ör", "2073": "erna", "2074": "ande", "2075": "sätt", "2076": "▁finns", "2077": "▁när", "2078": "▁vara", "2079": "ade", "2080": "sök", "2081": "▁hur", "2082": "▁vad", "2083": "bil", "2084": "▁göra", "2085": "▁får", "2086": "verk", "2087": "▁mycket", "2088": "▁väl", "2089": "kom", "2090": "▁gör", "2091": "▁ni", "2092": "▁bara", "2093": "▁från", "2094": "ställ", "2095": "▁väldigt", "2096": "▁min", "2097": "▁olika", "2098": "▁alla", "2099": "lev", "2100": "▁fram", "2101": "▁kanske", "2102": "▁vår", "2103": "▁tid", "2104": "skap", "2105": "håll", "2106": "▁För", "2107": "▁går", "2108": "▁blir", "2109": "▁under", "2110": "▁lär", "2111": "▁ny", "2112": "▁Då", "2113": "▁börja", "2114": "rätt", "2115": "▁över", "2116": "▁oss", "2117": "▁exempel", "2118": "▁skulle", "2119": "gång", "2120": "▁kunna", "2121": "▁andra", "2122": "▁någon", "2123": "▁jobba", "2124": "land", "2125": "▁något", "2126": "▁behöver", "2127": "▁säga", "2128": "klar", "2129": "▁många", "2130": "▁skriv", "2131": "���använda", "2132": "▁själv", "2133": "▁samma", "2134": "lägg", "2135": "▁måste", "2136": "▁efter", "2137": "text", "2138": "▁prata", "2139": "▁klicka", "2140": "▁hitta", "2141": "▁tror", "2142": "▁någonting", "2143": "fråga", "2144": "▁titta", "2145": "▁tycker", "2146": "▁ganska", "2147": "▁jätte", "2148": "▁Vad", "2149": "▁genom", "2150": "▁även", "2151": "▁tänker", "2152": "arbete", "2153": "▁faktiskt", "2154": "person", "2155": "▁komma", "2156": "bygg", "2157": "<uk-UA>", "2158": "<ar-AR>", "2159": "؟", "2160": "،", "2161": "vy", "2162": "▁byl", "2163": "Ň", "2164": "Ť", "2165": "Ó", "2166": "ær", "2167": "▁blev", "2168": "ft", "2169": "lige", "2170": "ved", "2171": "'", "2172": "Å", "2173": "▁H", "2174": "▁D", "2175": "aus", "2176": "▁N", "2177": "▁Be", "2178": "mm", "2179": "ab", "2180": "▁Er", "2181": "ssen", "2182": "hl", "2183": "hn", "2184": "ischen", "2185": "▁wurde", "2186": "rie", "2187": "lei", "2188": "▁An", "2189": "▁Ein", "2190": "etz", "2191": "rau", "2192": "ische", "2193": "äh", "2194": "▁mein", "2195": "▁So", "2196": "▁hatte", "2197": "▁unter", "2198": "▁Zu", "2199": "▁ihn", "2200": "▁Jahr", "2201": "▁zwei", "2202": "keit", "2203": "▁ihm", "2204": "▁Aus", "2205": "<en-GB>", "2206": "▁you", "2207": "▁that", "2208": "▁and", "2209": "▁can", "2210": "▁it", "2211": "▁your", "2212": "ed", "2213": "▁Okay", "2214": "▁just", "2215": "ay", "2216": "▁Yeah", "2217": "▁with", "2218": "th", "2219": "▁Thank", "2220": "▁thank", "2221": "▁help", "2222": "▁please", "2223": "▁one", "2224": "▁there", "2225": "ic", "2226": "▁much", "2227": "▁what", "2228": "▁my", "2229": "hi", "2230": "▁will", "2231": "▁would", "2232": "▁if", "2233": "▁two", "2234": "▁this", "2235": "▁he", "2236": "▁go", "2237": "▁all", "2238": "▁Oh", "2239": "▁like", "2240": "▁very", "2241": "▁The", "2242": "▁today", "2243": "▁not", "2244": "▁yeah", "2245": "▁take", "2246": "ight", "2247": "ex", "2248": "▁Ok", "2249": "▁seven", "2250": "▁number", "2251": "▁know", "2252": "▁about", "2253": "▁four", "2254": "▁okay", "2255": "▁name", "2256": "▁And", "2257": "▁five", "2258": "▁How", "2259": "▁account", "2260": "▁any", "2261": "▁three", "2262": "▁could", "2263": "▁up", "2264": "▁get", "2265": "▁phone", "2266": "▁great", "2267": "▁six", "2268": "▁eight", "2269": "▁now", "2270": "▁nine", "2271": "▁That", "2272": "▁address", "2273": "▁look", "2274": "▁call", "2275": "ill", "2276": "▁You", "2277": "▁but", "2278": "▁got", "2279": "▁don", "2280": "▁email", "2281": "▁calling", "2282": "▁problem", "2283": "▁right", "2284": "▁good", "2285": "▁well", "2286": "▁out", "2287": "▁What", "2288": "▁how", "2289": "▁really", "2290": "▁anything", "2291": "▁actually", "2292": "▁from", "2293": "▁think", "2294": "▁time", "2295": "▁some", "2296": "▁ask", "2297": "▁else", "2298": "other", "2299": "▁fine", "2300": "able", "2301": "▁Good", "2302": "▁when", "2303": "▁full", "2304": "▁confirm", "2305": "▁give", "2306": "▁more", "2307": "ever", "2308": "▁month", "2309": "▁information", "2310": "▁sure", "2311": "▁survey", "2312": "▁sorry", "2313": "▁send", "2314": "▁through", "2315": "▁check", "2316": "▁long", "2317": "▁birth", "2318": "▁should", "2319": "▁twenty", "2320": "▁make", "2321": "▁zero", "2322": "ful", "2323": "▁store", "2324": "▁policy", "2325": "▁back", "2326": "▁again", "2327": "▁first", "2328": "▁Could", "2329": "▁work", "2330": "▁afternoon", "2331": "▁after", "2332": "▁insurance", "2333": "▁customer", "2334": "▁payment", "2335": "▁question", "2336": "▁receive", "2337": "▁possible", "2338": "▁moment", "2339": "▁system", "2340": "▁change", "2341": "▁hundred", "2342": "▁nineteen", "2343": "<en-US>", "2344": "▁.", "2345": "▁,", "2346": "▁st", "2347": "▁are", "2348": "ow", "2349": "ive", "2350": "ate", "2351": "ad", "2352": "ect", "2353": "▁they", "2354": "▁as", "2355": "ng", "2356": "ity", "2357": "ther", "2358": "act", "2359": "ist", "2360": "▁our", "2361": "▁sp", "2362": "ally", "2363": "▁his", "2364": "▁But", "2365": "▁has", "2366": "▁also", "2367": "▁which", "2368": "▁He", "2369": "▁uh", "2370": "day", "2371": "▁people", "2372": "▁who", "2373": "▁thing", "2374": "▁because", "2375": "▁other", "2376": "ough", "2377": "▁part", "2378": "▁say", "2379": "▁year", "2380": "side", "2381": "\"", "2382": "<es-ES>", "2383": "▁y", "2384": "▁el", "2385": "ción", "2386": "▁Es", "2387": "res", "2388": "▁los", "2389": "▁La", "2390": "dos", "2391": "ía", "2392": "▁El", "2393": "▁las", "2394": "▁más", "2395": "men", "2396": "ño", "2397": "▁esta", "2398": "idad", "2399": "par", "2400": "¿", "2401": "ría", "2402": "▁fue", "2403": "rio", "2404": "enta", "2405": "ón", "2406": "cho", "2407": "ciones", "2408": "ble", "2409": "▁Ca", "2410": "▁muy", "2411": "▁también", "2412": "▁tiene", "2413": "ña", "2414": "▁Su", "2415": "▁pero", "2416": "▁son", "2417": "encia", "2418": "sión", "2419": "▁hay", "2420": "▁puede", "2421": "ncia", "2422": "▁mucho", "2423": "▁Si", "2424": "▁pues", "2425": "miento", "2426": "▁Con", "2427": "ones", "2428": "ecto", "2429": "iendo", "2430": "▁día", "2431": "▁sobre", "2432": "▁primer", "2433": "▁qué", "2434": "▁gusta", "2435": "▁San", "2436": "▁hacer", "2437": "cional", "2438": "▁verdad", "2439": "▁persona", "2440": "▁pasa", "2441": "▁mejor", "2442": "quí", "2443": "▁Fue", "2444": "▁Com", "2445": "▁ciudad", "2446": "Ñ", "2447": "<es-US>", "2448": "cia", "2449": "▁lo", "2450": "▁Y", "2451": "ron", "2452": "les", "2453": "▁mu", "2454": "cio", "2455": "▁yo", "2456": "bu", "2457": "▁sí", "2458": "▁Pero", "2459": "▁así", "2460": "<fr-CA>", "2461": "ré", "2462": "ée", "2463": "▁Les", "2464": "nt", "2465": "our", "2466": "▁Ce", "2467": "com", "2468": "▁Elle", "2469": "▁Cet", "2470": "ux", "2471": "ale", "2472": "ier", "2473": "ction", "2474": "▁cha", "2475": "▁pré", "2476": "▁deux", "2477": "if", "2478": "lé", "2479": "ère", "2480": "ière", "2481": "iste", "2482": "▁parti", "2483": "▁été", "2484": "cette", "2485": "avec", "2486": "▁tou", "2487": "jour", "2488": "app", "2489": "cul", "2490": "▁égale", "2491": "aine", "2492": "gue", "2493": "▁trè", "2494": "▁nombre", "2495": "▁étai", "2496": "tout", "2497": "▁grand", "2498": "▁commun", "2499": "Une", "2500": "œ", "2501": "ï", "2502": "À", "2503": "Œ", "2504": "È", "2505": "ō", "2506": "ÿ", "2507": "Ō", "2508": "Ô", "2509": "Ê", "2510": "Â", "2511": "▁m", "2512": "av", "2513": "ouv", "2514": "êt", "2515": "ois", "2516": "pri", "2517": "voir", "2518": "sion", "2519": "ix", "2520": "ang", "2521": "était", "2522": "ard", "2523": "aient", "2524": "Ć", "2525": "İ", "2526": "Ù", "2527": "Û", "2528": "Ë", "2529": "Ï", "2530": "<he-IL>", "2531": "<hi-IN>", "2532": "।", "2533": "!", "2534": "Ì", "2535": "<ja-JP>", "2536": "▁。", "2537": "▁、", "2538": "▁々", "2539": "〜", "2540": "々", "2541": "?", "2542": "、", "2543": "。", "2544": "<ko-KR>", "2545": "<nb-NO>", "2546": "ene", "2547": "▁ble", "2548": "ikk", "2549": "opp", "2550": "▁Han", "2551": "▁Den", "2552": "unn", "2553": "▁han", "2554": "asjon", "2555": "▁word", "2556": "▁werd", "2557": "<nn-NO>", "2558": "eg", "2559": "▁ikkje", "2560": "▁bok", "2561": "lik", "2562": "▁eit", "2563": "så", "2564": "kk", "2565": "▁nok", "2566": "▁god", "2567": "▁lese", "2568": "dde", "2569": "inga", "2570": "▁denn", "2571": "inn", "2572": "kkje", "2573": "dig", "2574": "tid", "2575": "▁bøke", "2576": "ord", "2577": "▁tru", "2578": "skje", "2579": "▁sei", "2580": "ller", "2581": "▁fle", "2582": "skriv", "2583": "▁heil", "2584": "wy", "2585": "Ś", "2586": "Ł", "2587": "Ź", "2588": "Ż", "2589": "car", "2590": "tão", "2591": "ia", "2592": "▁foi", "2593": "ito", "2594": "ram", "2595": "fa", "2596": "▁meu", "2597": "ça", "2598": "▁dois", "2599": "ação", "2600": "▁ter", "2601": "nça", "2602": "▁compra", "2603": "▁mil", "2604": "▁minha", "2605": "▁passa", "2606": "▁casa", "2607": "Ã", "2608": "·", "2609": "<pt-PT>", "2610": "das", "2611": "▁são", "2612": "▁Pa", "2613": "tura", "2614": "▁ser", "2615": "▁Ele", "2616": "forma", "2617": "▁Esta", "2618": "ões", "2619": "▁pelo", "2620": "tua", "2621": "▁pela", "2622": "mar", "2623": "▁Foi", "2624": "▁foram", "2625": "este", "2626": "▁Um", "2627": "▁São", "2628": "▁entre", "2629": "fun", "2630": "agem", "2631": "gua", "2632": "▁Brasil", "2633": "▁grande", "2634": "icos", "2635": "▁cidade", "2636": "inda", "2637": "▁Este", "2638": "▁maior", "2639": "▁brasileiro", "2640": "▁município", "2641": "▁nome", "2642": "▁encontra", "2643": "ambém", "2644": "▁Sua", "2645": "▁três", "2646": "ska", "2647": "var", "2648": "<th-TH>", "2649": "<tr-TR>", "2650": "ş", "2651": "ğ", "2652": "ya", "2653": "▁ve", "2654": "lar", "2655": "▁bir", "2656": "lı", "2657": "dı", "2658": "ler", "2659": "ye", "2660": "sı", "2661": "ları", "2662": "leri", "2663": "ında", "2664": "tı", "2665": "▁bu", "2666": "lan", "2667": "ara", "2668": "▁Bu", "2669": "inde", "2670": "ını", "2671": "yı", "2672": "yo", "2673": "dü", "2674": "▁olarak", "2675": "▁için", "2676": "maktadır", "2677": "arı", "2678": "▁baş", "2679": "Ş", "2680": "Ğ", "2681": "<zh-CN>", "2682": "⁇", "2683": "A", "2684": ",", "2685": "<vi-VN>", "2686": "▁t", "2687": "▁đ", "2688": "nh", "2689": "▁th", "2690": "▁ch", "2691": "▁nh", "2692": "▁kh", "2693": "▁ng", "2694": "▁g", "2695": "ông", "2696": "▁ph", "2697": "▁r", "2698": "▁gi", "2699": "ời", "2700": "ên", "2701": "▁cá", "2702": "▁và", "2703": "▁có", "2704": "iệ", "2705": "ột", "2706": "▁không", "2707": "ôi", "2708": "iế", "2709": "▁một", "2710": "ới", "2711": "ủa", "2712": "▁của", "2713": "▁x", "2714": "ười", "2715": "ượ", "2716": "ình", "2717": "ất", "2718": "ại", "2719": "uy", "2720": "ày", "2721": "▁người", "2722": "ong", "2723": "anh", "2724": "ược", "2725": "iề", "2726": "▁được", "2727": "▁nó", "2728": "ững", "2729": "▁cho", "2730": "ấy", "2731": "▁như", "2732": "▁ngh", "2733": "▁mà", "2734": "▁tôi", "2735": "ươ", "2736": "ải", "2737": "▁những", "2738": "▁thì", "2739": "ây", "2740": "ao", "2741": "▁đã", "2742": "ần", "2743": "▁cái", "2744": "▁đó", "2745": "▁đi", "2746": "▁với", "2747": "ướ", "2748": "▁trong", "2749": "▁các", "2750": "iều", "2751": "▁này", "2752": "ũng", "2753": "úng", "2754": "ăm", "2755": "ồi", "2756": "ạn", "2757": "▁anh", "2758": "ư", "2759": "ế", "2760": "ạ", "2761": "ộ", "2762": "ờ", "2763": "ả", "2764": "ấ", "2765": "ố", "2766": "ớ", "2767": "ệ", "2768": "ề", "2769": "ể", "2770": "ơ", "2771": "ủ", "2772": "ậ", "2773": "ợ", "2774": "ầ", "2775": "ị", "2776": "ữ", "2777": "ứ", "2778": "ự", "2779": "ọ", "2780": "ồ", "2781": "ở", "2782": "ắ", "2783": "ừ", "2784": "ụ", "2785": "ũ", "2786": "ổ", "2787": "ặ", "2788": "ẽ", "2789": "ằ", "2790": "Đ", "2791": "ỉ", "2792": "ỏ", "2793": "ử", "2794": "ĩ", "2795": "ỗ", "2796": "ẫ", "2797": "ẹ", "2798": "ẩ", "2799": "ễ", "2800": "ẻ", "2801": "ẳ", "2802": "ỹ", "2803": "ỡ", "2804": "ỳ", "2805": "ỷ", "2806": "ẵ", "2807": "Ở", "2808": "ỵ", "2809": "Ấ", "2810": "Ý", "2811": "Ừ", "2812": "Ă", "2813": "Ờ", "2814": "Ả", "2815": "Ồ", "2816": "Ơ", "2817": "Ư", "2818": "Ứ", "2819": "Ố", "2820": "Ớ", "2821": "Ủ", "2822": "Ẩ", "2823": "Ắ", "2824": "Ổ", "2825": "Ỷ", "2826": "Ế", "2827": "Ỳ", "2828": "<blank>"}
latin/560ms/metadata.json ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "nvidia/nemotron-3.5-asr-streaming-0.6b",
3
+ "model_class": "nemo.collections.asr.models.rnnt_bpe_models_prompt.EncDecRNNTBPEModelWithPrompt",
4
+ "sample_rate": 16000,
5
+ "mel_features": 128,
6
+ "chunk_mel_frames": 56,
7
+ "pre_encode_cache": 9,
8
+ "total_mel_frames": 65,
9
+ "att_context_size": [
10
+ 42,
11
+ 13
12
+ ],
13
+ "vocab_size": 2828,
14
+ "blank_idx": 2828,
15
+ "vocab_pruned": true,
16
+ "vocab_pruned_original_size": 13087,
17
+ "cache_channel_shape": [
18
+ 1,
19
+ 24,
20
+ 42,
21
+ 1024
22
+ ],
23
+ "cache_time_shape": [
24
+ 1,
25
+ 24,
26
+ 1024,
27
+ 8
28
+ ],
29
+ "decoder_hidden": 640,
30
+ "decoder_layers": 2,
31
+ "encoder_dim": 1024,
32
+ "num_prompts": 128,
33
+ "prompt_dictionary": {
34
+ "en-US": 0,
35
+ "en": 0,
36
+ "en-GB": 1,
37
+ "enGB": 1,
38
+ "es-ES": 2,
39
+ "esES": 2,
40
+ "es-US": 3,
41
+ "es": 3,
42
+ "zh-CN": 4,
43
+ "zh-ZH": 4,
44
+ "zh-TW": 5,
45
+ "hi-IN": 6,
46
+ "hi": 6,
47
+ "hi-HI": 6,
48
+ "ar-AR": 7,
49
+ "ar": 7,
50
+ "fr-FR": 8,
51
+ "fr": 8,
52
+ "de-DE": 9,
53
+ "de": 9,
54
+ "ja-JP": 10,
55
+ "ja-JA": 10,
56
+ "ru-RU": 11,
57
+ "ru": 11,
58
+ "pt-BR": 12,
59
+ "pt-PT": 13,
60
+ "pt": 13,
61
+ "ko-KR": 14,
62
+ "ko": 14,
63
+ "ko-KO": 14,
64
+ "it-IT": 15,
65
+ "it": 15,
66
+ "nl-NL": 16,
67
+ "nl": 16,
68
+ "pl-PL": 17,
69
+ "pl": 17,
70
+ "tr-TR": 18,
71
+ "tr": 18,
72
+ "uk-UA": 19,
73
+ "uk": 19,
74
+ "ro-RO": 20,
75
+ "ro": 20,
76
+ "el-GR": 21,
77
+ "el": 21,
78
+ "cs-CZ": 22,
79
+ "cs": 22,
80
+ "hu-HU": 23,
81
+ "hu": 23,
82
+ "sv-SE": 24,
83
+ "sv": 24,
84
+ "da-DK": 25,
85
+ "da": 25,
86
+ "fi-FI": 26,
87
+ "fi": 26,
88
+ "no-NO": 27,
89
+ "no": 27,
90
+ "nb-NO": 103,
91
+ "nb": 103,
92
+ "nn-NO": 104,
93
+ "nn": 104,
94
+ "sk-SK": 28,
95
+ "sk": 28,
96
+ "hr-HR": 29,
97
+ "hr": 29,
98
+ "bg-BG": 30,
99
+ "bg": 30,
100
+ "lt-LT": 31,
101
+ "lt": 31,
102
+ "et-EE": 60,
103
+ "et": 60,
104
+ "lv-LV": 61,
105
+ "lv": 61,
106
+ "sl-SI": 62,
107
+ "sl": 62,
108
+ "th-TH": 32,
109
+ "vi-VN": 33,
110
+ "id-ID": 34,
111
+ "ms-MY": 35,
112
+ "bn-IN": 36,
113
+ "ur-PK": 37,
114
+ "fa-IR": 38,
115
+ "ta-IN": 39,
116
+ "te-IN": 40,
117
+ "mr-IN": 41,
118
+ "gu-IN": 42,
119
+ "kn-IN": 43,
120
+ "ml-IN": 44,
121
+ "si-LK": 45,
122
+ "ne-NP": 46,
123
+ "km-KH": 47,
124
+ "sw-KE": 48,
125
+ "am-ET": 49,
126
+ "ha-NG": 50,
127
+ "zu-ZA": 51,
128
+ "yo-NG": 52,
129
+ "ig-NG": 53,
130
+ "af-ZA": 54,
131
+ "rw-RW": 55,
132
+ "so-SO": 56,
133
+ "ny-MW": 57,
134
+ "ln-CD": 58,
135
+ "or-KE": 59,
136
+ "he-IL": 64,
137
+ "ku-TR": 65,
138
+ "az-AZ": 66,
139
+ "ka-GE": 67,
140
+ "hy-AM": 68,
141
+ "uz-UZ": 69,
142
+ "tg-TJ": 70,
143
+ "ky-KG": 71,
144
+ "qu-PE": 80,
145
+ "ay-BO": 81,
146
+ "gn-PY": 82,
147
+ "nah-MX": 83,
148
+ "mi-NZ": 96,
149
+ "haw-US": 97,
150
+ "sm-WS": 98,
151
+ "to-TO": 99,
152
+ "fr-CA": 100,
153
+ "mt-MT": 102,
154
+ "auto": 101
155
+ },
156
+ "default_prompt_id": 101,
157
+ "lang_tag_token_ids": [
158
+ 1,
159
+ 96,
160
+ 237,
161
+ 358,
162
+ 513,
163
+ 654,
164
+ 746,
165
+ 829,
166
+ 961,
167
+ 1068,
168
+ 1098,
169
+ 1202,
170
+ 1274,
171
+ 1422,
172
+ 1543,
173
+ 1660,
174
+ 1748,
175
+ 1840,
176
+ 1841,
177
+ 1922,
178
+ 2039,
179
+ 2157,
180
+ 2158,
181
+ 2205,
182
+ 2343,
183
+ 2382,
184
+ 2447,
185
+ 2460,
186
+ 2530,
187
+ 2531,
188
+ 2535,
189
+ 2544,
190
+ 2545,
191
+ 2557,
192
+ 2609,
193
+ 2648,
194
+ 2649,
195
+ 2681,
196
+ 2685
197
+ ]
198
+ }
latin/560ms/tokenizer.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"0": "<unk>", "1": "<bg-BG>", "2": "▁", "3": ".", "4": ",", "5": "e", "6": "t", "7": "a", "8": "s", "9": "o", "10": "i", "11": "r", "12": "l", "13": "u", "14": "d", "15": "c", "16": "h", "17": "m", "18": "p", "19": "n", "20": "g", "21": "f", "22": "en", "23": "in", "24": "on", "25": "y", "26": "er", "27": "an", "28": "w", "29": "0", "30": "b", "31": "v", "32": "2", "33": "1", "34": "▁the", "35": "k", "36": "?", "37": "3", "38": "5", "39": "q", "40": "I", "41": "é", "42": "4", "43": "z", "44": "A", "45": "6", "46": "j", "47": "E", "48": "7", "49": "T", "50": "8", "51": "9", "52": "S", "53": "x", "54": "C", "55": "M", "56": "P", "57": "D", "58": "B", "59": "U", "60": "W", "61": "N", "62": "O", "63": "G", "64": "à", "65": "F", "66": "L", "67": "è", "68": "V", "69": "R", "70": "ó", "71": "H", "72": "α", "73": "ü", "74": "ä", "75": "J", "76": "í", "77": "τ", "78": "ι", "79": "á", "80": "ο", "81": "K", "82": "ε", "83": "ê", "84": "Y", "85": "ν", "86": "ö", "87": "ç", "88": "ρ", "89": "σ", "90": "π", "91": "ę", "92": "υ", "93": "η", "94": "μ", "95": "κ", "96": "<cs-CZ>", "97": "st", "98": "ch", "99": "ní", "100": "▁s", "101": "le", "102": "li", "103": "▁po", "104": "▁v", "105": "ž", "106": "č", "107": "▁to", "108": "no", "109": "to", "110": "▁z", "111": "me", "112": "▁se", "113": "▁a", "114": "te", "115": "▁je", "116": "ho", "117": "▁pro", "118": "ů", "119": "ně", "120": "ro", "121": "▁na", "122": "ce", "123": "▁o", "124": "la", "125": "š", "126": "▁ne", "127": "ni", "128": "ra", "129": "ti", "130": "lo", "131": "ko", "132": "▁že", "133": "ná", "134": "po", "135": "je", "136": "ě", "137": "de", "138": "na", "139": "mi", "140": "▁do", "141": "ci", "142": "▁k", "143": "ku", "144": "ře", "145": "▁by", "146": "ve", "147": "▁za", "148": "mě", "149": "▁A", "150": "ý", "151": "re", "152": "vá", "153": "ou", "154": "vo", "155": "né", "156": "va", "157": "že", "158": "mo", "159": "vě", "160": "jí", "161": "tě", "162": "vý", "163": "▁tak", "164": "ze", "165": "ří", "166": "ne", "167": "še", "168": "▁vy", "169": "ka", "170": "ji", "171": "ky", "172": "rá", "173": "ovat", "174": "▁ob", "175": "cí", "176": "▁jak", "177": "▁pře", "178": "ny", "179": "ví", "180": "ný", "181": "vi", "182": "▁in", "183": "práv", "184": "ú", "185": "▁co", "186": "▁také", "187": "ent", "188": "▁pan", "189": "▁Děkuji", "190": "▁které", "191": "ři", "192": "▁aby", "193": "▁pří", "194": "▁při", "195": "prav", "196": "ř", "197": "vrop", "198": "▁bude", "199": "▁roz", "200": "▁jsou", "201": "ové", "202": "▁jsme", "203": "ské", "204": "ování", "205": "▁tady", "206": "ský", "207": "děl", "208": "▁musí", "209": "Z", "210": "klad", "211": "▁tedy", "212": "dob", "213": "▁To", "214": "ální", "215": "▁Je", "216": "▁stát", "217": "ň", "218": "oval", "219": "▁protože", "220": "▁jsem", "221": "▁který", "222": "předsed", "223": "▁být", "224": "ď", "225": "Č", "226": "ť", "227": "Š", "228": "Ř", "229": "Ž", "230": "ă", "231": "ł", "232": "ż", "233": "ą", "234": "X", "235": "Ú", "236": "ś", "237": "<da-DK>", "238": "▁for", "239": "▁det", "240": "▁at", "241": "æ", "242": "et", "243": "▁og", "244": "▁vi", "245": "al", "246": "▁de", "247": "▁der", "248": "▁til", "249": "or", "250": "▁er", "251": "om", "252": "å", "253": "ø", "254": "and", "255": "▁har", "256": "at", "257": "▁f", "258": "▁i", "259": "▁så", "260": "▁af", "261": "ge", "262": "ar", "263": "is", "264": "ing", "265": "▁med", "266": "▁på", "267": "▁be", "268": "un", "269": "lig", "270": "▁ikke", "271": "▁man", "272": "ig", "273": "▁som", "274": "ør", "275": "▁Og", "276": "el", "277": "ag", "278": "▁skal", "279": "erne", "280": "▁Det", "281": "▁den", "282": "ste", "283": "ning", "284": "▁jeg", "285": "id", "286": "▁kan", "287": "▁også", "288": "▁vil", "289": "ske", "290": "iv", "291": "▁ud", "292": "▁her", "293": "ion", "294": "am", "295": "ur", "296": "for", "297": "▁pr", "298": "else", "299": "▁sig", "300": "▁men", "301": "▁ind", "302": "▁jo", "303": "ende", "304": "▁være", "305": "▁Vi", "306": "ation", "307": "▁må", "308": "mme", "309": "ighed", "310": "tage", "311": "▁op", "312": "▁Jeg", "313": "▁hvor", "314": "▁ved", "315": "▁få", "316": "▁fra", "317": "▁over", "318": "▁have", "319": "kke", "320": "▁meget", "321": "▁Så", "322": "▁Tak", "323": "▁noget", "324": "▁alle", "325": "brug", "326": "▁komme", "327": "▁Men", "328": "▁var", "329": "hold", "330": "arbejde", "331": "▁eller", "332": "▁vores", "333": "▁frem", "334": "▁altså", "335": "▁vigtig", "336": "vær", "337": "▁EU", "338": "▁gøre", "339": "▁nogle", "340": "skab", "341": "▁spørgsmål", "342": "▁kunne", "343": "▁kommissionen", "344": "▁hvis", "345": "Ø", "346": "Æ", "347": "ς", "348": "λ", "349": "ί", "350": "ό", "351": "ı", "352": "έ", "353": "ά", "354": "ω", "355": "γ", "356": "δ", "357": "ή", "358": "<de-DE>", "359": "▁die", "360": "▁und", "361": "▁das", "362": "sch", "363": "▁ist", "364": "▁ich", "365": "▁ein", "366": "▁ge", "367": "ung", "368": "it", "369": "▁wir", "370": "▁zu", "371": "▁so", "372": "▁da", "373": "▁S", "374": "▁auch", "375": "gen", "376": "▁nicht", "377": "▁W", "378": "▁B", "379": "▁E", "380": "▁F", "381": "ll", "382": "▁es", "383": "▁K", "384": "ie", "385": "au", "386": "▁P", "387": "ich", "388": "▁eine", "389": "lich", "390": "ck", "391": "ten", "392": "mal", "393": "ein", "394": "▁T", "395": "▁dann", "396": "▁Und", "397": "▁mit", "398": "▁auf", "399": "hr", "400": "ter", "401": "tz", "402": "▁dass", "403": "▁G", "404": "ben", "405": "um", "406": "us", "407": "cht", "408": "il", "409": "▁Das", "410": "▁diese", "411": "▁noch", "412": "▁jetzt", "413": "ut", "414": "▁ver", "415": "kt", "416": "▁Ich", "417": "▁hier", "418": "▁hat", "419": "▁haben", "420": "▁von", "421": "ri", "422": "ach", "423": "ol", "424": "▁Da", "425": "▁als", "426": "sp", "427": "▁für", "428": "ell", "429": "▁sich", "430": "▁was", "431": "▁ja", "432": "uch", "433": "▁kann", "434": "▁sind", "435": "wi", "436": "▁aus", "437": "rei", "438": "▁wie", "439": "▁Ge", "440": "und", "441": "▁St", "442": "isch", "443": "▁sie", "444": "▁Ja", "445": "▁du", "446": "▁war", "447": "▁im", "448": "▁dem", "449": "▁aber", "450": "▁oder", "451": "ß", "452": "▁Sch", "453": "▁uns", "454": "▁habe", "455": "▁wenn", "456": "▁wo", "457": "▁bei", "458": "▁ihr", "459": "▁Ma", "460": "zu", "461": "▁schon", "462": "▁De", "463": "▁Sie", "464": "▁über", "465": "▁vor", "466": "▁Die", "467": "▁ganz", "468": "iert", "469": "▁Le", "470": "▁viel", "471": "▁In", "472": "▁Also", "473": "▁Ver", "474": "▁sehr", "475": "▁Re", "476": "halt", "477": "▁einfach", "478": "▁werden", "479": "▁sein", "480": "▁Wir", "481": "▁nur", "482": "▁immer", "483": "ieren", "484": "▁muss", "485": "▁wieder", "486": "▁mir", "487": "▁gut", "488": "▁mehr", "489": "▁Mi", "490": "▁nach", "491": "▁Ha", "492": "▁weil", "493": "▁Aber", "494": "kommen", "495": "▁gibt", "496": "▁meine", "497": "▁andere", "498": "▁können", "499": "▁machen", "500": "▁natürlich", "501": "▁bisschen", "502": "▁durch", "503": "sehen", "504": "▁weiter", "505": "▁keine", "506": "▁sagen", "507": "▁wirklich", "508": "▁eigentlich", "509": "▁jede", "510": "schaft", "511": "▁glaube", "512": "Ü", "513": "<el-GR>", "514": "χ", "515": "τα", "516": "▁να", "517": "ει", "518": "▁και", "519": "μα", "520": "β", "521": "ση", "522": "τε", "523": "ώ", "524": "θ", "525": "φ", "526": "πο", "527": "ύ", "528": "▁το", "529": "ία", "530": "τι", "531": "αν", "532": "ου", "533": "ρα", "534": "▁για", "535": "εί", "536": "τη", "537": "ξ", "538": "κα", "539": "▁την", "540": "▁τη", "541": "με", "542": "το", "543": "ού", "544": "▁του", "545": "▁προ", "546": "▁με", "547": "ζ", "548": "▁θα", "549": "▁είναι", "550": "ρο", "551": "ων", "552": "μέ", "553": "▁που", "554": "ια", "555": "νο", "556": "ική", "557": "ών", "558": "ρι", "559": "θε", "560": "Ε", "561": "ρί", "562": "▁ότι", "563": "ουμε", "564": "▁από", "565": "λο", "566": "ρά", "567": "ιο", "568": "▁των", "569": "ευ", "570": "λη", "571": "ουν", "572": "Α", "573": "▁σε", "574": "Π", "575": "▁συν", "576": "φορ", "577": "▁δεν", "578": "Σ", "579": "▁στο", "580": "▁δι", "581": "τά", "582": "▁αυτό", "583": "▁δια", "584": "ιστ", "585": "▁πολύ", "586": "▁πρέπει", "587": "▁στην", "588": "σουμε", "589": "ικά", "590": "Τ", "591": "▁επ", "592": "Κ", "593": "ψ", "594": "▁απο", "595": "▁οι", "596": "εται", "597": "▁επι", "598": "▁Υπότιτλοι", "599": "▁AUTHORWAVE", "600": "ούμε", "601": "ικό", "602": "▁Και", "603": "πρό", "604": "▁Ευχαριστώ", "605": "▁μια", "606": "▁ένα", "607": "▁συμ", "608": "Μ", "609": "▁περι", "610": "▁αυτή", "611": "ήσει", "612": "Ο", "613": "ικέ", "614": "▁κατά", "615": "Γ", "616": "Θ", "617": "▁Ευρωπαϊκή", "618": "▁έχουμε", "619": "▁αλλά", "620": "εργ", "621": "Η", "622": "▁θέμα", "623": "ολογ", "624": "ότητα", "625": "▁έχει", "626": "πολιτ", "627": "Δ", "628": "▁λοιπόν", "629": "ονται", "630": "Ν", "631": "φέρ", "632": "▁Επιτροπή", "633": "▁αυτά", "634": "▁Ένωση", "635": "Υ", "636": "ϊ", "637": "▁Δεν", "638": "▁έχουν", "639": "▁υπάρχει", "640": "Β", "641": "Ι", "642": "Λ", "643": "Φ", "644": "Ρ", "645": "Χ", "646": "Ξ", "647": "Ω", "648": "Ζ", "649": "Ψ", "650": "Ή", "651": "Ά", "652": "Ό", "653": "Έ", "654": "<et-EE>", "655": "ma", "656": "ta", "657": "se", "658": "da", "659": "si", "660": "▁on", "661": "õ", "662": "ks", "663": "ga", "664": "▁et", "665": "▁ka", "666": "he", "667": "mu", "668": "tu", "669": "ha", "670": "ja", "671": "gi", "672": "▁selle", "673": "▁ole", "674": "nd", "675": "oo", "676": "gu", "677": "ju", "678": "est", "679": "▁ei", "680": "▁pa", "681": "nud", "682": "▁väga", "683": "▁see", "684": "tud", "685": "▁pea", "686": "nda", "687": "är", "688": "▁Euroopa", "689": "▁kui", "690": "vad", "691": "ke", "692": "sta", "693": "sed", "694": "▁või", "695": "di", "696": "▁saa", "697": "mise", "698": "▁siis", "699": "▁su", "700": "ide", "701": "pool", "702": "val", "703": "tus", "704": "▁seda", "705": "▁Me", "706": "▁vastu", "707": "▁jä", "708": "▁tule", "709": "selt", "710": "ment", "711": "▁kes", "712": "ndus", "713": "▁töö", "714": "▁kõik", "715": "dus", "716": "▁mõ", "717": "eeri", "718": "▁meie", "719": "▁meil", "720": "▁ning", "721": "võt", "722": "▁mida", "723": "▁arv", "724": "▁See", "725": "takse", "726": "▁vaja", "727": "▁osa", "728": "õigus", "729": "▁nende", "730": "▁nüüd", "731": "▁aasta", "732": "tsiooni", "733": "▁inim", "734": "▁need", "735": "tsus", "736": "riigi", "737": "▁täh", "738": "▁Liidu", "739": "▁välja", "740": "Ä", "741": "Õ", "742": "ã", "743": "Q", "744": "ć", "745": "ñ", "746": "<fi-FI>", "747": "tä", "748": "ssa", "749": "lla", "750": "▁että", "751": "ksi", "752": "ty", "753": "ki", "754": "vä", "755": "pa", "756": "lle", "757": "lu", "758": "tta", "759": "stä", "760": "isi", "761": "ise", "762": "llä", "763": "kin", "764": "nä", "765": "ään", "766": "kse", "767": "tte", "768": "jä", "769": "ttä", "770": "ssä", "771": "ista", "772": "inen", "773": "kä", "774": "llis", "775": "tö", "776": "▁myös", "777": "vu", "778": "taan", "779": "▁tämä", "780": "▁voi", "781": "utta", "782": "iden", "783": "nyt", "784": "▁niin", "785": "▁Kiitos", "786": "▁ovat", "787": "hän", "788": "suu", "789": "▁toimi", "790": "aika", "791": "▁Tämä", "792": "▁pää", "793": "▁mutta", "794": "▁käy", "795": "▁tässä", "796": "▁asia", "797": "▁Tä", "798": "▁jotka", "799": "▁työ", "800": "neet", "801": "▁täytyy", "802": "▁sitten", "803": "▁Euroopan", "804": "▁puolesta", "805": "▁halua", "806": "▁siitä", "807": "▁komissio", "808": "▁hyvä", "809": "▁hyvin", "810": "▁puhu", "811": "▁meidän", "812": "▁vastaan", "813": "▁tärkeä", "814": "▁kaikki", "815": "▁Kiitoksia", "816": "▁vielä", "817": "▁muut", "818": "▁paljon", "819": "mahdollis", "820": "parlament", "821": "▁pitäisi", "822": "▁hyväksy", "823": "▁puheenjohtaja", "824": "▁liitty", "825": "ā", "826": "ī", "827": "ē", "828": "ë", "829": "<fr-FR>", "830": "▁est", "831": "▁c", "832": "▁d", "833": "▁la", "834": "▁p", "835": "▁que", "836": "▁en", "837": "▁le", "838": "▁à", "839": "es", "840": "▁l", "841": "▁un", "842": "▁pas", "843": "▁les", "844": "▁qui", "845": "▁il", "846": "▁vous", "847": "▁des", "848": "▁ce", "849": "▁qu", "850": "▁pour", "851": "▁n", "852": "▁par", "853": "▁ça", "854": "▁une", "855": "▁b", "856": "ant", "857": "▁j", "858": "ais", "859": "ez", "860": "▁dans", "861": "▁va", "862": "▁C", "863": "tre", "864": "ir", "865": "elle", "866": "eur", "867": "▁sur", "868": "▁re", "869": "▁con", "870": "▁ma", "871": "▁Et", "872": "▁au", "873": "ement", "874": "tion", "875": "té", "876": "▁tout", "877": "mp", "878": "ique", "879": "▁plus", "880": "eux", "881": "▁dé", "882": "▁fait", "883": "qu", "884": "▁ai", "885": "▁comme", "886": "ens", "887": "ac", "888": "▁là", "889": "▁si", "890": "ait", "891": "che", "892": "▁mais", "893": "que", "894": "ul", "895": "▁avec", "896": "▁bien", "897": "▁tu", "898": "age", "899": "▁mon", "900": "▁Donc", "901": "end", "902": "▁faire", "903": "▁être", "904": "ver", "905": "▁peu", "906": "▁même", "907": "tra", "908": "cha", "909": "▁nous", "910": "▁donc", "911": "▁sont", "912": "▁moi", "913": "ille", "914": "ff", "915": "▁ex", "916": "ien", "917": "▁Il", "918": "▁très", "919": "▁cette", "920": "im", "921": "ité", "922": "▁dire", "923": "▁peut", "924": "ance", "925": "aire", "926": "mé", "927": "▁app", "928": "▁aussi", "929": "▁petit", "930": "aux", "931": "▁parce", "932": "onne", "933": "mb", "934": "man", "935": "▁On", "936": "▁quand", "937": "▁autre", "938": "ô", "939": "▁chose", "940": "▁puis", "941": "▁était", "942": "ndre", "943": "port", "944": "▁vraiment", "945": "ence", "946": "▁Mais", "947": "î", "948": "▁avoir", "949": "form", "950": "▁faut", "951": "▁Alors", "952": "ign", "953": "▁où", "954": "près", "955": "▁beaucoup", "956": "ture", "957": "û", "958": "Ç", "959": "â", "960": "ù", "961": "<hu-HU>", "962": "sz", "963": "▁az", "964": "▁hogy", "965": "ő", "966": "ás", "967": "ok", "968": "gy", "969": "ek", "970": "ál", "971": "és", "972": "em", "973": "ár", "974": "▁meg", "975": "▁és", "976": "▁is", "977": "▁ez", "978": "▁egy", "979": "os", "980": "ak", "981": "ban", "982": "nak", "983": "ít", "984": "ik", "985": "unk", "986": "▁nem", "987": "oz", "988": "ül", "989": "án", "990": "át", "991": "cs", "992": "él", "993": "ér", "994": "nek", "995": "▁mi", "996": "szer", "997": "bb", "998": "▁Köszönöm", "999": "ség", "1000": "▁kell", "1001": "én", "1002": "hat", "1003": "▁ha", "1004": "ság", "1005": "▁szépen", "1006": "ért", "1007": "ék", "1008": "ott", "1009": "ön", "1010": "ép", "1011": "elő", "1012": "ünk", "1013": "▁van", "1014": "▁ki", "1015": "▁fel", "1016": "ény", "1017": "vé", "1018": "leg", "1019": "eket", "1020": "▁Az", "1021": "juk", "1022": "▁köz", "1023": "ű", "1024": "▁nagyon", "1025": "▁tud", "1026": "▁jelen", "1027": "▁amely", "1028": "▁lehet", "1029": "▁ami", "1030": "▁kérdés", "1031": "▁ellen", "1032": "tart", "1033": "ről", "1034": "É", "1035": "ország", "1036": "rend", "1037": "ról", "1038": "▁vagy", "1039": "▁fontos", "1040": "▁Európai", "1041": "▁akkor", "1042": "▁jog", "1043": "▁fog", "1044": "fogad", "1045": "kapcsol", "1046": "▁rész", "1047": "áció", "1048": "▁volt", "1049": "▁elnök", "1050": "▁bizottság", "1051": "▁gondol", "1052": "▁olyan", "1053": "▁illetve", "1054": "▁tagállam", "1055": "▁pedig", "1056": "▁Tehát", "1057": "▁európai", "1058": "▁szükség", "1059": "szavaz", "1060": "▁tehát", "1061": "következ", "1062": "▁össze", "1063": "▁biztos", "1064": "Ö", "1065": "Á", "1066": "Í", "1067": "Ő", "1068": "<hr-HR>", "1069": "▁u", "1070": "▁bi", "1071": "▁sa", "1072": "će", "1073": "▁od", "1074": "ru", "1075": "▁iz", "1076": "go", "1077": "nje", "1078": "sti", "1079": "đ", "1080": "▁pri", "1081": "ima", "1082": "nu", "1083": "▁pre", "1084": "▁Hvala", "1085": "lje", "1086": "▁što", "1087": "či", "1088": "nja", "1089": "zi", "1090": "vr", "1091": "ći", "1092": "če", "1093": "ca", "1094": "▁koji", "1095": "ba", "1096": "▁raz", "1097": "ț", "1098": "<it-IT>", "1099": "▁di", "1100": "▁e", "1101": "▁che", "1102": "▁è", "1103": "co", "1104": "▁per", "1105": "▁al", "1106": "▁non", "1107": "do", "1108": "gli", "1109": "so", "1110": "amo", "1111": "sa", "1112": "ndo", "1113": "▁una", "1114": "fi", "1115": "pi", "1116": "nti", "1117": "tto", "1118": "tro", "1119": "▁fa", "1120": "chi", "1121": "▁qua", "1122": "zione", "1123": "bi", "1124": "▁del", "1125": "mente", "1126": "pe", "1127": "ssi", "1128": "▁ri", "1129": "▁sono", "1130": "▁me", "1131": "▁questo", "1132": "nte", "1133": "tti", "1134": "tà", "1135": "▁nel", "1136": "▁anche", "1137": "sso", "1138": "▁perché", "1139": "▁più", "1140": "nta", "1141": "▁come", "1142": "cu", "1143": "▁quindi", "1144": "ggi", "1145": "nza", "1146": "sto", "1147": "▁ho", "1148": "ò", "1149": "▁della", "1150": "gra", "1151": "▁fare", "1152": "spe", "1153": "cco", "1154": "nde", "1155": "mento", "1156": "fe", "1157": "gio", "1158": "pu", "1159": "▁questa", "1160": "▁tra", "1161": "zza", "1162": "sci", "1163": "▁ba", "1164": "▁dei", "1165": "▁poi", "1166": "sco", "1167": "stra", "1168": "▁quel", "1169": "qui", "1170": "▁delle", "1171": "▁cosa", "1172": "▁molto", "1173": "sse", "1174": "zioni", "1175": "▁vol", "1176": "▁inter", "1177": "sce", "1178": "▁fatto", "1179": "▁com", "1180": "▁quello", "1181": "▁essere", "1182": "▁due", "1183": "▁abbiamo", "1184": "▁comp", "1185": "▁tutti", "1186": "ì", "1187": "▁prima", "1188": "▁parte", "1189": "▁così", "1190": "▁sempre", "1191": "▁tutto", "1192": "▁video", "1193": "▁maglia", "1194": "▁imp", "1195": "▁cui", "1196": "▁dove", "1197": "▁col", "1198": "▁Quindi", "1199": "sione", "1200": "rebbe", "1201": "scri", "1202": "<lt-LT>", "1203": "ė", "1204": "ai", "1205": "ų", "1206": "▁ir", "1207": "as", "1208": "į", "1209": "▁kad", "1210": "ės", "1211": "▁tai", "1212": "ū", "1213": "tų", "1214": "▁yra", "1215": "ių", "1216": "uo", "1217": "▁ko", "1218": "▁iš", "1219": "tin", "1220": "▁vis", "1221": "čia", "1222": "▁kuri", "1223": "dė", "1224": "ly", "1225": "gal", "1226": "▁ši", "1227": "iau", "1228": "jo", "1229": "tar", "1230": "yb", "1231": "▁Ir", "1232": "▁tik", "1233": "ijos", "1234": "sak", "1235": "▁turi", "1236": "oje", "1237": "▁Tai", "1238": "jų", "1239": "▁apie", "1240": "▁nu", "1241": "▁mes", "1242": "▁už", "1243": "išk", "1244": "▁gali", "1245": "▁dėl", "1246": "▁labai", "1247": "imas", "1248": "klaus", "1249": "laik", "1250": "▁Europos", "1251": "▁aš", "1252": "veik", "1253": "▁būtų", "1254": "darb", "1255": "▁kaip", "1256": "▁teis", "1257": "▁daug", "1258": "▁tikrai", "1259": "▁pra", "1260": "reik", "1261": "▁buvo", "1262": "turė", "1263": "▁valstyb", "1264": "▁reikia", "1265": "▁būti", "1266": "▁Aš", "1267": "▁mūsų", "1268": "▁jūs", "1269": "vyk", "1270": "▁Ačiū", "1271": "cija", "1272": "Į", "1273": "ņ", "1274": "<lv-LV>", "1275": "▁no", "1276": "jā", "1277": "iem", "1278": "tā", "1279": "āk", "1280": "▁ar", "1281": "ām", "1282": "▁pie", "1283": "ies", "1284": "ot", "1285": "kā", "1286": "ļ", "1287": "tr", "1288": "▁tā", "1289": "īt", "1290": "nā", "1291": "▁uz", "1292": "▁tas", "1293": "ēt", "1294": "dz", "1295": "▁arī", "1296": "▁vien", "1297": "▁jau", "1298": "▁kā", "1299": "▁ie", "1300": "gad", "1301": "▁kur", "1302": "▁kas", "1303": "▁Un", "1304": "▁mēs", "1305": "iet", "1306": "dā", "1307": "īg", "1308": "▁Ta", "1309": "▁kād", "1310": "kaut", "1311": "ēm", "1312": "▁lie", "1313": "umu", "1314": "ties", "1315": "dar", "1316": "lē", "1317": "▁vai", "1318": "▁bija", "1319": "▁mums", "1320": "▁tad", "1321": "▁bet", "1322": "ība", "1323": "▁ga", "1324": "▁Latvijas", "1325": "ija", "1326": "kr", "1327": "vē", "1328": "sim", "1329": "▁šo", "1330": "dien", "1331": "gan", "1332": "īgi", "1333": "▁ap", "1334": "ģ", "1335": "▁būt", "1336": "domā", "1337": "▁tev", "1338": "mēr", "1339": "▁daudz", "1340": "▁aiz", "1341": "▁Tā", "1342": "▁tād", "1343": "▁tur", "1344": "▁monēt", "1345": "▁vēl", "1346": "▁laik", "1347": "▁cilvē", "1348": "▁nav", "1349": "▁lab", "1350": "▁ļoti", "1351": "aug", "1352": "▁līdz", "1353": "▁lai", "1354": "šana", "1355": "▁Nu", "1356": "▁viņa", "1357": "▁savu", "1358": "▁cit", "1359": "teik", "1360": "▁darb", "1361": "▁Ne", "1362": "zin", "1363": "▁pirm", "1364": "▁Latvi", "1365": "▁tieš", "1366": "▁viņi", "1367": "ēja", "1368": "dzīvo", "1369": "▁viņš", "1370": "▁pilsē", "1371": "ināt", "1372": "▁viņu", "1373": "▁tagad", "1374": "kārt", "1375": "▁pats", "1376": "▁vairāk", "1377": "reiz", "1378": "▁tikai", "1379": "sakta", "1380": "▁bij", "1381": "▁Viņ", "1382": "▁sev", "1383": "▁māj", "1384": "vērt", "1385": "▁20", "1386": "▁ceļ", "1387": "tiek", "1388": "iski", "1389": "▁dzīv", "1390": "▁kāpēc", "1391": "▁Bet", "1392": "▁pēc", "1393": "▁nozīmē", "1394": "niek", "1395": "ībā", "1396": "▁palīdz", "1397": "▁protams", "1398": "▁stils", "1399": "▁vajadz", "1400": "▁attīstī", "1401": "▁svarīg", "1402": "▁sievie", "1403": "▁grib", "1404": "▁dažād", "1405": "▁valst", "1406": "▁banka", "1407": "▁iespēja", "1408": "▁bez", "1409": "prāt", "1410": "vērtīb", "1411": "▁person", "1412": "pasaules", "1413": "▁varbūt", "1414": "▁vienkārši", "1415": "▁nauda", "1416": "meklē", "1417": "brauc", "1418": "▁nevar", "1419": "ācijas", "1420": "spēj", "1421": "ķ", "1422": "<nl-NL>", "1423": "▁een", "1424": "▁het", "1425": "▁dat", "1426": "▁we", "1427": "▁ik", "1428": "ij", "1429": "▁En", "1430": "▁te", "1431": "▁ook", "1432": "▁niet", "1433": "▁dan", "1434": "▁zo", "1435": "▁voor", "1436": "▁met", "1437": "▁aan", "1438": "▁zijn", "1439": "▁Ik", "1440": "▁wel", "1441": "▁wat", "1442": "aar", "1443": "▁ze", "1444": "ken", "1445": "▁heb", "1446": "der", "1447": "ui", "1448": "den", "1449": "▁daar", "1450": "▁maar", "1451": "op", "1452": "▁heel", "1453": "▁nog", "1454": "▁Dus", "1455": "oor", "1456": "▁hebben", "1457": "▁uit", "1458": "▁of", "1459": "ven", "1460": "▁Maar", "1461": "▁Dat", "1462": "▁gaan", "1463": "elijk", "1464": "▁naar", "1465": "▁moet", "1466": "acht", "1467": "▁waar", "1468": "▁dus", "1469": "▁ben", "1470": "▁goed", "1471": "▁Het", "1472": "▁even", "1473": "ond", "1474": "eld", "1475": "▁dit", "1476": "▁wil", "1477": "rij", "1478": "▁echt", "1479": "▁doen", "1480": "▁gewoon", "1481": "lijk", "1482": "tijd", "1483": "▁meer", "1484": "▁mijn", "1485": "▁We", "1486": "▁gaat", "1487": "werk", "1488": "▁hoe", "1489": "uw", "1490": "▁eigenlijk", "1491": "▁deze", "1492": "zelf", "1493": "vol", "1494": "▁veel", "1495": "atie", "1496": "▁kunnen", "1497": "▁door", "1498": "llen", "1499": "▁mee", "1500": "▁onder", "1501": "▁toe", "1502": "▁zit", "1503": "▁mensen", "1504": "▁hij", "1505": "▁denk", "1506": "▁zie", "1507": "▁heeft", "1508": "▁kl", "1509": "nnen", "1510": "▁zien", "1511": "komen", "1512": "▁natuurlijk", "1513": "heid", "1514": "▁Dan", "1515": "▁vind", "1516": "▁wordt", "1517": "▁iets", "1518": "▁maken", "1519": "▁doe", "1520": "▁Wat", "1521": "▁wij", "1522": "▁beetje", "1523": "▁worden", "1524": "▁Want", "1525": "▁twee", "1526": "▁hem", "1527": "▁had", "1528": "▁jullie", "1529": "▁Als", "1530": "▁kijken", "1531": "▁toch", "1532": "▁tot", "1533": "nieuw", "1534": "lang", "1535": "▁Nou", "1536": "▁krijg", "1537": "houd", "1538": "▁hele", "1539": "▁allemaal", "1540": "▁want", "1541": "▁zeggen", "1542": "▁leuk", "1543": "<pl-PL>", "1544": "nie", "1545": "▁w", "1546": "cz", "1547": "wa", "1548": "▁się", "1549": "▁jest", "1550": "my", "1551": "ła", "1552": "cie", "1553": "czy", "1554": "▁nie", "1555": "wie", "1556": "▁wy", "1557": "nia", "1558": "wo", "1559": "rze", "1560": "ło", "1561": "▁że", "1562": "dzi", "1563": "ej", "1564": "ów", "1565": "dzie", "1566": "▁prze", "1567": "ści", "1568": "by", "1569": "za", "1570": "dy", "1571": "ry", "1572": "ń", "1573": "ją", "1574": "we", "1575": "cze", "1576": "owa", "1577": "ego", "1578": "że", "1579": "cy", "1580": "rzy", "1581": "mie", "1582": "▁przy", "1583": "ły", "1584": "rz", "1585": "szy", "1586": "sze", "1587": "ść", "1588": "wia", "1589": "zy", "1590": "ży", "1591": "▁tutaj", "1592": "ję", "1593": "pie", "1594": "nych", "1595": "▁tym", "1596": "▁może", "1597": "cji", "1598": "▁pod", "1599": "▁ale", "1600": "▁tego", "1601": "owy", "1602": "uje", "1603": "▁bo", "1604": "▁był", "1605": "ną", "1606": "bie", "1607": "sy", "1608": "▁też", "1609": "▁bardzo", "1610": "▁są", "1611": "▁będzie", "1612": "▁Po", "1613": "ski", "1614": "▁które", "1615": "ź", "1616": "▁już", "1617": "▁dla", "1618": "łem", "1619": "nego", "1620": "▁Nie", "1621": "▁No", "1622": "▁praw", "1623": "cja", "1624": "▁ten", "1625": "▁takie", "1626": "ować", "1627": "▁który", "1628": "▁właśnie", "1629": "▁jeszcze", "1630": "▁tam", "1631": "▁żeby", "1632": "▁być", "1633": "▁więc", "1634": "▁czyli", "1635": "▁sobie", "1636": "▁sam", "1637": "▁tylko", "1638": "▁tej", "1639": "▁spraw", "1640": "▁Na", "1641": "▁mówi", "1642": "▁osob", "1643": "▁czas", "1644": "▁prac", "1645": "▁Czy", "1646": "▁prostu", "1647": "▁teraz", "1648": "stęp", "1649": "▁Was", "1650": "▁myśl", "1651": "▁powiedz", "1652": "▁zrobi", "1653": "liśmy", "1654": "▁jakieś", "1655": "ając", "1656": "▁widz", "1657": "▁kart", "1658": "▁musi", "1659": "▁pyta", "1660": "<pt-BR>", "1661": "pt", "1662": "PT", "1663": "<", "1664": ">", "1665": "-", "1666": "▁é", "1667": "▁não", "1668": "▁eu", "1669": "▁um", "1670": "▁você", "1671": "▁para", "1672": "ão", "1673": "▁aqui", "1674": "▁uma", "1675": "ção", "1676": "▁ca", "1677": "▁pe", "1678": "▁tem", "1679": "▁em", "1680": "▁gente", "1681": "▁O", "1682": "▁ele", "1683": "pre", "1684": "ria", "1685": "▁fo", "1686": "mos", "1687": "nho", "1688": "▁Então", "1689": "bo", "1690": "io", "1691": "nha", "1692": "▁isso", "1693": "▁por", "1694": "▁muito", "1695": "nto", "1696": "▁Eu", "1697": "▁está", "1698": "idade", "1699": "▁aí", "1700": "be", "1701": "▁esse", "1702": "▁pode", "1703": "▁como", "1704": "ente", "1705": "▁também", "1706": "▁essa", "1707": "lha", "1708": "▁já", "1709": "▁mas", "1710": "▁pessoa", "1711": "qua", "1712": "▁né", "1713": "▁fazer", "1714": "▁tá", "1715": "lho", "1716": "▁lá", "1717": "fica", "1718": "▁vou", "1719": "▁porque", "1720": "▁Se", "1721": "▁fala", "1722": "▁coisa", "1723": "▁Não", "1724": "...", "1725": "▁só", "1726": "▁nós", "1727": "ço", "1728": "▁Por", "1729": "▁assim", "1730": "▁Co", "1731": "iza", "1732": "▁bem", "1733": "▁todo", "1734": "eira", "1735": "▁sua", "1736": "ência", "1737": "ções", "1738": "▁Você", "1739": "▁tudo", "1740": "▁agora", "1741": "eiro", "1742": "ário", "1743": "▁até", "1744": "▁mesmo", "1745": "▁vamos", "1746": "▁quando", "1747": "ciona", "1748": "<ro-RO>", "1749": "▁în", "1750": "ți", "1751": "▁să", "1752": "▁și", "1753": "▁cu", "1754": "▁că", "1755": "▁care", "1756": "▁mai", "1757": "ră", "1758": "sc", "1759": "că", "1760": "▁am", "1761": "are", "1762": "▁din", "1763": "▁fi", "1764": "▁este", "1765": "tă", "1766": "▁pentru", "1767": "rea", "1768": "ști", "1769": "ș", "1770": "ele", "1771": "du", "1772": "▁M", "1773": "▁fac", "1774": "ân", "1775": "▁sunt", "1776": "▁I", "1777": "▁acest", "1778": "ului", "1779": "lor", "1780": "▁mult", "1781": "și", "1782": "▁mo", "1783": "▁fost", "1784": "per", "1785": "▁foarte", "1786": "▁Și", "1787": "▁mă", "1788": "să", "1789": "cur", "1790": "tor", "1791": "▁cum", "1792": "inte", "1793": "ată", "1794": "ște", "1795": "▁dacă", "1796": "ând", "1797": "▁subliniere", "1798": "▁dar", "1799": "▁sau", "1800": "tat", "1801": "ori", "1802": "▁vă", "1803": "▁asta", "1804": "nă", "1805": "▁prim", "1806": "▁așa", "1807": "ează", "1808": "▁într", "1809": "▁spun", "1810": "▁lui", "1811": "▁sub", "1812": "itate", "1813": "▁aici", "1814": "▁bine", "1815": "▁când", "1816": "▁prin", "1817": "▁alt", "1818": "▁nici", "1819": "stru", "1820": "▁cât", "1821": "▁vede", "1822": "fer", "1823": "▁după", "1824": "▁ju", "1825": "▁despre", "1826": "▁timp", "1827": "▁acum", "1828": "▁poate", "1829": "▁spus", "1830": "▁lucru", "1831": "▁făcut", "1832": "păr", "1833": "▁urmă", "1834": "▁atunci", "1835": "▁fr", "1836": "▁chiar", "1837": "▁încep", "1838": "Ș", "1839": "Î", "1840": "<ru-RU>", "1841": "<sk-SK>", "1842": "ov", "1843": "ľ", "1844": "sk", "1845": "▁aj", "1846": "ob", "1847": "tá", "1848": "ať", "1849": "▁bol", "1850": "▁sú", "1851": "▁ako", "1852": "ži", "1853": "▁sme", "1854": "▁V", "1855": "ali", "1856": "▁alebo", "1857": "▁čo", "1858": "iť", "1859": "▁má", "1860": "ých", "1861": "▁zá", "1862": "▁tie", "1863": "▁nejak", "1864": "▁vý", "1865": "čas", "1866": "nov", "1867": "rov", "1868": "▁ktoré", "1869": "ajú", "1870": "ovať", "1871": "▁keď", "1872": "▁str", "1873": "▁škol", "1874": "nú", "1875": "▁ktor", "1876": "▁vlastne", "1877": "▁prí", "1878": "nej", "1879": "▁veľmi", "1880": "šie", "1881": "rob", "1882": "▁tr", "1883": "ných", "1884": "enie", "1885": "▁spo", "1886": "▁rok", "1887": "osti", "1888": "▁tým", "1889": "▁môže", "1890": "▁ktorý", "1891": "osť", "1892": "▁projekt", "1893": "▁kon", "1894": "▁vzdeláva", "1895": "▁Takže", "1896": "▁ešte", "1897": "▁tých", "1898": "▁mal", "1899": "▁cel", "1900": "▁potom", "1901": "▁svoj", "1902": "enia", "1903": "álne", "1904": "ieť", "1905": "▁teda", "1906": "jedn", "1907": "sled", "1908": "▁možno", "1909": "▁vám", "1910": "chod", "1911": "ujú", "1912": "tvor", "1913": "▁druh", "1914": "▁Slovensk", "1915": "hľad", "1916": "stup", "1917": "▁ľudí", "1918": "▁napríklad", "1919": "▁veľk", "1920": "▁niečo", "1921": "Ď", "1922": "<sl-SL>", "1923": "sl", "1924": "lj", "1925": "kot", "1926": "ih", "1927": "▁svet", "1928": "▁ta", "1929": "▁tako", "1930": "▁kar", "1931": "▁nek", "1932": "jih", "1933": "udi", "1934": "▁vse", "1935": "▁drug", "1936": "▁ima", "1937": "kaj", "1938": "▁smo", "1939": "del", "1940": "▁sem", "1941": "▁lahko", "1942": "▁samo", "1943": "▁več", "1944": "nih", "1945": "▁držav", "1946": "▁zelo", "1947": "▁zdaj", "1948": "▁razum", "1949": "▁še", "1950": "▁tega", "1951": "▁ljudi", "1952": "▁pred", "1953": "▁sta", "1954": "nost", "1955": "▁ampak", "1956": "▁novinar", "1957": "▁naprej", "1958": "▁mora", "1959": "▁Vs", "1960": "krat", "1961": "▁Ampak", "1962": "▁vedno", "1963": "▁velik", "1964": "▁kako", "1965": "▁najbolj", "1966": "ziroma", "1967": "▁vsi", "1968": "▁nekaj", "1969": "▁kater", "1970": "▁res", "1971": "▁tukaj", "1972": "▁dogaja", "1973": "▁svoje", "1974": "▁let", "1975": "daj", "1976": "▁pripriča", "1977": "▁človek", "1978": "▁hoče", "1979": "▁vojn", "1980": "▁Pre", "1981": "▁dobr", "1982": "ljan", "1983": "▁moj", "1984": "▁dejansko", "1985": "▁ljudje", "1986": "▁mediji", "1987": "▁prot", "1988": "▁narav", "1989": "bilo", "1990": "▁Afrik", "1991": "▁vzhod", "1992": "▁človeštva", "1993": "▁kriz", "1994": "▁pogled", "1995": "▁medije", "1996": "poved", "1997": "▁začel", "1998": "▁večin", "1999": "imajo", "2000": "▁Ljudje", "2001": "▁družb", "2002": "▁govorim", "2003": "▁informacij", "2004": "▁kultur", "2005": "▁bližnj", "2006": "▁podobno", "2007": "▁njihov", "2008": "▁konc", "2009": "▁pisa", "2010": "▁zaveda", "2011": "▁vsak", "2012": "živel", "2013": "▁funkcionira", "2014": "▁internet", "2015": "▁islamsk", "2016": "▁film", "2017": "▁otroci", "2018": "▁prihaja", "2019": "▁političn", "2020": "▁popoln", "2021": "▁Velik", "2022": "▁drugačen", "2023": "▁recimo", "2024": "▁resnic", "2025": "solutno", "2026": "▁Bližn", "2027": "▁Evropsk", "2028": "▁muslimani", "2029": "▁nadzoruje", "2030": "▁socialne", "2031": "▁zgodovin", "2032": "▁človešk", "2033": "▁življenj", "2034": "▁prijatelj", "2035": "▁vendar", "2036": "▁ljudem", "2037": "▁števil", "2038": "▁Sirij", "2039": "<sv-SE>", "2040": "▁att", "2041": "▁och", "2042": "▁är", "2043": "▁för", "2044": "▁här", "2045": "▁jag", "2046": "än", "2047": "▁till", "2048": "▁h", "2049": "▁inte", "2050": "▁Och", "2051": "▁av", "2052": "▁om", "2053": "▁ska", "2054": "▁ut", "2055": "▁ett", "2056": "all", "2057": "▁också", "2058": "▁Jag", "2059": "era", "2060": "pp", "2061": "▁upp", "2062": "▁då", "2063": "▁där", "2064": "▁lite", "2065": "år", "2066": "sam", "2067": "isk", "2068": "het", "2069": "för", "2070": "▁kommer", "2071": "▁vill", "2072": "ör", "2073": "erna", "2074": "ande", "2075": "sätt", "2076": "▁finns", "2077": "▁när", "2078": "▁vara", "2079": "ade", "2080": "sök", "2081": "▁hur", "2082": "▁vad", "2083": "bil", "2084": "▁göra", "2085": "▁får", "2086": "verk", "2087": "▁mycket", "2088": "▁väl", "2089": "kom", "2090": "▁gör", "2091": "▁ni", "2092": "▁bara", "2093": "▁från", "2094": "ställ", "2095": "▁väldigt", "2096": "▁min", "2097": "▁olika", "2098": "▁alla", "2099": "lev", "2100": "▁fram", "2101": "▁kanske", "2102": "▁vår", "2103": "▁tid", "2104": "skap", "2105": "håll", "2106": "▁För", "2107": "▁går", "2108": "▁blir", "2109": "▁under", "2110": "▁lär", "2111": "▁ny", "2112": "▁Då", "2113": "▁börja", "2114": "rätt", "2115": "▁över", "2116": "▁oss", "2117": "▁exempel", "2118": "▁skulle", "2119": "gång", "2120": "▁kunna", "2121": "▁andra", "2122": "▁någon", "2123": "▁jobba", "2124": "land", "2125": "▁något", "2126": "▁behöver", "2127": "▁säga", "2128": "klar", "2129": "▁många", "2130": "▁skriv", "2131": "���använda", "2132": "▁själv", "2133": "▁samma", "2134": "lägg", "2135": "▁måste", "2136": "▁efter", "2137": "text", "2138": "▁prata", "2139": "▁klicka", "2140": "▁hitta", "2141": "▁tror", "2142": "▁någonting", "2143": "fråga", "2144": "▁titta", "2145": "▁tycker", "2146": "▁ganska", "2147": "▁jätte", "2148": "▁Vad", "2149": "▁genom", "2150": "▁även", "2151": "▁tänker", "2152": "arbete", "2153": "▁faktiskt", "2154": "person", "2155": "▁komma", "2156": "bygg", "2157": "<uk-UA>", "2158": "<ar-AR>", "2159": "؟", "2160": "،", "2161": "vy", "2162": "▁byl", "2163": "Ň", "2164": "Ť", "2165": "Ó", "2166": "ær", "2167": "▁blev", "2168": "ft", "2169": "lige", "2170": "ved", "2171": "'", "2172": "Å", "2173": "▁H", "2174": "▁D", "2175": "aus", "2176": "▁N", "2177": "▁Be", "2178": "mm", "2179": "ab", "2180": "▁Er", "2181": "ssen", "2182": "hl", "2183": "hn", "2184": "ischen", "2185": "▁wurde", "2186": "rie", "2187": "lei", "2188": "▁An", "2189": "▁Ein", "2190": "etz", "2191": "rau", "2192": "ische", "2193": "äh", "2194": "▁mein", "2195": "▁So", "2196": "▁hatte", "2197": "▁unter", "2198": "▁Zu", "2199": "▁ihn", "2200": "▁Jahr", "2201": "▁zwei", "2202": "keit", "2203": "▁ihm", "2204": "▁Aus", "2205": "<en-GB>", "2206": "▁you", "2207": "▁that", "2208": "▁and", "2209": "▁can", "2210": "▁it", "2211": "▁your", "2212": "ed", "2213": "▁Okay", "2214": "▁just", "2215": "ay", "2216": "▁Yeah", "2217": "▁with", "2218": "th", "2219": "▁Thank", "2220": "▁thank", "2221": "▁help", "2222": "▁please", "2223": "▁one", "2224": "▁there", "2225": "ic", "2226": "▁much", "2227": "▁what", "2228": "▁my", "2229": "hi", "2230": "▁will", "2231": "▁would", "2232": "▁if", "2233": "▁two", "2234": "▁this", "2235": "▁he", "2236": "▁go", "2237": "▁all", "2238": "▁Oh", "2239": "▁like", "2240": "▁very", "2241": "▁The", "2242": "▁today", "2243": "▁not", "2244": "▁yeah", "2245": "▁take", "2246": "ight", "2247": "ex", "2248": "▁Ok", "2249": "▁seven", "2250": "▁number", "2251": "▁know", "2252": "▁about", "2253": "▁four", "2254": "▁okay", "2255": "▁name", "2256": "▁And", "2257": "▁five", "2258": "▁How", "2259": "▁account", "2260": "▁any", "2261": "▁three", "2262": "▁could", "2263": "▁up", "2264": "▁get", "2265": "▁phone", "2266": "▁great", "2267": "▁six", "2268": "▁eight", "2269": "▁now", "2270": "▁nine", "2271": "▁That", "2272": "▁address", "2273": "▁look", "2274": "▁call", "2275": "ill", "2276": "▁You", "2277": "▁but", "2278": "▁got", "2279": "▁don", "2280": "▁email", "2281": "▁calling", "2282": "▁problem", "2283": "▁right", "2284": "▁good", "2285": "▁well", "2286": "▁out", "2287": "▁What", "2288": "▁how", "2289": "▁really", "2290": "▁anything", "2291": "▁actually", "2292": "▁from", "2293": "▁think", "2294": "▁time", "2295": "▁some", "2296": "▁ask", "2297": "▁else", "2298": "other", "2299": "▁fine", "2300": "able", "2301": "▁Good", "2302": "▁when", "2303": "▁full", "2304": "▁confirm", "2305": "▁give", "2306": "▁more", "2307": "ever", "2308": "▁month", "2309": "▁information", "2310": "▁sure", "2311": "▁survey", "2312": "▁sorry", "2313": "▁send", "2314": "▁through", "2315": "▁check", "2316": "▁long", "2317": "▁birth", "2318": "▁should", "2319": "▁twenty", "2320": "▁make", "2321": "▁zero", "2322": "ful", "2323": "▁store", "2324": "▁policy", "2325": "▁back", "2326": "▁again", "2327": "▁first", "2328": "▁Could", "2329": "▁work", "2330": "▁afternoon", "2331": "▁after", "2332": "▁insurance", "2333": "▁customer", "2334": "▁payment", "2335": "▁question", "2336": "▁receive", "2337": "▁possible", "2338": "▁moment", "2339": "▁system", "2340": "▁change", "2341": "▁hundred", "2342": "▁nineteen", "2343": "<en-US>", "2344": "▁.", "2345": "▁,", "2346": "▁st", "2347": "▁are", "2348": "ow", "2349": "ive", "2350": "ate", "2351": "ad", "2352": "ect", "2353": "▁they", "2354": "▁as", "2355": "ng", "2356": "ity", "2357": "ther", "2358": "act", "2359": "ist", "2360": "▁our", "2361": "▁sp", "2362": "ally", "2363": "▁his", "2364": "▁But", "2365": "▁has", "2366": "▁also", "2367": "▁which", "2368": "▁He", "2369": "▁uh", "2370": "day", "2371": "▁people", "2372": "▁who", "2373": "▁thing", "2374": "▁because", "2375": "▁other", "2376": "ough", "2377": "▁part", "2378": "▁say", "2379": "▁year", "2380": "side", "2381": "\"", "2382": "<es-ES>", "2383": "▁y", "2384": "▁el", "2385": "ción", "2386": "▁Es", "2387": "res", "2388": "▁los", "2389": "▁La", "2390": "dos", "2391": "ía", "2392": "▁El", "2393": "▁las", "2394": "▁más", "2395": "men", "2396": "ño", "2397": "▁esta", "2398": "idad", "2399": "par", "2400": "¿", "2401": "ría", "2402": "▁fue", "2403": "rio", "2404": "enta", "2405": "ón", "2406": "cho", "2407": "ciones", "2408": "ble", "2409": "▁Ca", "2410": "▁muy", "2411": "▁también", "2412": "▁tiene", "2413": "ña", "2414": "▁Su", "2415": "▁pero", "2416": "▁son", "2417": "encia", "2418": "sión", "2419": "▁hay", "2420": "▁puede", "2421": "ncia", "2422": "▁mucho", "2423": "▁Si", "2424": "▁pues", "2425": "miento", "2426": "▁Con", "2427": "ones", "2428": "ecto", "2429": "iendo", "2430": "▁día", "2431": "▁sobre", "2432": "▁primer", "2433": "▁qué", "2434": "▁gusta", "2435": "▁San", "2436": "▁hacer", "2437": "cional", "2438": "▁verdad", "2439": "▁persona", "2440": "▁pasa", "2441": "▁mejor", "2442": "quí", "2443": "▁Fue", "2444": "▁Com", "2445": "▁ciudad", "2446": "Ñ", "2447": "<es-US>", "2448": "cia", "2449": "▁lo", "2450": "▁Y", "2451": "ron", "2452": "les", "2453": "▁mu", "2454": "cio", "2455": "▁yo", "2456": "bu", "2457": "▁sí", "2458": "▁Pero", "2459": "▁así", "2460": "<fr-CA>", "2461": "ré", "2462": "ée", "2463": "▁Les", "2464": "nt", "2465": "our", "2466": "▁Ce", "2467": "com", "2468": "▁Elle", "2469": "▁Cet", "2470": "ux", "2471": "ale", "2472": "ier", "2473": "ction", "2474": "▁cha", "2475": "▁pré", "2476": "▁deux", "2477": "if", "2478": "lé", "2479": "ère", "2480": "ière", "2481": "iste", "2482": "▁parti", "2483": "▁été", "2484": "cette", "2485": "avec", "2486": "▁tou", "2487": "jour", "2488": "app", "2489": "cul", "2490": "▁égale", "2491": "aine", "2492": "gue", "2493": "▁trè", "2494": "▁nombre", "2495": "▁étai", "2496": "tout", "2497": "▁grand", "2498": "▁commun", "2499": "Une", "2500": "œ", "2501": "ï", "2502": "À", "2503": "Œ", "2504": "È", "2505": "ō", "2506": "ÿ", "2507": "Ō", "2508": "Ô", "2509": "Ê", "2510": "Â", "2511": "▁m", "2512": "av", "2513": "ouv", "2514": "êt", "2515": "ois", "2516": "pri", "2517": "voir", "2518": "sion", "2519": "ix", "2520": "ang", "2521": "était", "2522": "ard", "2523": "aient", "2524": "Ć", "2525": "İ", "2526": "Ù", "2527": "Û", "2528": "Ë", "2529": "Ï", "2530": "<he-IL>", "2531": "<hi-IN>", "2532": "।", "2533": "!", "2534": "Ì", "2535": "<ja-JP>", "2536": "▁。", "2537": "▁、", "2538": "▁々", "2539": "〜", "2540": "々", "2541": "?", "2542": "、", "2543": "。", "2544": "<ko-KR>", "2545": "<nb-NO>", "2546": "ene", "2547": "▁ble", "2548": "ikk", "2549": "opp", "2550": "▁Han", "2551": "▁Den", "2552": "unn", "2553": "▁han", "2554": "asjon", "2555": "▁word", "2556": "▁werd", "2557": "<nn-NO>", "2558": "eg", "2559": "▁ikkje", "2560": "▁bok", "2561": "lik", "2562": "▁eit", "2563": "så", "2564": "kk", "2565": "▁nok", "2566": "▁god", "2567": "▁lese", "2568": "dde", "2569": "inga", "2570": "▁denn", "2571": "inn", "2572": "kkje", "2573": "dig", "2574": "tid", "2575": "▁bøke", "2576": "ord", "2577": "▁tru", "2578": "skje", "2579": "▁sei", "2580": "ller", "2581": "▁fle", "2582": "skriv", "2583": "▁heil", "2584": "wy", "2585": "Ś", "2586": "Ł", "2587": "Ź", "2588": "Ż", "2589": "car", "2590": "tão", "2591": "ia", "2592": "▁foi", "2593": "ito", "2594": "ram", "2595": "fa", "2596": "▁meu", "2597": "ça", "2598": "▁dois", "2599": "ação", "2600": "▁ter", "2601": "nça", "2602": "▁compra", "2603": "▁mil", "2604": "▁minha", "2605": "▁passa", "2606": "▁casa", "2607": "Ã", "2608": "·", "2609": "<pt-PT>", "2610": "das", "2611": "▁são", "2612": "▁Pa", "2613": "tura", "2614": "▁ser", "2615": "▁Ele", "2616": "forma", "2617": "▁Esta", "2618": "ões", "2619": "▁pelo", "2620": "tua", "2621": "▁pela", "2622": "mar", "2623": "▁Foi", "2624": "▁foram", "2625": "este", "2626": "▁Um", "2627": "▁São", "2628": "▁entre", "2629": "fun", "2630": "agem", "2631": "gua", "2632": "▁Brasil", "2633": "▁grande", "2634": "icos", "2635": "▁cidade", "2636": "inda", "2637": "▁Este", "2638": "▁maior", "2639": "▁brasileiro", "2640": "▁município", "2641": "▁nome", "2642": "▁encontra", "2643": "ambém", "2644": "▁Sua", "2645": "▁três", "2646": "ska", "2647": "var", "2648": "<th-TH>", "2649": "<tr-TR>", "2650": "ş", "2651": "ğ", "2652": "ya", "2653": "▁ve", "2654": "lar", "2655": "▁bir", "2656": "lı", "2657": "dı", "2658": "ler", "2659": "ye", "2660": "sı", "2661": "ları", "2662": "leri", "2663": "ında", "2664": "tı", "2665": "▁bu", "2666": "lan", "2667": "ara", "2668": "▁Bu", "2669": "inde", "2670": "ını", "2671": "yı", "2672": "yo", "2673": "dü", "2674": "▁olarak", "2675": "▁için", "2676": "maktadır", "2677": "arı", "2678": "▁baş", "2679": "Ş", "2680": "Ğ", "2681": "<zh-CN>", "2682": "⁇", "2683": "A", "2684": ",", "2685": "<vi-VN>", "2686": "▁t", "2687": "▁đ", "2688": "nh", "2689": "▁th", "2690": "▁ch", "2691": "▁nh", "2692": "▁kh", "2693": "▁ng", "2694": "▁g", "2695": "ông", "2696": "▁ph", "2697": "▁r", "2698": "▁gi", "2699": "ời", "2700": "ên", "2701": "▁cá", "2702": "▁và", "2703": "▁có", "2704": "iệ", "2705": "ột", "2706": "▁không", "2707": "ôi", "2708": "iế", "2709": "▁một", "2710": "ới", "2711": "ủa", "2712": "▁của", "2713": "▁x", "2714": "ười", "2715": "ượ", "2716": "ình", "2717": "ất", "2718": "ại", "2719": "uy", "2720": "ày", "2721": "▁người", "2722": "ong", "2723": "anh", "2724": "ược", "2725": "iề", "2726": "▁được", "2727": "▁nó", "2728": "ững", "2729": "▁cho", "2730": "ấy", "2731": "▁như", "2732": "▁ngh", "2733": "▁mà", "2734": "▁tôi", "2735": "ươ", "2736": "ải", "2737": "▁những", "2738": "▁thì", "2739": "ây", "2740": "ao", "2741": "▁đã", "2742": "ần", "2743": "▁cái", "2744": "▁đó", "2745": "▁đi", "2746": "▁với", "2747": "ướ", "2748": "▁trong", "2749": "▁các", "2750": "iều", "2751": "▁này", "2752": "ũng", "2753": "úng", "2754": "ăm", "2755": "ồi", "2756": "ạn", "2757": "▁anh", "2758": "ư", "2759": "ế", "2760": "ạ", "2761": "ộ", "2762": "ờ", "2763": "ả", "2764": "ấ", "2765": "ố", "2766": "ớ", "2767": "ệ", "2768": "ề", "2769": "ể", "2770": "ơ", "2771": "ủ", "2772": "ậ", "2773": "ợ", "2774": "ầ", "2775": "ị", "2776": "ữ", "2777": "ứ", "2778": "ự", "2779": "ọ", "2780": "ồ", "2781": "ở", "2782": "ắ", "2783": "ừ", "2784": "ụ", "2785": "ũ", "2786": "ổ", "2787": "ặ", "2788": "ẽ", "2789": "ằ", "2790": "Đ", "2791": "ỉ", "2792": "ỏ", "2793": "ử", "2794": "ĩ", "2795": "ỗ", "2796": "ẫ", "2797": "ẹ", "2798": "ẩ", "2799": "ễ", "2800": "ẻ", "2801": "ẳ", "2802": "ỹ", "2803": "ỡ", "2804": "ỳ", "2805": "ỷ", "2806": "ẵ", "2807": "Ở", "2808": "ỵ", "2809": "Ấ", "2810": "Ý", "2811": "Ừ", "2812": "Ă", "2813": "Ờ", "2814": "Ả", "2815": "Ồ", "2816": "Ơ", "2817": "Ư", "2818": "Ứ", "2819": "Ố", "2820": "Ớ", "2821": "Ủ", "2822": "Ẩ", "2823": "Ắ", "2824": "Ổ", "2825": "Ỷ", "2826": "Ế", "2827": "Ỳ", "2828": "<blank>"}
manifest.json ADDED
@@ -0,0 +1,600 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "Nemotron 3.5 ASR Streaming Multilingual 0.6B \u2014 CoreML",
3
+ "base_model": "nvidia/nemotron-asr-streaming-multilingual-0.6b",
4
+ "base_model_checkpoint": "2026-05-29 update",
5
+ "architecture": "Conformer encoder + RNN-T decoder",
6
+ "runtime": "CoreML / Apple Neural Engine",
7
+ "benchmark_machine": "Apple M5 Pro / macOS 26.5",
8
+ "benchmark_dataset": "FLEURS test (all languages)",
9
+ "models": {
10
+ "latin": {
11
+ "folder": "latin",
12
+ "vocab_size": 2828,
13
+ "serves": [
14
+ "en",
15
+ "es",
16
+ "fr",
17
+ "it",
18
+ "pt",
19
+ "de"
20
+ ]
21
+ },
22
+ "multilingual": {
23
+ "folder": "multilingual",
24
+ "vocab_size": 13087,
25
+ "serves": [
26
+ "zh",
27
+ "ja",
28
+ "100+ via prompt_id"
29
+ ]
30
+ }
31
+ },
32
+ "recipe": "LAYERPOS [42,13] mixed-precision encoder (INT8 cuff + 6-bit middle) + Latin-script vocab prune (latin model) / full vocab (multilingual) + B1 decoder-joint fusion + triple-stage pipelining. Encoder shared across both models per tier.",
33
+ "no_retraining": true,
34
+ "no_calibration": true,
35
+ "tiers_ms": [
36
+ 560,
37
+ 1120,
38
+ 2240,
39
+ 4480
40
+ ],
41
+ "recommended_tier_ms": 2240,
42
+ "ships": [
43
+ {
44
+ "path": "latin/560ms",
45
+ "model": "latin",
46
+ "languages_served": [
47
+ "en",
48
+ "es",
49
+ "fr",
50
+ "it",
51
+ "pt",
52
+ "de"
53
+ ],
54
+ "chunk_ms": 560,
55
+ "latency_s": 0.56,
56
+ "chunk_mel_frames": 56,
57
+ "total_mel_frames": 65,
58
+ "att_context": [
59
+ 42,
60
+ 13
61
+ ],
62
+ "vocab_size": 2828,
63
+ "vocab_pruned": true,
64
+ "vocab_prune_method": "latin-script (writing-system, domain-general)",
65
+ "components": [
66
+ "decoder",
67
+ "decoder_joint",
68
+ "encoder",
69
+ "joint",
70
+ "preprocessor"
71
+ ],
72
+ "formats": [
73
+ "mlmodelc"
74
+ ],
75
+ "benchmarks": [
76
+ {
77
+ "language_code": "en",
78
+ "rtfx": 57.5,
79
+ "metric": "WER",
80
+ "n": 647,
81
+ "test_set": "FLEURS en_us",
82
+ "wer_pct": 9.43
83
+ },
84
+ {
85
+ "language_code": "es",
86
+ "rtfx": 58.2,
87
+ "metric": "WER",
88
+ "n": 908,
89
+ "test_set": "FLEURS es_419",
90
+ "wer_pct": 4.95
91
+ },
92
+ {
93
+ "language_code": "fr",
94
+ "rtfx": 57.4,
95
+ "metric": "WER",
96
+ "n": 676,
97
+ "test_set": "FLEURS fr_fr",
98
+ "wer_pct": 9.68
99
+ },
100
+ {
101
+ "language_code": "it",
102
+ "rtfx": 59.0,
103
+ "metric": "WER",
104
+ "n": 865,
105
+ "test_set": "FLEURS it_it",
106
+ "wer_pct": 5.68
107
+ },
108
+ {
109
+ "language_code": "pt",
110
+ "rtfx": 58.7,
111
+ "metric": "WER",
112
+ "n": 919,
113
+ "test_set": "FLEURS pt_br",
114
+ "wer_pct": 6.38
115
+ },
116
+ {
117
+ "language_code": "de",
118
+ "rtfx": 58.8,
119
+ "metric": "WER",
120
+ "n": 862,
121
+ "test_set": "FLEURS de_de",
122
+ "wer_pct": 10.83
123
+ }
124
+ ]
125
+ },
126
+ {
127
+ "path": "latin/1120ms",
128
+ "model": "latin",
129
+ "languages_served": [
130
+ "en",
131
+ "es",
132
+ "fr",
133
+ "it",
134
+ "pt",
135
+ "de"
136
+ ],
137
+ "chunk_ms": 1120,
138
+ "latency_s": 1.12,
139
+ "chunk_mel_frames": 112,
140
+ "total_mel_frames": 121,
141
+ "att_context": [
142
+ 42,
143
+ 13
144
+ ],
145
+ "vocab_size": 2828,
146
+ "vocab_pruned": true,
147
+ "vocab_prune_method": "latin-script (writing-system, domain-general)",
148
+ "components": [
149
+ "decoder",
150
+ "decoder_joint",
151
+ "encoder",
152
+ "joint",
153
+ "preprocessor"
154
+ ],
155
+ "formats": [
156
+ "mlmodelc"
157
+ ],
158
+ "benchmarks": [
159
+ {
160
+ "language_code": "en",
161
+ "rtfx": 102.9,
162
+ "metric": "WER",
163
+ "n": 647,
164
+ "test_set": "FLEURS en_us",
165
+ "wer_pct": 8.89
166
+ },
167
+ {
168
+ "language_code": "es",
169
+ "rtfx": 106.5,
170
+ "metric": "WER",
171
+ "n": 908,
172
+ "test_set": "FLEURS es_419",
173
+ "wer_pct": 4.76
174
+ },
175
+ {
176
+ "language_code": "fr",
177
+ "rtfx": 104.7,
178
+ "metric": "WER",
179
+ "n": 676,
180
+ "test_set": "FLEURS fr_fr",
181
+ "wer_pct": 9.44
182
+ },
183
+ {
184
+ "language_code": "it",
185
+ "rtfx": 109.0,
186
+ "metric": "WER",
187
+ "n": 865,
188
+ "test_set": "FLEURS it_it",
189
+ "wer_pct": 5.45
190
+ },
191
+ {
192
+ "language_code": "pt",
193
+ "rtfx": 107.6,
194
+ "metric": "WER",
195
+ "n": 919,
196
+ "test_set": "FLEURS pt_br",
197
+ "wer_pct": 6.11
198
+ },
199
+ {
200
+ "language_code": "de",
201
+ "rtfx": 107.2,
202
+ "metric": "WER",
203
+ "n": 862,
204
+ "test_set": "FLEURS de_de",
205
+ "wer_pct": 9.78
206
+ }
207
+ ]
208
+ },
209
+ {
210
+ "path": "latin/2240ms",
211
+ "model": "latin",
212
+ "languages_served": [
213
+ "en",
214
+ "es",
215
+ "fr",
216
+ "it",
217
+ "pt",
218
+ "de"
219
+ ],
220
+ "chunk_ms": 2240,
221
+ "latency_s": 2.24,
222
+ "chunk_mel_frames": 224,
223
+ "total_mel_frames": 233,
224
+ "att_context": [
225
+ 42,
226
+ 13
227
+ ],
228
+ "vocab_size": 2828,
229
+ "vocab_pruned": true,
230
+ "vocab_prune_method": "latin-script (writing-system, domain-general)",
231
+ "components": [
232
+ "decoder",
233
+ "decoder_joint",
234
+ "encoder",
235
+ "joint",
236
+ "preprocessor"
237
+ ],
238
+ "formats": [
239
+ "mlmodelc"
240
+ ],
241
+ "benchmarks": [
242
+ {
243
+ "language_code": "en",
244
+ "rtfx": 130.2,
245
+ "metric": "WER",
246
+ "n": 647,
247
+ "test_set": "FLEURS en_us",
248
+ "wer_pct": 8.96
249
+ },
250
+ {
251
+ "language_code": "es",
252
+ "rtfx": 139.6,
253
+ "metric": "WER",
254
+ "n": 908,
255
+ "test_set": "FLEURS es_419",
256
+ "wer_pct": 4.8
257
+ },
258
+ {
259
+ "language_code": "fr",
260
+ "rtfx": 130.4,
261
+ "metric": "WER",
262
+ "n": 676,
263
+ "test_set": "FLEURS fr_fr",
264
+ "wer_pct": 9.52
265
+ },
266
+ {
267
+ "language_code": "it",
268
+ "rtfx": 146.7,
269
+ "metric": "WER",
270
+ "n": 865,
271
+ "test_set": "FLEURS it_it",
272
+ "wer_pct": 5.41
273
+ },
274
+ {
275
+ "language_code": "pt",
276
+ "rtfx": 141.0,
277
+ "metric": "WER",
278
+ "n": 919,
279
+ "test_set": "FLEURS pt_br",
280
+ "wer_pct": 6.14
281
+ },
282
+ {
283
+ "language_code": "de",
284
+ "rtfx": 144.4,
285
+ "metric": "WER",
286
+ "n": 862,
287
+ "test_set": "FLEURS de_de",
288
+ "wer_pct": 9.83
289
+ }
290
+ ]
291
+ },
292
+ {
293
+ "path": "latin/4480ms",
294
+ "model": "latin",
295
+ "languages_served": [
296
+ "en",
297
+ "es",
298
+ "fr",
299
+ "it",
300
+ "pt",
301
+ "de"
302
+ ],
303
+ "chunk_ms": 4480,
304
+ "latency_s": 4.48,
305
+ "chunk_mel_frames": 448,
306
+ "total_mel_frames": 457,
307
+ "att_context": [
308
+ 42,
309
+ 13
310
+ ],
311
+ "vocab_size": 2828,
312
+ "vocab_pruned": true,
313
+ "vocab_prune_method": "latin-script (writing-system, domain-general)",
314
+ "components": [
315
+ "decoder",
316
+ "decoder_joint",
317
+ "encoder",
318
+ "joint",
319
+ "preprocessor"
320
+ ],
321
+ "formats": [
322
+ "mlmodelc"
323
+ ],
324
+ "benchmarks": [
325
+ {
326
+ "language_code": "en",
327
+ "rtfx": 122.1,
328
+ "metric": "WER",
329
+ "n": 647,
330
+ "test_set": "FLEURS en_us",
331
+ "wer_pct": 9.02
332
+ },
333
+ {
334
+ "language_code": "es",
335
+ "rtfx": 135.8,
336
+ "metric": "WER",
337
+ "n": 908,
338
+ "test_set": "FLEURS es_419",
339
+ "wer_pct": 4.77
340
+ },
341
+ {
342
+ "language_code": "fr",
343
+ "rtfx": 124.3,
344
+ "metric": "WER",
345
+ "n": 676,
346
+ "test_set": "FLEURS fr_fr",
347
+ "wer_pct": 9.42
348
+ },
349
+ {
350
+ "language_code": "it",
351
+ "rtfx": 150.5,
352
+ "metric": "WER",
353
+ "n": 865,
354
+ "test_set": "FLEURS it_it",
355
+ "wer_pct": 5.4
356
+ },
357
+ {
358
+ "language_code": "pt",
359
+ "rtfx": 141.3,
360
+ "metric": "WER",
361
+ "n": 919,
362
+ "test_set": "FLEURS pt_br",
363
+ "wer_pct": 6.18
364
+ },
365
+ {
366
+ "language_code": "de",
367
+ "rtfx": 141.5,
368
+ "metric": "WER",
369
+ "n": 862,
370
+ "test_set": "FLEURS de_de",
371
+ "wer_pct": 9.83
372
+ }
373
+ ]
374
+ },
375
+ {
376
+ "path": "multilingual/560ms",
377
+ "model": "multilingual",
378
+ "languages_served": [
379
+ "zh",
380
+ "ja",
381
+ "100+ via prompt_id"
382
+ ],
383
+ "chunk_ms": 560,
384
+ "latency_s": 0.56,
385
+ "chunk_mel_frames": 56,
386
+ "total_mel_frames": 65,
387
+ "att_context": [
388
+ 42,
389
+ 13
390
+ ],
391
+ "vocab_size": 13087,
392
+ "vocab_pruned": false,
393
+ "vocab_prune_method": "none (full vocab)",
394
+ "components": [
395
+ "decoder",
396
+ "decoder_joint",
397
+ "encoder",
398
+ "joint",
399
+ "preprocessor"
400
+ ],
401
+ "formats": [
402
+ "mlmodelc"
403
+ ],
404
+ "benchmarks": [
405
+ {
406
+ "language_code": "zh",
407
+ "rtfx": 22.5,
408
+ "metric": "CER",
409
+ "n": 945,
410
+ "test_set": "FLEURS cmn_hans_cn",
411
+ "cer_pct": 19.48
412
+ },
413
+ {
414
+ "language_code": "ja",
415
+ "rtfx": 20.7,
416
+ "metric": "CER",
417
+ "n": 650,
418
+ "test_set": "FLEURS ja_jp",
419
+ "cer_pct": 14.61
420
+ },
421
+ {
422
+ "language_code": "multilingual",
423
+ "rtfx": 23.4,
424
+ "metric": "WER",
425
+ "n": 647,
426
+ "test_set": "FLEURS en_us",
427
+ "wer_pct": 9.15
428
+ }
429
+ ]
430
+ },
431
+ {
432
+ "path": "multilingual/1120ms",
433
+ "model": "multilingual",
434
+ "languages_served": [
435
+ "zh",
436
+ "ja",
437
+ "100+ via prompt_id"
438
+ ],
439
+ "chunk_ms": 1120,
440
+ "latency_s": 1.12,
441
+ "chunk_mel_frames": 112,
442
+ "total_mel_frames": 121,
443
+ "att_context": [
444
+ 42,
445
+ 13
446
+ ],
447
+ "vocab_size": 13087,
448
+ "vocab_pruned": false,
449
+ "vocab_prune_method": "none (full vocab)",
450
+ "components": [
451
+ "decoder",
452
+ "decoder_joint",
453
+ "encoder",
454
+ "joint",
455
+ "preprocessor"
456
+ ],
457
+ "formats": [
458
+ "mlmodelc"
459
+ ],
460
+ "benchmarks": [
461
+ {
462
+ "language_code": "zh",
463
+ "rtfx": 26.6,
464
+ "metric": "CER",
465
+ "n": 945,
466
+ "test_set": "FLEURS cmn_hans_cn",
467
+ "cer_pct": 18.75
468
+ },
469
+ {
470
+ "language_code": "ja",
471
+ "rtfx": 25.9,
472
+ "metric": "CER",
473
+ "n": 650,
474
+ "test_set": "FLEURS ja_jp",
475
+ "cer_pct": 13.77
476
+ },
477
+ {
478
+ "language_code": "multilingual",
479
+ "rtfx": 70.9,
480
+ "metric": "WER",
481
+ "n": 647,
482
+ "test_set": "FLEURS en_us",
483
+ "wer_pct": 8.64
484
+ }
485
+ ]
486
+ },
487
+ {
488
+ "path": "multilingual/2240ms",
489
+ "model": "multilingual",
490
+ "languages_served": [
491
+ "zh",
492
+ "ja",
493
+ "100+ via prompt_id"
494
+ ],
495
+ "chunk_ms": 2240,
496
+ "latency_s": 2.24,
497
+ "chunk_mel_frames": 224,
498
+ "total_mel_frames": 233,
499
+ "att_context": [
500
+ 42,
501
+ 13
502
+ ],
503
+ "vocab_size": 13087,
504
+ "vocab_pruned": false,
505
+ "vocab_prune_method": "none (full vocab)",
506
+ "components": [
507
+ "decoder",
508
+ "decoder_joint",
509
+ "encoder",
510
+ "joint",
511
+ "preprocessor"
512
+ ],
513
+ "formats": [
514
+ "mlmodelc"
515
+ ],
516
+ "benchmarks": [
517
+ {
518
+ "language_code": "zh",
519
+ "rtfx": 89.0,
520
+ "metric": "CER",
521
+ "n": 945,
522
+ "test_set": "FLEURS cmn_hans_cn",
523
+ "cer_pct": 18.57
524
+ },
525
+ {
526
+ "language_code": "ja",
527
+ "rtfx": 84.2,
528
+ "metric": "CER",
529
+ "n": 650,
530
+ "test_set": "FLEURS ja_jp",
531
+ "cer_pct": 13.79
532
+ },
533
+ {
534
+ "language_code": "multilingual",
535
+ "rtfx": 80.4,
536
+ "metric": "WER",
537
+ "n": 647,
538
+ "test_set": "FLEURS en_us",
539
+ "wer_pct": 8.76
540
+ }
541
+ ]
542
+ },
543
+ {
544
+ "path": "multilingual/4480ms",
545
+ "model": "multilingual",
546
+ "languages_served": [
547
+ "zh",
548
+ "ja",
549
+ "100+ via prompt_id"
550
+ ],
551
+ "chunk_ms": 4480,
552
+ "latency_s": 4.48,
553
+ "chunk_mel_frames": 448,
554
+ "total_mel_frames": 457,
555
+ "att_context": [
556
+ 42,
557
+ 13
558
+ ],
559
+ "vocab_size": 13087,
560
+ "vocab_pruned": false,
561
+ "vocab_prune_method": "none (full vocab)",
562
+ "components": [
563
+ "decoder",
564
+ "decoder_joint",
565
+ "encoder",
566
+ "joint",
567
+ "preprocessor"
568
+ ],
569
+ "formats": [
570
+ "mlmodelc"
571
+ ],
572
+ "benchmarks": [
573
+ {
574
+ "language_code": "zh",
575
+ "rtfx": 89.6,
576
+ "metric": "CER",
577
+ "n": 945,
578
+ "test_set": "FLEURS cmn_hans_cn",
579
+ "cer_pct": 18.05
580
+ },
581
+ {
582
+ "language_code": "ja",
583
+ "rtfx": 89.3,
584
+ "metric": "CER",
585
+ "n": 650,
586
+ "test_set": "FLEURS ja_jp",
587
+ "cer_pct": 13.82
588
+ },
589
+ {
590
+ "language_code": "multilingual",
591
+ "rtfx": 78.0,
592
+ "metric": "WER",
593
+ "n": 647,
594
+ "test_set": "FLEURS en_us",
595
+ "wer_pct": 8.78
596
+ }
597
+ ]
598
+ }
599
+ ]
600
+ }
multilingual/1120ms/decoder.mlmodelc/model.mil ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [13088, 640]> module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_8")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_7")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_6")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16752768)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(20029632)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23306496)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_2")];
36
+ tensor<fp16, [1, 1, 640]> input_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_2 = lstm(activation = input_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_lstm_layer_0_cell_activation_0, direction = input_lstm_layer_0_direction_0, initial_c = input_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_lstm_layer_0_output_sequence_0, recurrent_activation = input_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_direction_0 = const()[name = tensor<string, []>("input_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_output_sequence_0 = const()[name = tensor<string, []>("input_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_recurrent_activation_0 = const()[name = tensor<string, []>("input_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_cell_activation_0 = const()[name = tensor<string, []>("input_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_activation_0 = const()[name = tensor<string, []>("input_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23311680)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(26588544)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29865408)))];
49
+ tensor<fp16, [1, 1, 640]> input_cast_fp16_0, tensor<fp16, [1, 640]> input_cast_fp16_1, tensor<fp16, [1, 640]> input_cast_fp16_2 = lstm(activation = input_activation_0, bias = concat_3_to_fp16, cell_activation = input_cell_activation_0, direction = input_direction_0, initial_c = input_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_h0_squeeze_cast_fp16, output_sequence = input_output_sequence_0, recurrent_activation = input_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_lstm_layer_0_cast_fp16_1, input_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_lstm_layer_0_cast_fp16_2, input_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_0_perm_0 = const()[name = tensor<string, []>("transpose_0_perm_0"), val = tensor<int32, [3]>([1, 2, 0])];
57
+ tensor<string, []> transpose_0_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("transpose_0_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
58
+ tensor<fp16, [1, 640, 1]> transpose_0_cast_fp16 = transpose(perm = transpose_0_perm_0, x = input_cast_fp16_0)[name = tensor<string, []>("transpose_1")];
59
+ tensor<fp32, [1, 640, 1]> decoder_out = cast(dtype = transpose_0_cast_fp16_to_fp32_dtype_0, x = transpose_0_cast_fp16)[name = tensor<string, []>("cast_3")];
60
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_4")];
61
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_5")];
62
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
63
+ } -> (decoder_out, h_out, c_out);
64
+ }
multilingual/1120ms/decoder_joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [1, 1024, 1]> encoder, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [13088, 640]> decoder_module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("decoder_module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_9")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = decoder_module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_8")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_7")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_5_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_5_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_5_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_5_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_5_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16752768)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(20029632)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23306496)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_4")];
36
+ tensor<fp16, [1, 1, 640]> input_5_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_2 = lstm(activation = input_5_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_5_lstm_layer_0_cell_activation_0, direction = input_5_lstm_layer_0_direction_0, initial_c = input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_lstm_layer_0_output_sequence_0, recurrent_activation = input_5_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_5_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_5_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_5_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_5_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_5_direction_0 = const()[name = tensor<string, []>("input_5_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_5_output_sequence_0 = const()[name = tensor<string, []>("input_5_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_5_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_5_cell_activation_0 = const()[name = tensor<string, []>("input_5_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_5_activation_0 = const()[name = tensor<string, []>("input_5_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23311680)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(26588544)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29865408)))];
49
+ tensor<fp16, [1, 1, 640]> input_5_cast_fp16_0, tensor<fp16, [1, 640]> input_5_cast_fp16_1, tensor<fp16, [1, 640]> input_5_cast_fp16_2 = lstm(activation = input_5_activation_0, bias = concat_3_to_fp16, cell_activation = input_5_cell_activation_0, direction = input_5_direction_0, initial_c = input_5_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_output_sequence_0, recurrent_activation = input_5_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_5_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_5_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_5_lstm_layer_0_cast_fp16_1, input_5_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_5_lstm_layer_0_cast_fp16_2, input_5_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_1_perm_0 = const()[name = tensor<string, []>("transpose_1_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
57
+ tensor<int32, [3]> input_7_perm_0 = const()[name = tensor<string, []>("input_7_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
58
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
59
+ tensor<fp16, [640, 1024]> joint_module_enc_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29870592)))];
60
+ tensor<fp16, [640]> joint_module_enc_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(31181376)))];
61
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_4")];
62
+ tensor<fp16, [1, 1, 1024]> input_7_cast_fp16 = transpose(perm = input_7_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_2")];
63
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = joint_module_enc_bias_to_fp16, weight = joint_module_enc_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
64
+ tensor<fp16, [640, 640]> joint_module_pred_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(31182720)))];
65
+ tensor<fp16, [640]> joint_module_pred_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(32001984)))];
66
+ tensor<fp16, [1, 1, 640]> transpose_1_cast_fp16 = transpose(perm = transpose_1_perm_0, x = input_5_cast_fp16_0)[name = tensor<string, []>("transpose_3")];
67
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = joint_module_pred_bias_to_fp16, weight = joint_module_pred_weight_to_fp16, x = transpose_1_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
68
+ tensor<int32, [1]> var_79_axes_0 = const()[name = tensor<string, []>("op_79_axes_0"), val = tensor<int32, [1]>([2])];
69
+ tensor<fp16, [1, 1, 1, 640]> var_79_cast_fp16 = expand_dims(axes = var_79_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_79_cast_fp16")];
70
+ tensor<int32, [1]> var_80_axes_0 = const()[name = tensor<string, []>("op_80_axes_0"), val = tensor<int32, [1]>([1])];
71
+ tensor<fp16, [1, 1, 1, 640]> var_80_cast_fp16 = expand_dims(axes = var_80_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_80_cast_fp16")];
72
+ tensor<fp16, [1, 1, 1, 640]> input_11_cast_fp16 = add(x = var_79_cast_fp16, y = var_80_cast_fp16)[name = tensor<string, []>("input_11_cast_fp16")];
73
+ tensor<fp16, [1, 1, 1, 640]> input_13_cast_fp16 = relu(x = input_11_cast_fp16)[name = tensor<string, []>("input_13_cast_fp16")];
74
+ tensor<fp16, [13088, 640]> joint_module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(32003328)))];
75
+ tensor<fp16, [13088]> joint_module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [13088]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(48756032)))];
76
+ tensor<fp16, [1, 1, 1, 13088]> linear_2_cast_fp16 = linear(bias = joint_module_joint_net_2_bias_to_fp16, weight = joint_module_joint_net_2_weight_to_fp16, x = input_13_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
77
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
78
+ tensor<fp32, [1, 1, 1, 13088]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_3")];
79
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_5")];
80
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_6")];
81
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
82
+ } -> (logits, h_out, c_out);
83
+ }
multilingual/1120ms/encoder.mlmodelc/model.mil ADDED
The diff for this file is too large to render. See raw diff
 
multilingual/1120ms/joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, 640, 1]> decoder, tensor<fp32, [1, 1024, 1]> encoder) {
5
+ tensor<int32, [3]> input_1_perm_0 = const()[name = tensor<string, []>("input_1_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
6
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
7
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
8
+ tensor<string, []> decoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("decoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
9
+ tensor<fp16, [640, 1024]> module_enc_weight_to_fp16 = const()[name = tensor<string, []>("module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
10
+ tensor<fp16, [640]> module_enc_bias_to_fp16 = const()[name = tensor<string, []>("module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1310848)))];
11
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_2")];
12
+ tensor<fp16, [1, 1, 1024]> input_1_cast_fp16 = transpose(perm = input_1_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_1")];
13
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = module_enc_bias_to_fp16, weight = module_enc_weight_to_fp16, x = input_1_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
14
+ tensor<fp16, [640, 640]> module_pred_weight_to_fp16 = const()[name = tensor<string, []>("module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1312192)))];
15
+ tensor<fp16, [640]> module_pred_bias_to_fp16 = const()[name = tensor<string, []>("module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2131456)))];
16
+ tensor<fp16, [1, 640, 1]> decoder_to_fp16 = cast(dtype = decoder_to_fp16_dtype_0, x = decoder)[name = tensor<string, []>("cast_1")];
17
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = decoder_to_fp16)[name = tensor<string, []>("transpose_0")];
18
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = module_pred_bias_to_fp16, weight = module_pred_weight_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
19
+ tensor<int32, [1]> var_23_axes_0 = const()[name = tensor<string, []>("op_23_axes_0"), val = tensor<int32, [1]>([2])];
20
+ tensor<fp16, [1, 1, 1, 640]> var_23_cast_fp16 = expand_dims(axes = var_23_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_23_cast_fp16")];
21
+ tensor<int32, [1]> var_25_axes_0 = const()[name = tensor<string, []>("op_25_axes_0"), val = tensor<int32, [1]>([1])];
22
+ tensor<fp16, [1, 1, 1, 640]> var_25_cast_fp16 = expand_dims(axes = var_25_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_25_cast_fp16")];
23
+ tensor<fp16, [1, 1, 1, 640]> input_5_cast_fp16 = add(x = var_23_cast_fp16, y = var_25_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
24
+ tensor<fp16, [1, 1, 1, 640]> input_7_cast_fp16 = relu(x = input_5_cast_fp16)[name = tensor<string, []>("input_7_cast_fp16")];
25
+ tensor<fp16, [13088, 640]> module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2132800)))];
26
+ tensor<fp16, [13088]> module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [13088]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18885504)))];
27
+ tensor<fp16, [1, 1, 1, 13088]> linear_2_cast_fp16 = linear(bias = module_joint_net_2_bias_to_fp16, weight = module_joint_net_2_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
28
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
29
+ tensor<fp32, [1, 1, 1, 13088]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_0")];
30
+ } -> (logits);
31
+ }
multilingual/1120ms/metadata.json ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "nvidia/nemotron-3.5-asr-streaming-0.6b",
3
+ "model_class": "nemo.collections.asr.models.rnnt_bpe_models_prompt.EncDecRNNTBPEModelWithPrompt",
4
+ "sample_rate": 16000,
5
+ "mel_features": 128,
6
+ "chunk_mel_frames": 112,
7
+ "pre_encode_cache": 9,
8
+ "total_mel_frames": 121,
9
+ "att_context_size": [
10
+ 42,
11
+ 13
12
+ ],
13
+ "vocab_size": 13087,
14
+ "blank_idx": 13087,
15
+ "cache_channel_shape": [
16
+ 1,
17
+ 24,
18
+ 42,
19
+ 1024
20
+ ],
21
+ "cache_time_shape": [
22
+ 1,
23
+ 24,
24
+ 1024,
25
+ 8
26
+ ],
27
+ "decoder_hidden": 640,
28
+ "decoder_layers": 2,
29
+ "encoder_dim": 1024,
30
+ "num_prompts": 128,
31
+ "prompt_dictionary": {
32
+ "en-US": 0,
33
+ "en": 0,
34
+ "en-GB": 1,
35
+ "enGB": 1,
36
+ "es-ES": 2,
37
+ "esES": 2,
38
+ "es-US": 3,
39
+ "es": 3,
40
+ "zh-CN": 4,
41
+ "zh-ZH": 4,
42
+ "zh-TW": 5,
43
+ "hi-IN": 6,
44
+ "hi": 6,
45
+ "hi-HI": 6,
46
+ "ar-AR": 7,
47
+ "ar": 7,
48
+ "fr-FR": 8,
49
+ "fr": 8,
50
+ "de-DE": 9,
51
+ "de": 9,
52
+ "ja-JP": 10,
53
+ "ja-JA": 10,
54
+ "ru-RU": 11,
55
+ "ru": 11,
56
+ "pt-BR": 12,
57
+ "pt-PT": 13,
58
+ "pt": 13,
59
+ "ko-KR": 14,
60
+ "ko": 14,
61
+ "ko-KO": 14,
62
+ "it-IT": 15,
63
+ "it": 15,
64
+ "nl-NL": 16,
65
+ "nl": 16,
66
+ "pl-PL": 17,
67
+ "pl": 17,
68
+ "tr-TR": 18,
69
+ "tr": 18,
70
+ "uk-UA": 19,
71
+ "uk": 19,
72
+ "ro-RO": 20,
73
+ "ro": 20,
74
+ "el-GR": 21,
75
+ "el": 21,
76
+ "cs-CZ": 22,
77
+ "cs": 22,
78
+ "hu-HU": 23,
79
+ "hu": 23,
80
+ "sv-SE": 24,
81
+ "sv": 24,
82
+ "da-DK": 25,
83
+ "da": 25,
84
+ "fi-FI": 26,
85
+ "fi": 26,
86
+ "no-NO": 27,
87
+ "no": 27,
88
+ "nb-NO": 103,
89
+ "nb": 103,
90
+ "nn-NO": 104,
91
+ "nn": 104,
92
+ "sk-SK": 28,
93
+ "sk": 28,
94
+ "hr-HR": 29,
95
+ "hr": 29,
96
+ "bg-BG": 30,
97
+ "bg": 30,
98
+ "lt-LT": 31,
99
+ "lt": 31,
100
+ "et-EE": 60,
101
+ "et": 60,
102
+ "lv-LV": 61,
103
+ "lv": 61,
104
+ "sl-SI": 62,
105
+ "sl": 62,
106
+ "th-TH": 32,
107
+ "vi-VN": 33,
108
+ "id-ID": 34,
109
+ "ms-MY": 35,
110
+ "bn-IN": 36,
111
+ "ur-PK": 37,
112
+ "fa-IR": 38,
113
+ "ta-IN": 39,
114
+ "te-IN": 40,
115
+ "mr-IN": 41,
116
+ "gu-IN": 42,
117
+ "kn-IN": 43,
118
+ "ml-IN": 44,
119
+ "si-LK": 45,
120
+ "ne-NP": 46,
121
+ "km-KH": 47,
122
+ "sw-KE": 48,
123
+ "am-ET": 49,
124
+ "ha-NG": 50,
125
+ "zu-ZA": 51,
126
+ "yo-NG": 52,
127
+ "ig-NG": 53,
128
+ "af-ZA": 54,
129
+ "rw-RW": 55,
130
+ "so-SO": 56,
131
+ "ny-MW": 57,
132
+ "ln-CD": 58,
133
+ "or-KE": 59,
134
+ "he-IL": 64,
135
+ "ku-TR": 65,
136
+ "az-AZ": 66,
137
+ "ka-GE": 67,
138
+ "hy-AM": 68,
139
+ "uz-UZ": 69,
140
+ "tg-TJ": 70,
141
+ "ky-KG": 71,
142
+ "qu-PE": 80,
143
+ "ay-BO": 81,
144
+ "gn-PY": 82,
145
+ "nah-MX": 83,
146
+ "mi-NZ": 96,
147
+ "haw-US": 97,
148
+ "sm-WS": 98,
149
+ "to-TO": 99,
150
+ "fr-CA": 100,
151
+ "mt-MT": 102,
152
+ "auto": 101
153
+ },
154
+ "default_prompt_id": 101,
155
+ "lang_tag_token_ids": [
156
+ 1,
157
+ 256,
158
+ 397,
159
+ 518,
160
+ 673,
161
+ 814,
162
+ 907,
163
+ 993,
164
+ 1125,
165
+ 1232,
166
+ 1279,
167
+ 1383,
168
+ 1455,
169
+ 1603,
170
+ 1724,
171
+ 1841,
172
+ 1929,
173
+ 2021,
174
+ 2124,
175
+ 2205,
176
+ 2322,
177
+ 2440,
178
+ 2529,
179
+ 2809,
180
+ 2947,
181
+ 2986,
182
+ 3051,
183
+ 3064,
184
+ 3134,
185
+ 3247,
186
+ 3446,
187
+ 7489,
188
+ 9532,
189
+ 9544,
190
+ 9596,
191
+ 9695,
192
+ 9815,
193
+ 9847,
194
+ 12944
195
+ ]
196
+ }
multilingual/1120ms/preprocessor.mlmodelc/model.mil ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, ?]> audio, tensor<int32, [1]> audio_length) [FlexibleShapeInformation = tuple<tuple<tensor<string, []>, dict<tensor<string, []>, tensor<int32, [?]>>>, tuple<tensor<string, []>, dict<tensor<string, []>, list<tensor<int32, [2]>, ?>>>>((("DefaultShapes", {{"audio", [1, 1]}}), ("RangeDims", {{"audio", [[1, 1], [1, 1280000]]}})))] {
5
+ tensor<int32, []> var_9 = const()[name = tensor<string, []>("op_9"), val = tensor<int32, []>(1)];
6
+ tensor<int32, []> var_10 = const()[name = tensor<string, []>("op_10"), val = tensor<int32, []>(160)];
7
+ tensor<int32, []> var_12 = const()[name = tensor<string, []>("op_12"), val = tensor<int32, []>(0)];
8
+ tensor<int32, []> var_33 = const()[name = tensor<string, []>("op_33"), val = tensor<int32, []>(512)];
9
+ tensor<int32, [1]> var_34 = add(x = audio_length, y = var_33)[name = tensor<string, []>("op_34")];
10
+ tensor<int32, []> var_35 = const()[name = tensor<string, []>("op_35"), val = tensor<int32, []>(512)];
11
+ tensor<int32, [1]> var_36 = sub(x = var_34, y = var_35)[name = tensor<string, []>("op_36")];
12
+ tensor<int32, [1]> floor_div_0 = floor_div(x = var_36, y = var_10)[name = tensor<string, []>("floor_div_0")];
13
+ tensor<bool, [1]> var_39 = equal(x = audio_length, y = var_12)[name = tensor<string, []>("op_39")];
14
+ tensor<int32, [1]> var_40 = const()[name = tensor<string, []>("op_40"), val = tensor<int32, [1]>([0])];
15
+ tensor<int32, [1]> mel_length = select(a = var_40, b = floor_div_0, cond = var_39)[name = tensor<string, []>("seq_len")];
16
+ tensor<string, []> audio_to_fp16_dtype_0 = const()[name = tensor<string, []>("audio_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
17
+ tensor<fp16, [1, ?]> audio_to_fp16 = cast(dtype = audio_to_fp16_dtype_0, x = audio)[name = tensor<string, []>("cast_14")];
18
+ tensor<int32, [2]> var_42_shape_cast_fp16 = shape(x = audio_to_fp16)[name = tensor<string, []>("op_42_shape_cast_fp16")];
19
+ tensor<int32, []> gather_0_axis_0 = const()[name = tensor<string, []>("gather_0_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<int32, []> gather_0_batch_dims_0 = const()[name = tensor<string, []>("gather_0_batch_dims_0"), val = tensor<int32, []>(0)];
21
+ tensor<bool, []> gather_0_validate_indices_0 = const()[name = tensor<string, []>("gather_0_validate_indices_0"), val = tensor<bool, []>(false)];
22
+ tensor<string, []> var_42_shape_cast_fp16_to_int16_dtype_0 = const()[name = tensor<string, []>("op_42_shape_cast_fp16_to_int16_dtype_0"), val = tensor<string, []>("int16")];
23
+ tensor<uint16, []> select_0_to_uint16 = const()[name = tensor<string, []>("select_0_to_uint16"), val = tensor<uint16, []>(1)];
24
+ tensor<int16, [2]> var_42_shape_cast_fp16_to_int16 = cast(dtype = var_42_shape_cast_fp16_to_int16_dtype_0, x = var_42_shape_cast_fp16)[name = tensor<string, []>("cast_13")];
25
+ tensor<int16, []> gather_0_cast_uint16 = gather(axis = gather_0_axis_0, batch_dims = gather_0_batch_dims_0, indices = select_0_to_uint16, validate_indices = gather_0_validate_indices_0, x = var_42_shape_cast_fp16_to_int16)[name = tensor<string, []>("gather_0_cast_uint16")];
26
+ tensor<string, []> gather_0_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_0_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
27
+ tensor<int32, []> const_0 = const()[name = tensor<string, []>("const_0"), val = tensor<int32, []>(0)];
28
+ tensor<int32, []> const_1 = const()[name = tensor<string, []>("const_1"), val = tensor<int32, []>(1)];
29
+ tensor<int32, []> gather_0_cast_uint16_to_int32 = cast(dtype = gather_0_cast_uint16_to_int32_dtype_0, x = gather_0_cast_uint16)[name = tensor<string, []>("cast_12")];
30
+ tensor<int32, [?]> var_43 = range_1d(end = gather_0_cast_uint16_to_int32, start = const_0, step = const_1)[name = tensor<string, []>("op_43")];
31
+ tensor<int32, [1]> var_44_axes_0 = const()[name = tensor<string, []>("op_44_axes_0"), val = tensor<int32, [1]>([0])];
32
+ tensor<int32, [1, ?]> var_44 = expand_dims(axes = var_44_axes_0, x = var_43)[name = tensor<string, []>("op_44")];
33
+ tensor<int32, [1]> var_45_axes_0 = const()[name = tensor<string, []>("op_45_axes_0"), val = tensor<int32, [1]>([1])];
34
+ tensor<int32, [1, 1]> var_45 = expand_dims(axes = var_45_axes_0, x = audio_length)[name = tensor<string, []>("op_45")];
35
+ tensor<bool, [1, ?]> timemask = less(x = var_44, y = var_45)[name = tensor<string, []>("timemask")];
36
+ tensor<int32, [2]> var_48_begin_0 = const()[name = tensor<string, []>("op_48_begin_0"), val = tensor<int32, [2]>([0, 0])];
37
+ tensor<int32, [2]> var_48_end_0 = const()[name = tensor<string, []>("op_48_end_0"), val = tensor<int32, [2]>([1, 1])];
38
+ tensor<bool, [2]> var_48_end_mask_0 = const()[name = tensor<string, []>("op_48_end_mask_0"), val = tensor<bool, [2]>([true, false])];
39
+ tensor<bool, [2]> var_48_squeeze_mask_0 = const()[name = tensor<string, []>("op_48_squeeze_mask_0"), val = tensor<bool, [2]>([false, true])];
40
+ tensor<fp16, [1]> var_48_cast_fp16 = slice_by_index(begin = var_48_begin_0, end = var_48_end_0, end_mask = var_48_end_mask_0, squeeze_mask = var_48_squeeze_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_48_cast_fp16")];
41
+ tensor<int32, [1]> var_49_axes_0 = const()[name = tensor<string, []>("op_49_axes_0"), val = tensor<int32, [1]>([1])];
42
+ tensor<fp16, [1, 1]> var_49_cast_fp16 = expand_dims(axes = var_49_axes_0, x = var_48_cast_fp16)[name = tensor<string, []>("op_49_cast_fp16")];
43
+ tensor<int32, [2]> var_51_begin_0 = const()[name = tensor<string, []>("op_51_begin_0"), val = tensor<int32, [2]>([0, 1])];
44
+ tensor<int32, [2]> var_51_end_0 = const()[name = tensor<string, []>("op_51_end_0"), val = tensor<int32, [2]>([1, 0])];
45
+ tensor<bool, [2]> var_51_end_mask_0 = const()[name = tensor<string, []>("op_51_end_mask_0"), val = tensor<bool, [2]>([true, true])];
46
+ tensor<fp16, [1, ?]> var_51_cast_fp16 = slice_by_index(begin = var_51_begin_0, end = var_51_end_0, end_mask = var_51_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_51_cast_fp16")];
47
+ tensor<int32, [2]> var_53_begin_0 = const()[name = tensor<string, []>("op_53_begin_0"), val = tensor<int32, [2]>([0, 0])];
48
+ tensor<int32, [2]> var_53_end_0 = const()[name = tensor<string, []>("op_53_end_0"), val = tensor<int32, [2]>([1, -1])];
49
+ tensor<bool, [2]> var_53_end_mask_0 = const()[name = tensor<string, []>("op_53_end_mask_0"), val = tensor<bool, [2]>([true, false])];
50
+ tensor<fp16, [1, ?]> var_53_cast_fp16 = slice_by_index(begin = var_53_begin_0, end = var_53_end_0, end_mask = var_53_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_53_cast_fp16")];
51
+ tensor<fp16, []> var_54_to_fp16 = const()[name = tensor<string, []>("op_54_to_fp16"), val = tensor<fp16, []>(0x1.f0cp-1)];
52
+ tensor<fp16, [1, ?]> var_55_cast_fp16 = mul(x = var_53_cast_fp16, y = var_54_to_fp16)[name = tensor<string, []>("op_55_cast_fp16")];
53
+ tensor<fp16, [1, ?]> var_56_cast_fp16 = sub(x = var_51_cast_fp16, y = var_55_cast_fp16)[name = tensor<string, []>("op_56_cast_fp16")];
54
+ tensor<bool, []> x_3_interleave_0 = const()[name = tensor<string, []>("x_3_interleave_0"), val = tensor<bool, []>(false)];
55
+ tensor<fp16, [1, ?]> x_3_cast_fp16 = concat(axis = var_9, interleave = x_3_interleave_0, values = (var_49_cast_fp16, var_56_cast_fp16))[name = tensor<string, []>("x_3_cast_fp16")];
56
+ tensor<bool, [1, ?]> var_59 = logical_not(x = timemask)[name = tensor<string, []>("op_59")];
57
+ tensor<fp16, []> var_16_to_fp16 = const()[name = tensor<string, []>("op_16_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
58
+ tensor<fp16, [1, ?]> input_1_cast_fp16 = select(a = var_16_to_fp16, b = x_3_cast_fp16, cond = var_59)[name = tensor<string, []>("input_1_cast_fp16")];
59
+ tensor<int32, [3]> concat_1x = const()[name = tensor<string, []>("concat_1x"), val = tensor<int32, [3]>([1, 1, -1])];
60
+ tensor<fp16, [1, 1, ?]> input_3_cast_fp16 = reshape(shape = concat_1x, x = input_1_cast_fp16)[name = tensor<string, []>("input_3_cast_fp16")];
61
+ tensor<int32, [6]> input_5_pad_0 = const()[name = tensor<string, []>("input_5_pad_0"), val = tensor<int32, [6]>([0, 0, 0, 0, 256, 256])];
62
+ tensor<string, []> input_5_mode_0 = const()[name = tensor<string, []>("input_5_mode_0"), val = tensor<string, []>("constant")];
63
+ tensor<fp16, []> const_3_to_fp16 = const()[name = tensor<string, []>("const_3_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
64
+ tensor<fp16, [1, 1, ?]> input_5_cast_fp16 = pad(constant_val = const_3_to_fp16, mode = input_5_mode_0, pad = input_5_pad_0, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
65
+ tensor<int32, [2]> concat_2x = const()[name = tensor<string, []>("concat_2x"), val = tensor<int32, [2]>([1, -1])];
66
+ tensor<fp16, [1, ?]> input_cast_fp16 = reshape(shape = concat_2x, x = input_5_cast_fp16)[name = tensor<string, []>("input_cast_fp16")];
67
+ tensor<int32, [1]> expand_dims_3 = const()[name = tensor<string, []>("expand_dims_3"), val = tensor<int32, [1]>([160])];
68
+ tensor<int32, [1]> expand_dims_4_axes_0 = const()[name = tensor<string, []>("expand_dims_4_axes_0"), val = tensor<int32, [1]>([1])];
69
+ tensor<fp16, [1, 1, ?]> expand_dims_4_cast_fp16 = expand_dims(axes = expand_dims_4_axes_0, x = input_cast_fp16)[name = tensor<string, []>("expand_dims_4_cast_fp16")];
70
+ tensor<string, []> conv_0_pad_type_0 = const()[name = tensor<string, []>("conv_0_pad_type_0"), val = tensor<string, []>("valid")];
71
+ tensor<int32, [2]> conv_0_pad_0 = const()[name = tensor<string, []>("conv_0_pad_0"), val = tensor<int32, [2]>([0, 0])];
72
+ tensor<int32, [1]> conv_0_dilations_0 = const()[name = tensor<string, []>("conv_0_dilations_0"), val = tensor<int32, [1]>([1])];
73
+ tensor<int32, []> conv_0_groups_0 = const()[name = tensor<string, []>("conv_0_groups_0"), val = tensor<int32, []>(1)];
74
+ tensor<fp16, [257, 1, 512]> expand_dims_1_to_fp16 = const()[name = tensor<string, []>("expand_dims_1_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
75
+ tensor<fp16, [1, 257, ?]> conv_0_cast_fp16 = conv(dilations = conv_0_dilations_0, groups = conv_0_groups_0, pad = conv_0_pad_0, pad_type = conv_0_pad_type_0, strides = expand_dims_3, weight = expand_dims_1_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_0_cast_fp16")];
76
+ tensor<string, []> conv_1_pad_type_0 = const()[name = tensor<string, []>("conv_1_pad_type_0"), val = tensor<string, []>("valid")];
77
+ tensor<int32, [2]> conv_1_pad_0 = const()[name = tensor<string, []>("conv_1_pad_0"), val = tensor<int32, [2]>([0, 0])];
78
+ tensor<int32, [1]> conv_1_dilations_0 = const()[name = tensor<string, []>("conv_1_dilations_0"), val = tensor<int32, [1]>([1])];
79
+ tensor<int32, []> conv_1_groups_0 = const()[name = tensor<string, []>("conv_1_groups_0"), val = tensor<int32, []>(1)];
80
+ tensor<fp16, [257, 1, 512]> expand_dims_2_to_fp16 = const()[name = tensor<string, []>("expand_dims_2_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(263296)))];
81
+ tensor<fp16, [1, 257, ?]> conv_1_cast_fp16 = conv(dilations = conv_1_dilations_0, groups = conv_1_groups_0, pad = conv_1_pad_0, pad_type = conv_1_pad_type_0, strides = expand_dims_3, weight = expand_dims_2_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_1_cast_fp16")];
82
+ tensor<int32, []> stack_0_axis_0 = const()[name = tensor<string, []>("stack_0_axis_0"), val = tensor<int32, []>(-1)];
83
+ tensor<fp16, [1, 257, ?, 2]> stack_0_cast_fp16 = stack(axis = stack_0_axis_0, values = (conv_0_cast_fp16, conv_1_cast_fp16))[name = tensor<string, []>("stack_0_cast_fp16")];
84
+ tensor<fp16, []> var_19_promoted_to_fp16 = const()[name = tensor<string, []>("op_19_promoted_to_fp16"), val = tensor<fp16, []>(0x1p+1)];
85
+ tensor<fp16, [1, 257, ?, 2]> var_74_cast_fp16 = pow(x = stack_0_cast_fp16, y = var_19_promoted_to_fp16)[name = tensor<string, []>("op_74_cast_fp16")];
86
+ tensor<int32, [1]> var_76_axes_0 = const()[name = tensor<string, []>("op_76_axes_0"), val = tensor<int32, [1]>([-1])];
87
+ tensor<bool, []> var_76_keep_dims_0 = const()[name = tensor<string, []>("op_76_keep_dims_0"), val = tensor<bool, []>(false)];
88
+ tensor<fp16, [1, 257, ?]> var_76_cast_fp16 = reduce_sum(axes = var_76_axes_0, keep_dims = var_76_keep_dims_0, x = var_74_cast_fp16)[name = tensor<string, []>("op_76_cast_fp16")];
89
+ tensor<fp16, [1, 257, ?]> x_11_cast_fp16 = identity(x = var_76_cast_fp16)[name = tensor<string, []>("x_11_cast_fp16")];
90
+ tensor<bool, []> x_13_transpose_x_0 = const()[name = tensor<string, []>("x_13_transpose_x_0"), val = tensor<bool, []>(false)];
91
+ tensor<bool, []> x_13_transpose_y_0 = const()[name = tensor<string, []>("x_13_transpose_y_0"), val = tensor<bool, []>(false)];
92
+ tensor<fp16, [1, 128, 257]> const_4_to_fp16 = const()[name = tensor<string, []>("const_4_to_fp16"), val = tensor<fp16, [1, 128, 257]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(526528)))];
93
+ tensor<fp16, [1, 128, ?]> x_13_cast_fp16 = matmul(transpose_x = x_13_transpose_x_0, transpose_y = x_13_transpose_y_0, x = const_4_to_fp16, y = x_11_cast_fp16)[name = tensor<string, []>("x_13_cast_fp16")];
94
+ tensor<fp16, []> var_83_to_fp16 = const()[name = tensor<string, []>("op_83_to_fp16"), val = tensor<fp16, []>(0x1p-24)];
95
+ tensor<fp16, [1, 128, ?]> var_84_cast_fp16 = add(x = x_13_cast_fp16, y = var_83_to_fp16)[name = tensor<string, []>("op_84_cast_fp16")];
96
+ tensor<fp32, []> x_epsilon_0 = const()[name = tensor<string, []>("x_epsilon_0"), val = tensor<fp32, []>(0x1p-149)];
97
+ tensor<fp16, [1, 128, ?]> x_cast_fp16 = log(epsilon = x_epsilon_0, x = var_84_cast_fp16)[name = tensor<string, []>("x_cast_fp16")];
98
+ tensor<int32, [3]> var_86_shape_cast_fp16 = shape(x = x_cast_fp16)[name = tensor<string, []>("op_86_shape_cast_fp16")];
99
+ tensor<int32, []> gather_5_axis_0 = const()[name = tensor<string, []>("gather_5_axis_0"), val = tensor<int32, []>(0)];
100
+ tensor<int32, []> gather_5_batch_dims_0 = const()[name = tensor<string, []>("gather_5_batch_dims_0"), val = tensor<int32, []>(0)];
101
+ tensor<bool, []> gather_5_validate_indices_0 = const()[name = tensor<string, []>("gather_5_validate_indices_0"), val = tensor<bool, []>(false)];
102
+ tensor<string, []> var_86_shape_cast_fp16_to_uint16_dtype_0 = const()[name = tensor<string, []>("op_86_shape_cast_fp16_to_uint16_dtype_0"), val = tensor<string, []>("uint16")];
103
+ tensor<uint16, []> select_5_to_uint16 = const()[name = tensor<string, []>("select_5_to_uint16"), val = tensor<uint16, []>(2)];
104
+ tensor<uint16, [3]> var_86_shape_cast_fp16_to_uint16 = cast(dtype = var_86_shape_cast_fp16_to_uint16_dtype_0, x = var_86_shape_cast_fp16)[name = tensor<string, []>("cast_11")];
105
+ tensor<uint16, []> gather_5_cast_uint16 = gather(axis = gather_5_axis_0, batch_dims = gather_5_batch_dims_0, indices = select_5_to_uint16, validate_indices = gather_5_validate_indices_0, x = var_86_shape_cast_fp16_to_uint16)[name = tensor<string, []>("gather_5_cast_uint16")];
106
+ tensor<string, []> gather_5_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_5_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
107
+ tensor<int32, []> const_5 = const()[name = tensor<string, []>("const_5"), val = tensor<int32, []>(0)];
108
+ tensor<int32, []> const_6 = const()[name = tensor<string, []>("const_6"), val = tensor<int32, []>(1)];
109
+ tensor<int32, []> gather_5_cast_uint16_to_int32 = cast(dtype = gather_5_cast_uint16_to_int32_dtype_0, x = gather_5_cast_uint16)[name = tensor<string, []>("cast_10")];
110
+ tensor<int32, [?]> mask_1 = range_1d(end = gather_5_cast_uint16_to_int32, start = const_5, step = const_6)[name = tensor<string, []>("mask_1")];
111
+ tensor<int32, [1]> expand_dims_0_axes_0 = const()[name = tensor<string, []>("expand_dims_0_axes_0"), val = tensor<int32, [1]>([0])];
112
+ tensor<int32, [1, ?]> expand_dims_0 = expand_dims(axes = expand_dims_0_axes_0, x = mask_1)[name = tensor<string, []>("expand_dims_0")];
113
+ tensor<int32, [1]> var_91_axes_0 = const()[name = tensor<string, []>("op_91_axes_0"), val = tensor<int32, [1]>([1])];
114
+ tensor<int32, [1, 1]> var_91 = expand_dims(axes = var_91_axes_0, x = mel_length)[name = tensor<string, []>("op_91")];
115
+ tensor<bool, [1, ?]> mask = greater_equal(x = expand_dims_0, y = var_91)[name = tensor<string, []>("mask")];
116
+ tensor<int32, [1]> var_93_axes_0 = const()[name = tensor<string, []>("op_93_axes_0"), val = tensor<int32, [1]>([1])];
117
+ tensor<bool, [1, 1, ?]> var_93 = expand_dims(axes = var_93_axes_0, x = mask)[name = tensor<string, []>("op_93")];
118
+ tensor<fp16, [1, 128, ?]> processed_signal_cast_fp16 = select(a = var_16_to_fp16, b = x_cast_fp16, cond = var_93)[name = tensor<string, []>("processed_signal_cast_fp16")];
119
+ tensor<string, []> processed_signal_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("processed_signal_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
120
+ tensor<fp32, [1, 128, ?]> mel = cast(dtype = processed_signal_cast_fp16_to_fp32_dtype_0, x = processed_signal_cast_fp16)[name = tensor<string, []>("cast_9")];
121
+ } -> (mel, mel_length);
122
+ }
multilingual/1120ms/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
multilingual/2240ms/decoder.mlmodelc/model.mil ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [13088, 640]> module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_8")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_7")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_6")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16752768)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(20029632)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23306496)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_2")];
36
+ tensor<fp16, [1, 1, 640]> input_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_2 = lstm(activation = input_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_lstm_layer_0_cell_activation_0, direction = input_lstm_layer_0_direction_0, initial_c = input_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_lstm_layer_0_output_sequence_0, recurrent_activation = input_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_direction_0 = const()[name = tensor<string, []>("input_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_output_sequence_0 = const()[name = tensor<string, []>("input_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_recurrent_activation_0 = const()[name = tensor<string, []>("input_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_cell_activation_0 = const()[name = tensor<string, []>("input_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_activation_0 = const()[name = tensor<string, []>("input_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23311680)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(26588544)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29865408)))];
49
+ tensor<fp16, [1, 1, 640]> input_cast_fp16_0, tensor<fp16, [1, 640]> input_cast_fp16_1, tensor<fp16, [1, 640]> input_cast_fp16_2 = lstm(activation = input_activation_0, bias = concat_3_to_fp16, cell_activation = input_cell_activation_0, direction = input_direction_0, initial_c = input_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_h0_squeeze_cast_fp16, output_sequence = input_output_sequence_0, recurrent_activation = input_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_lstm_layer_0_cast_fp16_1, input_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_lstm_layer_0_cast_fp16_2, input_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_0_perm_0 = const()[name = tensor<string, []>("transpose_0_perm_0"), val = tensor<int32, [3]>([1, 2, 0])];
57
+ tensor<string, []> transpose_0_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("transpose_0_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
58
+ tensor<fp16, [1, 640, 1]> transpose_0_cast_fp16 = transpose(perm = transpose_0_perm_0, x = input_cast_fp16_0)[name = tensor<string, []>("transpose_1")];
59
+ tensor<fp32, [1, 640, 1]> decoder_out = cast(dtype = transpose_0_cast_fp16_to_fp32_dtype_0, x = transpose_0_cast_fp16)[name = tensor<string, []>("cast_3")];
60
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_4")];
61
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_5")];
62
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
63
+ } -> (decoder_out, h_out, c_out);
64
+ }
multilingual/2240ms/decoder_joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [1, 1024, 1]> encoder, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [13088, 640]> decoder_module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("decoder_module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_9")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = decoder_module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_8")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_7")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_5_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_5_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_5_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_5_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_5_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16752768)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(20029632)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23306496)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_4")];
36
+ tensor<fp16, [1, 1, 640]> input_5_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_2 = lstm(activation = input_5_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_5_lstm_layer_0_cell_activation_0, direction = input_5_lstm_layer_0_direction_0, initial_c = input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_lstm_layer_0_output_sequence_0, recurrent_activation = input_5_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_5_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_5_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_5_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_5_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_5_direction_0 = const()[name = tensor<string, []>("input_5_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_5_output_sequence_0 = const()[name = tensor<string, []>("input_5_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_5_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_5_cell_activation_0 = const()[name = tensor<string, []>("input_5_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_5_activation_0 = const()[name = tensor<string, []>("input_5_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23311680)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(26588544)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29865408)))];
49
+ tensor<fp16, [1, 1, 640]> input_5_cast_fp16_0, tensor<fp16, [1, 640]> input_5_cast_fp16_1, tensor<fp16, [1, 640]> input_5_cast_fp16_2 = lstm(activation = input_5_activation_0, bias = concat_3_to_fp16, cell_activation = input_5_cell_activation_0, direction = input_5_direction_0, initial_c = input_5_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_output_sequence_0, recurrent_activation = input_5_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_5_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_5_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_5_lstm_layer_0_cast_fp16_1, input_5_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_5_lstm_layer_0_cast_fp16_2, input_5_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_1_perm_0 = const()[name = tensor<string, []>("transpose_1_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
57
+ tensor<int32, [3]> input_7_perm_0 = const()[name = tensor<string, []>("input_7_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
58
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
59
+ tensor<fp16, [640, 1024]> joint_module_enc_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29870592)))];
60
+ tensor<fp16, [640]> joint_module_enc_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(31181376)))];
61
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_4")];
62
+ tensor<fp16, [1, 1, 1024]> input_7_cast_fp16 = transpose(perm = input_7_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_2")];
63
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = joint_module_enc_bias_to_fp16, weight = joint_module_enc_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
64
+ tensor<fp16, [640, 640]> joint_module_pred_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(31182720)))];
65
+ tensor<fp16, [640]> joint_module_pred_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(32001984)))];
66
+ tensor<fp16, [1, 1, 640]> transpose_1_cast_fp16 = transpose(perm = transpose_1_perm_0, x = input_5_cast_fp16_0)[name = tensor<string, []>("transpose_3")];
67
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = joint_module_pred_bias_to_fp16, weight = joint_module_pred_weight_to_fp16, x = transpose_1_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
68
+ tensor<int32, [1]> var_79_axes_0 = const()[name = tensor<string, []>("op_79_axes_0"), val = tensor<int32, [1]>([2])];
69
+ tensor<fp16, [1, 1, 1, 640]> var_79_cast_fp16 = expand_dims(axes = var_79_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_79_cast_fp16")];
70
+ tensor<int32, [1]> var_80_axes_0 = const()[name = tensor<string, []>("op_80_axes_0"), val = tensor<int32, [1]>([1])];
71
+ tensor<fp16, [1, 1, 1, 640]> var_80_cast_fp16 = expand_dims(axes = var_80_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_80_cast_fp16")];
72
+ tensor<fp16, [1, 1, 1, 640]> input_11_cast_fp16 = add(x = var_79_cast_fp16, y = var_80_cast_fp16)[name = tensor<string, []>("input_11_cast_fp16")];
73
+ tensor<fp16, [1, 1, 1, 640]> input_13_cast_fp16 = relu(x = input_11_cast_fp16)[name = tensor<string, []>("input_13_cast_fp16")];
74
+ tensor<fp16, [13088, 640]> joint_module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(32003328)))];
75
+ tensor<fp16, [13088]> joint_module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [13088]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(48756032)))];
76
+ tensor<fp16, [1, 1, 1, 13088]> linear_2_cast_fp16 = linear(bias = joint_module_joint_net_2_bias_to_fp16, weight = joint_module_joint_net_2_weight_to_fp16, x = input_13_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
77
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
78
+ tensor<fp32, [1, 1, 1, 13088]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_3")];
79
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_5")];
80
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_6")];
81
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
82
+ } -> (logits, h_out, c_out);
83
+ }
multilingual/2240ms/encoder.mlmodelc/model.mil ADDED
The diff for this file is too large to render. See raw diff
 
multilingual/2240ms/joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, 640, 1]> decoder, tensor<fp32, [1, 1024, 1]> encoder) {
5
+ tensor<int32, [3]> input_1_perm_0 = const()[name = tensor<string, []>("input_1_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
6
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
7
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
8
+ tensor<string, []> decoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("decoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
9
+ tensor<fp16, [640, 1024]> module_enc_weight_to_fp16 = const()[name = tensor<string, []>("module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
10
+ tensor<fp16, [640]> module_enc_bias_to_fp16 = const()[name = tensor<string, []>("module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1310848)))];
11
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_2")];
12
+ tensor<fp16, [1, 1, 1024]> input_1_cast_fp16 = transpose(perm = input_1_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_1")];
13
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = module_enc_bias_to_fp16, weight = module_enc_weight_to_fp16, x = input_1_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
14
+ tensor<fp16, [640, 640]> module_pred_weight_to_fp16 = const()[name = tensor<string, []>("module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1312192)))];
15
+ tensor<fp16, [640]> module_pred_bias_to_fp16 = const()[name = tensor<string, []>("module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2131456)))];
16
+ tensor<fp16, [1, 640, 1]> decoder_to_fp16 = cast(dtype = decoder_to_fp16_dtype_0, x = decoder)[name = tensor<string, []>("cast_1")];
17
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = decoder_to_fp16)[name = tensor<string, []>("transpose_0")];
18
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = module_pred_bias_to_fp16, weight = module_pred_weight_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
19
+ tensor<int32, [1]> var_23_axes_0 = const()[name = tensor<string, []>("op_23_axes_0"), val = tensor<int32, [1]>([2])];
20
+ tensor<fp16, [1, 1, 1, 640]> var_23_cast_fp16 = expand_dims(axes = var_23_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_23_cast_fp16")];
21
+ tensor<int32, [1]> var_25_axes_0 = const()[name = tensor<string, []>("op_25_axes_0"), val = tensor<int32, [1]>([1])];
22
+ tensor<fp16, [1, 1, 1, 640]> var_25_cast_fp16 = expand_dims(axes = var_25_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_25_cast_fp16")];
23
+ tensor<fp16, [1, 1, 1, 640]> input_5_cast_fp16 = add(x = var_23_cast_fp16, y = var_25_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
24
+ tensor<fp16, [1, 1, 1, 640]> input_7_cast_fp16 = relu(x = input_5_cast_fp16)[name = tensor<string, []>("input_7_cast_fp16")];
25
+ tensor<fp16, [13088, 640]> module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2132800)))];
26
+ tensor<fp16, [13088]> module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [13088]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18885504)))];
27
+ tensor<fp16, [1, 1, 1, 13088]> linear_2_cast_fp16 = linear(bias = module_joint_net_2_bias_to_fp16, weight = module_joint_net_2_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
28
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
29
+ tensor<fp32, [1, 1, 1, 13088]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_0")];
30
+ } -> (logits);
31
+ }
multilingual/2240ms/metadata.json ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "nvidia/nemotron-3.5-asr-streaming-0.6b",
3
+ "model_class": "nemo.collections.asr.models.rnnt_bpe_models_prompt.EncDecRNNTBPEModelWithPrompt",
4
+ "sample_rate": 16000,
5
+ "mel_features": 128,
6
+ "chunk_mel_frames": 224,
7
+ "pre_encode_cache": 9,
8
+ "total_mel_frames": 233,
9
+ "att_context_size": [
10
+ 42,
11
+ 13
12
+ ],
13
+ "vocab_size": 13087,
14
+ "blank_idx": 13087,
15
+ "cache_channel_shape": [
16
+ 1,
17
+ 24,
18
+ 42,
19
+ 1024
20
+ ],
21
+ "cache_time_shape": [
22
+ 1,
23
+ 24,
24
+ 1024,
25
+ 8
26
+ ],
27
+ "decoder_hidden": 640,
28
+ "decoder_layers": 2,
29
+ "encoder_dim": 1024,
30
+ "num_prompts": 128,
31
+ "prompt_dictionary": {
32
+ "en-US": 0,
33
+ "en": 0,
34
+ "en-GB": 1,
35
+ "enGB": 1,
36
+ "es-ES": 2,
37
+ "esES": 2,
38
+ "es-US": 3,
39
+ "es": 3,
40
+ "zh-CN": 4,
41
+ "zh-ZH": 4,
42
+ "zh-TW": 5,
43
+ "hi-IN": 6,
44
+ "hi": 6,
45
+ "hi-HI": 6,
46
+ "ar-AR": 7,
47
+ "ar": 7,
48
+ "fr-FR": 8,
49
+ "fr": 8,
50
+ "de-DE": 9,
51
+ "de": 9,
52
+ "ja-JP": 10,
53
+ "ja-JA": 10,
54
+ "ru-RU": 11,
55
+ "ru": 11,
56
+ "pt-BR": 12,
57
+ "pt-PT": 13,
58
+ "pt": 13,
59
+ "ko-KR": 14,
60
+ "ko": 14,
61
+ "ko-KO": 14,
62
+ "it-IT": 15,
63
+ "it": 15,
64
+ "nl-NL": 16,
65
+ "nl": 16,
66
+ "pl-PL": 17,
67
+ "pl": 17,
68
+ "tr-TR": 18,
69
+ "tr": 18,
70
+ "uk-UA": 19,
71
+ "uk": 19,
72
+ "ro-RO": 20,
73
+ "ro": 20,
74
+ "el-GR": 21,
75
+ "el": 21,
76
+ "cs-CZ": 22,
77
+ "cs": 22,
78
+ "hu-HU": 23,
79
+ "hu": 23,
80
+ "sv-SE": 24,
81
+ "sv": 24,
82
+ "da-DK": 25,
83
+ "da": 25,
84
+ "fi-FI": 26,
85
+ "fi": 26,
86
+ "no-NO": 27,
87
+ "no": 27,
88
+ "nb-NO": 103,
89
+ "nb": 103,
90
+ "nn-NO": 104,
91
+ "nn": 104,
92
+ "sk-SK": 28,
93
+ "sk": 28,
94
+ "hr-HR": 29,
95
+ "hr": 29,
96
+ "bg-BG": 30,
97
+ "bg": 30,
98
+ "lt-LT": 31,
99
+ "lt": 31,
100
+ "et-EE": 60,
101
+ "et": 60,
102
+ "lv-LV": 61,
103
+ "lv": 61,
104
+ "sl-SI": 62,
105
+ "sl": 62,
106
+ "th-TH": 32,
107
+ "vi-VN": 33,
108
+ "id-ID": 34,
109
+ "ms-MY": 35,
110
+ "bn-IN": 36,
111
+ "ur-PK": 37,
112
+ "fa-IR": 38,
113
+ "ta-IN": 39,
114
+ "te-IN": 40,
115
+ "mr-IN": 41,
116
+ "gu-IN": 42,
117
+ "kn-IN": 43,
118
+ "ml-IN": 44,
119
+ "si-LK": 45,
120
+ "ne-NP": 46,
121
+ "km-KH": 47,
122
+ "sw-KE": 48,
123
+ "am-ET": 49,
124
+ "ha-NG": 50,
125
+ "zu-ZA": 51,
126
+ "yo-NG": 52,
127
+ "ig-NG": 53,
128
+ "af-ZA": 54,
129
+ "rw-RW": 55,
130
+ "so-SO": 56,
131
+ "ny-MW": 57,
132
+ "ln-CD": 58,
133
+ "or-KE": 59,
134
+ "he-IL": 64,
135
+ "ku-TR": 65,
136
+ "az-AZ": 66,
137
+ "ka-GE": 67,
138
+ "hy-AM": 68,
139
+ "uz-UZ": 69,
140
+ "tg-TJ": 70,
141
+ "ky-KG": 71,
142
+ "qu-PE": 80,
143
+ "ay-BO": 81,
144
+ "gn-PY": 82,
145
+ "nah-MX": 83,
146
+ "mi-NZ": 96,
147
+ "haw-US": 97,
148
+ "sm-WS": 98,
149
+ "to-TO": 99,
150
+ "fr-CA": 100,
151
+ "mt-MT": 102,
152
+ "auto": 101
153
+ },
154
+ "default_prompt_id": 101,
155
+ "lang_tag_token_ids": [
156
+ 1,
157
+ 256,
158
+ 397,
159
+ 518,
160
+ 673,
161
+ 814,
162
+ 907,
163
+ 993,
164
+ 1125,
165
+ 1232,
166
+ 1279,
167
+ 1383,
168
+ 1455,
169
+ 1603,
170
+ 1724,
171
+ 1841,
172
+ 1929,
173
+ 2021,
174
+ 2124,
175
+ 2205,
176
+ 2322,
177
+ 2440,
178
+ 2529,
179
+ 2809,
180
+ 2947,
181
+ 2986,
182
+ 3051,
183
+ 3064,
184
+ 3134,
185
+ 3247,
186
+ 3446,
187
+ 7489,
188
+ 9532,
189
+ 9544,
190
+ 9596,
191
+ 9695,
192
+ 9815,
193
+ 9847,
194
+ 12944
195
+ ]
196
+ }
multilingual/2240ms/preprocessor.mlmodelc/model.mil ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, ?]> audio, tensor<int32, [1]> audio_length) [FlexibleShapeInformation = tuple<tuple<tensor<string, []>, dict<tensor<string, []>, tensor<int32, [?]>>>, tuple<tensor<string, []>, dict<tensor<string, []>, list<tensor<int32, [2]>, ?>>>>((("DefaultShapes", {{"audio", [1, 1]}}), ("RangeDims", {{"audio", [[1, 1], [1, 1280000]]}})))] {
5
+ tensor<int32, []> var_9 = const()[name = tensor<string, []>("op_9"), val = tensor<int32, []>(1)];
6
+ tensor<int32, []> var_10 = const()[name = tensor<string, []>("op_10"), val = tensor<int32, []>(160)];
7
+ tensor<int32, []> var_12 = const()[name = tensor<string, []>("op_12"), val = tensor<int32, []>(0)];
8
+ tensor<int32, []> var_33 = const()[name = tensor<string, []>("op_33"), val = tensor<int32, []>(512)];
9
+ tensor<int32, [1]> var_34 = add(x = audio_length, y = var_33)[name = tensor<string, []>("op_34")];
10
+ tensor<int32, []> var_35 = const()[name = tensor<string, []>("op_35"), val = tensor<int32, []>(512)];
11
+ tensor<int32, [1]> var_36 = sub(x = var_34, y = var_35)[name = tensor<string, []>("op_36")];
12
+ tensor<int32, [1]> floor_div_0 = floor_div(x = var_36, y = var_10)[name = tensor<string, []>("floor_div_0")];
13
+ tensor<bool, [1]> var_39 = equal(x = audio_length, y = var_12)[name = tensor<string, []>("op_39")];
14
+ tensor<int32, [1]> var_40 = const()[name = tensor<string, []>("op_40"), val = tensor<int32, [1]>([0])];
15
+ tensor<int32, [1]> mel_length = select(a = var_40, b = floor_div_0, cond = var_39)[name = tensor<string, []>("seq_len")];
16
+ tensor<string, []> audio_to_fp16_dtype_0 = const()[name = tensor<string, []>("audio_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
17
+ tensor<fp16, [1, ?]> audio_to_fp16 = cast(dtype = audio_to_fp16_dtype_0, x = audio)[name = tensor<string, []>("cast_14")];
18
+ tensor<int32, [2]> var_42_shape_cast_fp16 = shape(x = audio_to_fp16)[name = tensor<string, []>("op_42_shape_cast_fp16")];
19
+ tensor<int32, []> gather_0_axis_0 = const()[name = tensor<string, []>("gather_0_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<int32, []> gather_0_batch_dims_0 = const()[name = tensor<string, []>("gather_0_batch_dims_0"), val = tensor<int32, []>(0)];
21
+ tensor<bool, []> gather_0_validate_indices_0 = const()[name = tensor<string, []>("gather_0_validate_indices_0"), val = tensor<bool, []>(false)];
22
+ tensor<string, []> var_42_shape_cast_fp16_to_int16_dtype_0 = const()[name = tensor<string, []>("op_42_shape_cast_fp16_to_int16_dtype_0"), val = tensor<string, []>("int16")];
23
+ tensor<uint16, []> select_0_to_uint16 = const()[name = tensor<string, []>("select_0_to_uint16"), val = tensor<uint16, []>(1)];
24
+ tensor<int16, [2]> var_42_shape_cast_fp16_to_int16 = cast(dtype = var_42_shape_cast_fp16_to_int16_dtype_0, x = var_42_shape_cast_fp16)[name = tensor<string, []>("cast_13")];
25
+ tensor<int16, []> gather_0_cast_uint16 = gather(axis = gather_0_axis_0, batch_dims = gather_0_batch_dims_0, indices = select_0_to_uint16, validate_indices = gather_0_validate_indices_0, x = var_42_shape_cast_fp16_to_int16)[name = tensor<string, []>("gather_0_cast_uint16")];
26
+ tensor<string, []> gather_0_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_0_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
27
+ tensor<int32, []> const_0 = const()[name = tensor<string, []>("const_0"), val = tensor<int32, []>(0)];
28
+ tensor<int32, []> const_1 = const()[name = tensor<string, []>("const_1"), val = tensor<int32, []>(1)];
29
+ tensor<int32, []> gather_0_cast_uint16_to_int32 = cast(dtype = gather_0_cast_uint16_to_int32_dtype_0, x = gather_0_cast_uint16)[name = tensor<string, []>("cast_12")];
30
+ tensor<int32, [?]> var_43 = range_1d(end = gather_0_cast_uint16_to_int32, start = const_0, step = const_1)[name = tensor<string, []>("op_43")];
31
+ tensor<int32, [1]> var_44_axes_0 = const()[name = tensor<string, []>("op_44_axes_0"), val = tensor<int32, [1]>([0])];
32
+ tensor<int32, [1, ?]> var_44 = expand_dims(axes = var_44_axes_0, x = var_43)[name = tensor<string, []>("op_44")];
33
+ tensor<int32, [1]> var_45_axes_0 = const()[name = tensor<string, []>("op_45_axes_0"), val = tensor<int32, [1]>([1])];
34
+ tensor<int32, [1, 1]> var_45 = expand_dims(axes = var_45_axes_0, x = audio_length)[name = tensor<string, []>("op_45")];
35
+ tensor<bool, [1, ?]> timemask = less(x = var_44, y = var_45)[name = tensor<string, []>("timemask")];
36
+ tensor<int32, [2]> var_48_begin_0 = const()[name = tensor<string, []>("op_48_begin_0"), val = tensor<int32, [2]>([0, 0])];
37
+ tensor<int32, [2]> var_48_end_0 = const()[name = tensor<string, []>("op_48_end_0"), val = tensor<int32, [2]>([1, 1])];
38
+ tensor<bool, [2]> var_48_end_mask_0 = const()[name = tensor<string, []>("op_48_end_mask_0"), val = tensor<bool, [2]>([true, false])];
39
+ tensor<bool, [2]> var_48_squeeze_mask_0 = const()[name = tensor<string, []>("op_48_squeeze_mask_0"), val = tensor<bool, [2]>([false, true])];
40
+ tensor<fp16, [1]> var_48_cast_fp16 = slice_by_index(begin = var_48_begin_0, end = var_48_end_0, end_mask = var_48_end_mask_0, squeeze_mask = var_48_squeeze_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_48_cast_fp16")];
41
+ tensor<int32, [1]> var_49_axes_0 = const()[name = tensor<string, []>("op_49_axes_0"), val = tensor<int32, [1]>([1])];
42
+ tensor<fp16, [1, 1]> var_49_cast_fp16 = expand_dims(axes = var_49_axes_0, x = var_48_cast_fp16)[name = tensor<string, []>("op_49_cast_fp16")];
43
+ tensor<int32, [2]> var_51_begin_0 = const()[name = tensor<string, []>("op_51_begin_0"), val = tensor<int32, [2]>([0, 1])];
44
+ tensor<int32, [2]> var_51_end_0 = const()[name = tensor<string, []>("op_51_end_0"), val = tensor<int32, [2]>([1, 0])];
45
+ tensor<bool, [2]> var_51_end_mask_0 = const()[name = tensor<string, []>("op_51_end_mask_0"), val = tensor<bool, [2]>([true, true])];
46
+ tensor<fp16, [1, ?]> var_51_cast_fp16 = slice_by_index(begin = var_51_begin_0, end = var_51_end_0, end_mask = var_51_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_51_cast_fp16")];
47
+ tensor<int32, [2]> var_53_begin_0 = const()[name = tensor<string, []>("op_53_begin_0"), val = tensor<int32, [2]>([0, 0])];
48
+ tensor<int32, [2]> var_53_end_0 = const()[name = tensor<string, []>("op_53_end_0"), val = tensor<int32, [2]>([1, -1])];
49
+ tensor<bool, [2]> var_53_end_mask_0 = const()[name = tensor<string, []>("op_53_end_mask_0"), val = tensor<bool, [2]>([true, false])];
50
+ tensor<fp16, [1, ?]> var_53_cast_fp16 = slice_by_index(begin = var_53_begin_0, end = var_53_end_0, end_mask = var_53_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_53_cast_fp16")];
51
+ tensor<fp16, []> var_54_to_fp16 = const()[name = tensor<string, []>("op_54_to_fp16"), val = tensor<fp16, []>(0x1.f0cp-1)];
52
+ tensor<fp16, [1, ?]> var_55_cast_fp16 = mul(x = var_53_cast_fp16, y = var_54_to_fp16)[name = tensor<string, []>("op_55_cast_fp16")];
53
+ tensor<fp16, [1, ?]> var_56_cast_fp16 = sub(x = var_51_cast_fp16, y = var_55_cast_fp16)[name = tensor<string, []>("op_56_cast_fp16")];
54
+ tensor<bool, []> x_3_interleave_0 = const()[name = tensor<string, []>("x_3_interleave_0"), val = tensor<bool, []>(false)];
55
+ tensor<fp16, [1, ?]> x_3_cast_fp16 = concat(axis = var_9, interleave = x_3_interleave_0, values = (var_49_cast_fp16, var_56_cast_fp16))[name = tensor<string, []>("x_3_cast_fp16")];
56
+ tensor<bool, [1, ?]> var_59 = logical_not(x = timemask)[name = tensor<string, []>("op_59")];
57
+ tensor<fp16, []> var_16_to_fp16 = const()[name = tensor<string, []>("op_16_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
58
+ tensor<fp16, [1, ?]> input_1_cast_fp16 = select(a = var_16_to_fp16, b = x_3_cast_fp16, cond = var_59)[name = tensor<string, []>("input_1_cast_fp16")];
59
+ tensor<int32, [3]> concat_1x = const()[name = tensor<string, []>("concat_1x"), val = tensor<int32, [3]>([1, 1, -1])];
60
+ tensor<fp16, [1, 1, ?]> input_3_cast_fp16 = reshape(shape = concat_1x, x = input_1_cast_fp16)[name = tensor<string, []>("input_3_cast_fp16")];
61
+ tensor<int32, [6]> input_5_pad_0 = const()[name = tensor<string, []>("input_5_pad_0"), val = tensor<int32, [6]>([0, 0, 0, 0, 256, 256])];
62
+ tensor<string, []> input_5_mode_0 = const()[name = tensor<string, []>("input_5_mode_0"), val = tensor<string, []>("constant")];
63
+ tensor<fp16, []> const_3_to_fp16 = const()[name = tensor<string, []>("const_3_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
64
+ tensor<fp16, [1, 1, ?]> input_5_cast_fp16 = pad(constant_val = const_3_to_fp16, mode = input_5_mode_0, pad = input_5_pad_0, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
65
+ tensor<int32, [2]> concat_2x = const()[name = tensor<string, []>("concat_2x"), val = tensor<int32, [2]>([1, -1])];
66
+ tensor<fp16, [1, ?]> input_cast_fp16 = reshape(shape = concat_2x, x = input_5_cast_fp16)[name = tensor<string, []>("input_cast_fp16")];
67
+ tensor<int32, [1]> expand_dims_3 = const()[name = tensor<string, []>("expand_dims_3"), val = tensor<int32, [1]>([160])];
68
+ tensor<int32, [1]> expand_dims_4_axes_0 = const()[name = tensor<string, []>("expand_dims_4_axes_0"), val = tensor<int32, [1]>([1])];
69
+ tensor<fp16, [1, 1, ?]> expand_dims_4_cast_fp16 = expand_dims(axes = expand_dims_4_axes_0, x = input_cast_fp16)[name = tensor<string, []>("expand_dims_4_cast_fp16")];
70
+ tensor<string, []> conv_0_pad_type_0 = const()[name = tensor<string, []>("conv_0_pad_type_0"), val = tensor<string, []>("valid")];
71
+ tensor<int32, [2]> conv_0_pad_0 = const()[name = tensor<string, []>("conv_0_pad_0"), val = tensor<int32, [2]>([0, 0])];
72
+ tensor<int32, [1]> conv_0_dilations_0 = const()[name = tensor<string, []>("conv_0_dilations_0"), val = tensor<int32, [1]>([1])];
73
+ tensor<int32, []> conv_0_groups_0 = const()[name = tensor<string, []>("conv_0_groups_0"), val = tensor<int32, []>(1)];
74
+ tensor<fp16, [257, 1, 512]> expand_dims_1_to_fp16 = const()[name = tensor<string, []>("expand_dims_1_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
75
+ tensor<fp16, [1, 257, ?]> conv_0_cast_fp16 = conv(dilations = conv_0_dilations_0, groups = conv_0_groups_0, pad = conv_0_pad_0, pad_type = conv_0_pad_type_0, strides = expand_dims_3, weight = expand_dims_1_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_0_cast_fp16")];
76
+ tensor<string, []> conv_1_pad_type_0 = const()[name = tensor<string, []>("conv_1_pad_type_0"), val = tensor<string, []>("valid")];
77
+ tensor<int32, [2]> conv_1_pad_0 = const()[name = tensor<string, []>("conv_1_pad_0"), val = tensor<int32, [2]>([0, 0])];
78
+ tensor<int32, [1]> conv_1_dilations_0 = const()[name = tensor<string, []>("conv_1_dilations_0"), val = tensor<int32, [1]>([1])];
79
+ tensor<int32, []> conv_1_groups_0 = const()[name = tensor<string, []>("conv_1_groups_0"), val = tensor<int32, []>(1)];
80
+ tensor<fp16, [257, 1, 512]> expand_dims_2_to_fp16 = const()[name = tensor<string, []>("expand_dims_2_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(263296)))];
81
+ tensor<fp16, [1, 257, ?]> conv_1_cast_fp16 = conv(dilations = conv_1_dilations_0, groups = conv_1_groups_0, pad = conv_1_pad_0, pad_type = conv_1_pad_type_0, strides = expand_dims_3, weight = expand_dims_2_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_1_cast_fp16")];
82
+ tensor<int32, []> stack_0_axis_0 = const()[name = tensor<string, []>("stack_0_axis_0"), val = tensor<int32, []>(-1)];
83
+ tensor<fp16, [1, 257, ?, 2]> stack_0_cast_fp16 = stack(axis = stack_0_axis_0, values = (conv_0_cast_fp16, conv_1_cast_fp16))[name = tensor<string, []>("stack_0_cast_fp16")];
84
+ tensor<fp16, []> var_19_promoted_to_fp16 = const()[name = tensor<string, []>("op_19_promoted_to_fp16"), val = tensor<fp16, []>(0x1p+1)];
85
+ tensor<fp16, [1, 257, ?, 2]> var_74_cast_fp16 = pow(x = stack_0_cast_fp16, y = var_19_promoted_to_fp16)[name = tensor<string, []>("op_74_cast_fp16")];
86
+ tensor<int32, [1]> var_76_axes_0 = const()[name = tensor<string, []>("op_76_axes_0"), val = tensor<int32, [1]>([-1])];
87
+ tensor<bool, []> var_76_keep_dims_0 = const()[name = tensor<string, []>("op_76_keep_dims_0"), val = tensor<bool, []>(false)];
88
+ tensor<fp16, [1, 257, ?]> var_76_cast_fp16 = reduce_sum(axes = var_76_axes_0, keep_dims = var_76_keep_dims_0, x = var_74_cast_fp16)[name = tensor<string, []>("op_76_cast_fp16")];
89
+ tensor<fp16, [1, 257, ?]> x_11_cast_fp16 = identity(x = var_76_cast_fp16)[name = tensor<string, []>("x_11_cast_fp16")];
90
+ tensor<bool, []> x_13_transpose_x_0 = const()[name = tensor<string, []>("x_13_transpose_x_0"), val = tensor<bool, []>(false)];
91
+ tensor<bool, []> x_13_transpose_y_0 = const()[name = tensor<string, []>("x_13_transpose_y_0"), val = tensor<bool, []>(false)];
92
+ tensor<fp16, [1, 128, 257]> const_4_to_fp16 = const()[name = tensor<string, []>("const_4_to_fp16"), val = tensor<fp16, [1, 128, 257]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(526528)))];
93
+ tensor<fp16, [1, 128, ?]> x_13_cast_fp16 = matmul(transpose_x = x_13_transpose_x_0, transpose_y = x_13_transpose_y_0, x = const_4_to_fp16, y = x_11_cast_fp16)[name = tensor<string, []>("x_13_cast_fp16")];
94
+ tensor<fp16, []> var_83_to_fp16 = const()[name = tensor<string, []>("op_83_to_fp16"), val = tensor<fp16, []>(0x1p-24)];
95
+ tensor<fp16, [1, 128, ?]> var_84_cast_fp16 = add(x = x_13_cast_fp16, y = var_83_to_fp16)[name = tensor<string, []>("op_84_cast_fp16")];
96
+ tensor<fp32, []> x_epsilon_0 = const()[name = tensor<string, []>("x_epsilon_0"), val = tensor<fp32, []>(0x1p-149)];
97
+ tensor<fp16, [1, 128, ?]> x_cast_fp16 = log(epsilon = x_epsilon_0, x = var_84_cast_fp16)[name = tensor<string, []>("x_cast_fp16")];
98
+ tensor<int32, [3]> var_86_shape_cast_fp16 = shape(x = x_cast_fp16)[name = tensor<string, []>("op_86_shape_cast_fp16")];
99
+ tensor<int32, []> gather_5_axis_0 = const()[name = tensor<string, []>("gather_5_axis_0"), val = tensor<int32, []>(0)];
100
+ tensor<int32, []> gather_5_batch_dims_0 = const()[name = tensor<string, []>("gather_5_batch_dims_0"), val = tensor<int32, []>(0)];
101
+ tensor<bool, []> gather_5_validate_indices_0 = const()[name = tensor<string, []>("gather_5_validate_indices_0"), val = tensor<bool, []>(false)];
102
+ tensor<string, []> var_86_shape_cast_fp16_to_uint16_dtype_0 = const()[name = tensor<string, []>("op_86_shape_cast_fp16_to_uint16_dtype_0"), val = tensor<string, []>("uint16")];
103
+ tensor<uint16, []> select_5_to_uint16 = const()[name = tensor<string, []>("select_5_to_uint16"), val = tensor<uint16, []>(2)];
104
+ tensor<uint16, [3]> var_86_shape_cast_fp16_to_uint16 = cast(dtype = var_86_shape_cast_fp16_to_uint16_dtype_0, x = var_86_shape_cast_fp16)[name = tensor<string, []>("cast_11")];
105
+ tensor<uint16, []> gather_5_cast_uint16 = gather(axis = gather_5_axis_0, batch_dims = gather_5_batch_dims_0, indices = select_5_to_uint16, validate_indices = gather_5_validate_indices_0, x = var_86_shape_cast_fp16_to_uint16)[name = tensor<string, []>("gather_5_cast_uint16")];
106
+ tensor<string, []> gather_5_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_5_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
107
+ tensor<int32, []> const_5 = const()[name = tensor<string, []>("const_5"), val = tensor<int32, []>(0)];
108
+ tensor<int32, []> const_6 = const()[name = tensor<string, []>("const_6"), val = tensor<int32, []>(1)];
109
+ tensor<int32, []> gather_5_cast_uint16_to_int32 = cast(dtype = gather_5_cast_uint16_to_int32_dtype_0, x = gather_5_cast_uint16)[name = tensor<string, []>("cast_10")];
110
+ tensor<int32, [?]> mask_1 = range_1d(end = gather_5_cast_uint16_to_int32, start = const_5, step = const_6)[name = tensor<string, []>("mask_1")];
111
+ tensor<int32, [1]> expand_dims_0_axes_0 = const()[name = tensor<string, []>("expand_dims_0_axes_0"), val = tensor<int32, [1]>([0])];
112
+ tensor<int32, [1, ?]> expand_dims_0 = expand_dims(axes = expand_dims_0_axes_0, x = mask_1)[name = tensor<string, []>("expand_dims_0")];
113
+ tensor<int32, [1]> var_91_axes_0 = const()[name = tensor<string, []>("op_91_axes_0"), val = tensor<int32, [1]>([1])];
114
+ tensor<int32, [1, 1]> var_91 = expand_dims(axes = var_91_axes_0, x = mel_length)[name = tensor<string, []>("op_91")];
115
+ tensor<bool, [1, ?]> mask = greater_equal(x = expand_dims_0, y = var_91)[name = tensor<string, []>("mask")];
116
+ tensor<int32, [1]> var_93_axes_0 = const()[name = tensor<string, []>("op_93_axes_0"), val = tensor<int32, [1]>([1])];
117
+ tensor<bool, [1, 1, ?]> var_93 = expand_dims(axes = var_93_axes_0, x = mask)[name = tensor<string, []>("op_93")];
118
+ tensor<fp16, [1, 128, ?]> processed_signal_cast_fp16 = select(a = var_16_to_fp16, b = x_cast_fp16, cond = var_93)[name = tensor<string, []>("processed_signal_cast_fp16")];
119
+ tensor<string, []> processed_signal_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("processed_signal_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
120
+ tensor<fp32, [1, 128, ?]> mel = cast(dtype = processed_signal_cast_fp16_to_fp32_dtype_0, x = processed_signal_cast_fp16)[name = tensor<string, []>("cast_9")];
121
+ } -> (mel, mel_length);
122
+ }
multilingual/2240ms/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
multilingual/4480ms/decoder.mlmodelc/model.mil ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [13088, 640]> module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_8")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_7")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_6")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16752768)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(20029632)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23306496)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_2")];
36
+ tensor<fp16, [1, 1, 640]> input_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_2 = lstm(activation = input_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_lstm_layer_0_cell_activation_0, direction = input_lstm_layer_0_direction_0, initial_c = input_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_lstm_layer_0_output_sequence_0, recurrent_activation = input_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_direction_0 = const()[name = tensor<string, []>("input_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_output_sequence_0 = const()[name = tensor<string, []>("input_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_recurrent_activation_0 = const()[name = tensor<string, []>("input_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_cell_activation_0 = const()[name = tensor<string, []>("input_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_activation_0 = const()[name = tensor<string, []>("input_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23311680)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(26588544)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29865408)))];
49
+ tensor<fp16, [1, 1, 640]> input_cast_fp16_0, tensor<fp16, [1, 640]> input_cast_fp16_1, tensor<fp16, [1, 640]> input_cast_fp16_2 = lstm(activation = input_activation_0, bias = concat_3_to_fp16, cell_activation = input_cell_activation_0, direction = input_direction_0, initial_c = input_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_h0_squeeze_cast_fp16, output_sequence = input_output_sequence_0, recurrent_activation = input_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_lstm_layer_0_cast_fp16_1, input_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_lstm_layer_0_cast_fp16_2, input_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_0_perm_0 = const()[name = tensor<string, []>("transpose_0_perm_0"), val = tensor<int32, [3]>([1, 2, 0])];
57
+ tensor<string, []> transpose_0_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("transpose_0_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
58
+ tensor<fp16, [1, 640, 1]> transpose_0_cast_fp16 = transpose(perm = transpose_0_perm_0, x = input_cast_fp16_0)[name = tensor<string, []>("transpose_1")];
59
+ tensor<fp32, [1, 640, 1]> decoder_out = cast(dtype = transpose_0_cast_fp16_to_fp32_dtype_0, x = transpose_0_cast_fp16)[name = tensor<string, []>("cast_3")];
60
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_4")];
61
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_5")];
62
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
63
+ } -> (decoder_out, h_out, c_out);
64
+ }
multilingual/4480ms/decoder_joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [1, 1024, 1]> encoder, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [13088, 640]> decoder_module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("decoder_module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_9")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = decoder_module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_8")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_7")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_5_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_5_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_5_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_5_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_5_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16752768)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(20029632)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23306496)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_4")];
36
+ tensor<fp16, [1, 1, 640]> input_5_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_2 = lstm(activation = input_5_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_5_lstm_layer_0_cell_activation_0, direction = input_5_lstm_layer_0_direction_0, initial_c = input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_lstm_layer_0_output_sequence_0, recurrent_activation = input_5_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_5_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_5_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_5_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_5_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_5_direction_0 = const()[name = tensor<string, []>("input_5_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_5_output_sequence_0 = const()[name = tensor<string, []>("input_5_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_5_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_5_cell_activation_0 = const()[name = tensor<string, []>("input_5_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_5_activation_0 = const()[name = tensor<string, []>("input_5_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23311680)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(26588544)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29865408)))];
49
+ tensor<fp16, [1, 1, 640]> input_5_cast_fp16_0, tensor<fp16, [1, 640]> input_5_cast_fp16_1, tensor<fp16, [1, 640]> input_5_cast_fp16_2 = lstm(activation = input_5_activation_0, bias = concat_3_to_fp16, cell_activation = input_5_cell_activation_0, direction = input_5_direction_0, initial_c = input_5_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_output_sequence_0, recurrent_activation = input_5_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_5_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_5_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_5_lstm_layer_0_cast_fp16_1, input_5_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_5_lstm_layer_0_cast_fp16_2, input_5_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_1_perm_0 = const()[name = tensor<string, []>("transpose_1_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
57
+ tensor<int32, [3]> input_7_perm_0 = const()[name = tensor<string, []>("input_7_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
58
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
59
+ tensor<fp16, [640, 1024]> joint_module_enc_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29870592)))];
60
+ tensor<fp16, [640]> joint_module_enc_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(31181376)))];
61
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_4")];
62
+ tensor<fp16, [1, 1, 1024]> input_7_cast_fp16 = transpose(perm = input_7_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_2")];
63
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = joint_module_enc_bias_to_fp16, weight = joint_module_enc_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
64
+ tensor<fp16, [640, 640]> joint_module_pred_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(31182720)))];
65
+ tensor<fp16, [640]> joint_module_pred_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(32001984)))];
66
+ tensor<fp16, [1, 1, 640]> transpose_1_cast_fp16 = transpose(perm = transpose_1_perm_0, x = input_5_cast_fp16_0)[name = tensor<string, []>("transpose_3")];
67
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = joint_module_pred_bias_to_fp16, weight = joint_module_pred_weight_to_fp16, x = transpose_1_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
68
+ tensor<int32, [1]> var_79_axes_0 = const()[name = tensor<string, []>("op_79_axes_0"), val = tensor<int32, [1]>([2])];
69
+ tensor<fp16, [1, 1, 1, 640]> var_79_cast_fp16 = expand_dims(axes = var_79_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_79_cast_fp16")];
70
+ tensor<int32, [1]> var_80_axes_0 = const()[name = tensor<string, []>("op_80_axes_0"), val = tensor<int32, [1]>([1])];
71
+ tensor<fp16, [1, 1, 1, 640]> var_80_cast_fp16 = expand_dims(axes = var_80_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_80_cast_fp16")];
72
+ tensor<fp16, [1, 1, 1, 640]> input_11_cast_fp16 = add(x = var_79_cast_fp16, y = var_80_cast_fp16)[name = tensor<string, []>("input_11_cast_fp16")];
73
+ tensor<fp16, [1, 1, 1, 640]> input_13_cast_fp16 = relu(x = input_11_cast_fp16)[name = tensor<string, []>("input_13_cast_fp16")];
74
+ tensor<fp16, [13088, 640]> joint_module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(32003328)))];
75
+ tensor<fp16, [13088]> joint_module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [13088]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(48756032)))];
76
+ tensor<fp16, [1, 1, 1, 13088]> linear_2_cast_fp16 = linear(bias = joint_module_joint_net_2_bias_to_fp16, weight = joint_module_joint_net_2_weight_to_fp16, x = input_13_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
77
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
78
+ tensor<fp32, [1, 1, 1, 13088]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_3")];
79
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_5")];
80
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_6")];
81
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
82
+ } -> (logits, h_out, c_out);
83
+ }
multilingual/4480ms/encoder.mlmodelc/model.mil ADDED
The diff for this file is too large to render. See raw diff
 
multilingual/4480ms/joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, 640, 1]> decoder, tensor<fp32, [1, 1024, 1]> encoder) {
5
+ tensor<int32, [3]> input_1_perm_0 = const()[name = tensor<string, []>("input_1_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
6
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
7
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
8
+ tensor<string, []> decoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("decoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
9
+ tensor<fp16, [640, 1024]> module_enc_weight_to_fp16 = const()[name = tensor<string, []>("module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
10
+ tensor<fp16, [640]> module_enc_bias_to_fp16 = const()[name = tensor<string, []>("module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1310848)))];
11
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_2")];
12
+ tensor<fp16, [1, 1, 1024]> input_1_cast_fp16 = transpose(perm = input_1_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_1")];
13
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = module_enc_bias_to_fp16, weight = module_enc_weight_to_fp16, x = input_1_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
14
+ tensor<fp16, [640, 640]> module_pred_weight_to_fp16 = const()[name = tensor<string, []>("module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1312192)))];
15
+ tensor<fp16, [640]> module_pred_bias_to_fp16 = const()[name = tensor<string, []>("module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2131456)))];
16
+ tensor<fp16, [1, 640, 1]> decoder_to_fp16 = cast(dtype = decoder_to_fp16_dtype_0, x = decoder)[name = tensor<string, []>("cast_1")];
17
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = decoder_to_fp16)[name = tensor<string, []>("transpose_0")];
18
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = module_pred_bias_to_fp16, weight = module_pred_weight_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
19
+ tensor<int32, [1]> var_23_axes_0 = const()[name = tensor<string, []>("op_23_axes_0"), val = tensor<int32, [1]>([2])];
20
+ tensor<fp16, [1, 1, 1, 640]> var_23_cast_fp16 = expand_dims(axes = var_23_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_23_cast_fp16")];
21
+ tensor<int32, [1]> var_25_axes_0 = const()[name = tensor<string, []>("op_25_axes_0"), val = tensor<int32, [1]>([1])];
22
+ tensor<fp16, [1, 1, 1, 640]> var_25_cast_fp16 = expand_dims(axes = var_25_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_25_cast_fp16")];
23
+ tensor<fp16, [1, 1, 1, 640]> input_5_cast_fp16 = add(x = var_23_cast_fp16, y = var_25_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
24
+ tensor<fp16, [1, 1, 1, 640]> input_7_cast_fp16 = relu(x = input_5_cast_fp16)[name = tensor<string, []>("input_7_cast_fp16")];
25
+ tensor<fp16, [13088, 640]> module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2132800)))];
26
+ tensor<fp16, [13088]> module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [13088]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18885504)))];
27
+ tensor<fp16, [1, 1, 1, 13088]> linear_2_cast_fp16 = linear(bias = module_joint_net_2_bias_to_fp16, weight = module_joint_net_2_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
28
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
29
+ tensor<fp32, [1, 1, 1, 13088]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_0")];
30
+ } -> (logits);
31
+ }
multilingual/4480ms/metadata.json ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "nvidia/nemotron-3.5-asr-streaming-0.6b",
3
+ "model_class": "nemo.collections.asr.models.rnnt_bpe_models_prompt.EncDecRNNTBPEModelWithPrompt",
4
+ "sample_rate": 16000,
5
+ "mel_features": 128,
6
+ "chunk_mel_frames": 448,
7
+ "pre_encode_cache": 9,
8
+ "total_mel_frames": 457,
9
+ "att_context_size": [
10
+ 42,
11
+ 13
12
+ ],
13
+ "vocab_size": 13087,
14
+ "blank_idx": 13087,
15
+ "cache_channel_shape": [
16
+ 1,
17
+ 24,
18
+ 42,
19
+ 1024
20
+ ],
21
+ "cache_time_shape": [
22
+ 1,
23
+ 24,
24
+ 1024,
25
+ 8
26
+ ],
27
+ "decoder_hidden": 640,
28
+ "decoder_layers": 2,
29
+ "encoder_dim": 1024,
30
+ "num_prompts": 128,
31
+ "prompt_dictionary": {
32
+ "en-US": 0,
33
+ "en": 0,
34
+ "en-GB": 1,
35
+ "enGB": 1,
36
+ "es-ES": 2,
37
+ "esES": 2,
38
+ "es-US": 3,
39
+ "es": 3,
40
+ "zh-CN": 4,
41
+ "zh-ZH": 4,
42
+ "zh-TW": 5,
43
+ "hi-IN": 6,
44
+ "hi": 6,
45
+ "hi-HI": 6,
46
+ "ar-AR": 7,
47
+ "ar": 7,
48
+ "fr-FR": 8,
49
+ "fr": 8,
50
+ "de-DE": 9,
51
+ "de": 9,
52
+ "ja-JP": 10,
53
+ "ja-JA": 10,
54
+ "ru-RU": 11,
55
+ "ru": 11,
56
+ "pt-BR": 12,
57
+ "pt-PT": 13,
58
+ "pt": 13,
59
+ "ko-KR": 14,
60
+ "ko": 14,
61
+ "ko-KO": 14,
62
+ "it-IT": 15,
63
+ "it": 15,
64
+ "nl-NL": 16,
65
+ "nl": 16,
66
+ "pl-PL": 17,
67
+ "pl": 17,
68
+ "tr-TR": 18,
69
+ "tr": 18,
70
+ "uk-UA": 19,
71
+ "uk": 19,
72
+ "ro-RO": 20,
73
+ "ro": 20,
74
+ "el-GR": 21,
75
+ "el": 21,
76
+ "cs-CZ": 22,
77
+ "cs": 22,
78
+ "hu-HU": 23,
79
+ "hu": 23,
80
+ "sv-SE": 24,
81
+ "sv": 24,
82
+ "da-DK": 25,
83
+ "da": 25,
84
+ "fi-FI": 26,
85
+ "fi": 26,
86
+ "no-NO": 27,
87
+ "no": 27,
88
+ "nb-NO": 103,
89
+ "nb": 103,
90
+ "nn-NO": 104,
91
+ "nn": 104,
92
+ "sk-SK": 28,
93
+ "sk": 28,
94
+ "hr-HR": 29,
95
+ "hr": 29,
96
+ "bg-BG": 30,
97
+ "bg": 30,
98
+ "lt-LT": 31,
99
+ "lt": 31,
100
+ "et-EE": 60,
101
+ "et": 60,
102
+ "lv-LV": 61,
103
+ "lv": 61,
104
+ "sl-SI": 62,
105
+ "sl": 62,
106
+ "th-TH": 32,
107
+ "vi-VN": 33,
108
+ "id-ID": 34,
109
+ "ms-MY": 35,
110
+ "bn-IN": 36,
111
+ "ur-PK": 37,
112
+ "fa-IR": 38,
113
+ "ta-IN": 39,
114
+ "te-IN": 40,
115
+ "mr-IN": 41,
116
+ "gu-IN": 42,
117
+ "kn-IN": 43,
118
+ "ml-IN": 44,
119
+ "si-LK": 45,
120
+ "ne-NP": 46,
121
+ "km-KH": 47,
122
+ "sw-KE": 48,
123
+ "am-ET": 49,
124
+ "ha-NG": 50,
125
+ "zu-ZA": 51,
126
+ "yo-NG": 52,
127
+ "ig-NG": 53,
128
+ "af-ZA": 54,
129
+ "rw-RW": 55,
130
+ "so-SO": 56,
131
+ "ny-MW": 57,
132
+ "ln-CD": 58,
133
+ "or-KE": 59,
134
+ "he-IL": 64,
135
+ "ku-TR": 65,
136
+ "az-AZ": 66,
137
+ "ka-GE": 67,
138
+ "hy-AM": 68,
139
+ "uz-UZ": 69,
140
+ "tg-TJ": 70,
141
+ "ky-KG": 71,
142
+ "qu-PE": 80,
143
+ "ay-BO": 81,
144
+ "gn-PY": 82,
145
+ "nah-MX": 83,
146
+ "mi-NZ": 96,
147
+ "haw-US": 97,
148
+ "sm-WS": 98,
149
+ "to-TO": 99,
150
+ "fr-CA": 100,
151
+ "mt-MT": 102,
152
+ "auto": 101
153
+ },
154
+ "default_prompt_id": 101,
155
+ "lang_tag_token_ids": [
156
+ 1,
157
+ 256,
158
+ 397,
159
+ 518,
160
+ 673,
161
+ 814,
162
+ 907,
163
+ 993,
164
+ 1125,
165
+ 1232,
166
+ 1279,
167
+ 1383,
168
+ 1455,
169
+ 1603,
170
+ 1724,
171
+ 1841,
172
+ 1929,
173
+ 2021,
174
+ 2124,
175
+ 2205,
176
+ 2322,
177
+ 2440,
178
+ 2529,
179
+ 2809,
180
+ 2947,
181
+ 2986,
182
+ 3051,
183
+ 3064,
184
+ 3134,
185
+ 3247,
186
+ 3446,
187
+ 7489,
188
+ 9532,
189
+ 9544,
190
+ 9596,
191
+ 9695,
192
+ 9815,
193
+ 9847,
194
+ 12944
195
+ ]
196
+ }
multilingual/4480ms/preprocessor.mlmodelc/model.mil ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, ?]> audio, tensor<int32, [1]> audio_length) [FlexibleShapeInformation = tuple<tuple<tensor<string, []>, dict<tensor<string, []>, tensor<int32, [?]>>>, tuple<tensor<string, []>, dict<tensor<string, []>, list<tensor<int32, [2]>, ?>>>>((("DefaultShapes", {{"audio", [1, 1]}}), ("RangeDims", {{"audio", [[1, 1], [1, 1280000]]}})))] {
5
+ tensor<int32, []> var_9 = const()[name = tensor<string, []>("op_9"), val = tensor<int32, []>(1)];
6
+ tensor<int32, []> var_10 = const()[name = tensor<string, []>("op_10"), val = tensor<int32, []>(160)];
7
+ tensor<int32, []> var_12 = const()[name = tensor<string, []>("op_12"), val = tensor<int32, []>(0)];
8
+ tensor<int32, []> var_33 = const()[name = tensor<string, []>("op_33"), val = tensor<int32, []>(512)];
9
+ tensor<int32, [1]> var_34 = add(x = audio_length, y = var_33)[name = tensor<string, []>("op_34")];
10
+ tensor<int32, []> var_35 = const()[name = tensor<string, []>("op_35"), val = tensor<int32, []>(512)];
11
+ tensor<int32, [1]> var_36 = sub(x = var_34, y = var_35)[name = tensor<string, []>("op_36")];
12
+ tensor<int32, [1]> floor_div_0 = floor_div(x = var_36, y = var_10)[name = tensor<string, []>("floor_div_0")];
13
+ tensor<bool, [1]> var_39 = equal(x = audio_length, y = var_12)[name = tensor<string, []>("op_39")];
14
+ tensor<int32, [1]> var_40 = const()[name = tensor<string, []>("op_40"), val = tensor<int32, [1]>([0])];
15
+ tensor<int32, [1]> mel_length = select(a = var_40, b = floor_div_0, cond = var_39)[name = tensor<string, []>("seq_len")];
16
+ tensor<string, []> audio_to_fp16_dtype_0 = const()[name = tensor<string, []>("audio_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
17
+ tensor<fp16, [1, ?]> audio_to_fp16 = cast(dtype = audio_to_fp16_dtype_0, x = audio)[name = tensor<string, []>("cast_14")];
18
+ tensor<int32, [2]> var_42_shape_cast_fp16 = shape(x = audio_to_fp16)[name = tensor<string, []>("op_42_shape_cast_fp16")];
19
+ tensor<int32, []> gather_0_axis_0 = const()[name = tensor<string, []>("gather_0_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<int32, []> gather_0_batch_dims_0 = const()[name = tensor<string, []>("gather_0_batch_dims_0"), val = tensor<int32, []>(0)];
21
+ tensor<bool, []> gather_0_validate_indices_0 = const()[name = tensor<string, []>("gather_0_validate_indices_0"), val = tensor<bool, []>(false)];
22
+ tensor<string, []> var_42_shape_cast_fp16_to_int16_dtype_0 = const()[name = tensor<string, []>("op_42_shape_cast_fp16_to_int16_dtype_0"), val = tensor<string, []>("int16")];
23
+ tensor<uint16, []> select_0_to_uint16 = const()[name = tensor<string, []>("select_0_to_uint16"), val = tensor<uint16, []>(1)];
24
+ tensor<int16, [2]> var_42_shape_cast_fp16_to_int16 = cast(dtype = var_42_shape_cast_fp16_to_int16_dtype_0, x = var_42_shape_cast_fp16)[name = tensor<string, []>("cast_13")];
25
+ tensor<int16, []> gather_0_cast_uint16 = gather(axis = gather_0_axis_0, batch_dims = gather_0_batch_dims_0, indices = select_0_to_uint16, validate_indices = gather_0_validate_indices_0, x = var_42_shape_cast_fp16_to_int16)[name = tensor<string, []>("gather_0_cast_uint16")];
26
+ tensor<string, []> gather_0_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_0_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
27
+ tensor<int32, []> const_0 = const()[name = tensor<string, []>("const_0"), val = tensor<int32, []>(0)];
28
+ tensor<int32, []> const_1 = const()[name = tensor<string, []>("const_1"), val = tensor<int32, []>(1)];
29
+ tensor<int32, []> gather_0_cast_uint16_to_int32 = cast(dtype = gather_0_cast_uint16_to_int32_dtype_0, x = gather_0_cast_uint16)[name = tensor<string, []>("cast_12")];
30
+ tensor<int32, [?]> var_43 = range_1d(end = gather_0_cast_uint16_to_int32, start = const_0, step = const_1)[name = tensor<string, []>("op_43")];
31
+ tensor<int32, [1]> var_44_axes_0 = const()[name = tensor<string, []>("op_44_axes_0"), val = tensor<int32, [1]>([0])];
32
+ tensor<int32, [1, ?]> var_44 = expand_dims(axes = var_44_axes_0, x = var_43)[name = tensor<string, []>("op_44")];
33
+ tensor<int32, [1]> var_45_axes_0 = const()[name = tensor<string, []>("op_45_axes_0"), val = tensor<int32, [1]>([1])];
34
+ tensor<int32, [1, 1]> var_45 = expand_dims(axes = var_45_axes_0, x = audio_length)[name = tensor<string, []>("op_45")];
35
+ tensor<bool, [1, ?]> timemask = less(x = var_44, y = var_45)[name = tensor<string, []>("timemask")];
36
+ tensor<int32, [2]> var_48_begin_0 = const()[name = tensor<string, []>("op_48_begin_0"), val = tensor<int32, [2]>([0, 0])];
37
+ tensor<int32, [2]> var_48_end_0 = const()[name = tensor<string, []>("op_48_end_0"), val = tensor<int32, [2]>([1, 1])];
38
+ tensor<bool, [2]> var_48_end_mask_0 = const()[name = tensor<string, []>("op_48_end_mask_0"), val = tensor<bool, [2]>([true, false])];
39
+ tensor<bool, [2]> var_48_squeeze_mask_0 = const()[name = tensor<string, []>("op_48_squeeze_mask_0"), val = tensor<bool, [2]>([false, true])];
40
+ tensor<fp16, [1]> var_48_cast_fp16 = slice_by_index(begin = var_48_begin_0, end = var_48_end_0, end_mask = var_48_end_mask_0, squeeze_mask = var_48_squeeze_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_48_cast_fp16")];
41
+ tensor<int32, [1]> var_49_axes_0 = const()[name = tensor<string, []>("op_49_axes_0"), val = tensor<int32, [1]>([1])];
42
+ tensor<fp16, [1, 1]> var_49_cast_fp16 = expand_dims(axes = var_49_axes_0, x = var_48_cast_fp16)[name = tensor<string, []>("op_49_cast_fp16")];
43
+ tensor<int32, [2]> var_51_begin_0 = const()[name = tensor<string, []>("op_51_begin_0"), val = tensor<int32, [2]>([0, 1])];
44
+ tensor<int32, [2]> var_51_end_0 = const()[name = tensor<string, []>("op_51_end_0"), val = tensor<int32, [2]>([1, 0])];
45
+ tensor<bool, [2]> var_51_end_mask_0 = const()[name = tensor<string, []>("op_51_end_mask_0"), val = tensor<bool, [2]>([true, true])];
46
+ tensor<fp16, [1, ?]> var_51_cast_fp16 = slice_by_index(begin = var_51_begin_0, end = var_51_end_0, end_mask = var_51_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_51_cast_fp16")];
47
+ tensor<int32, [2]> var_53_begin_0 = const()[name = tensor<string, []>("op_53_begin_0"), val = tensor<int32, [2]>([0, 0])];
48
+ tensor<int32, [2]> var_53_end_0 = const()[name = tensor<string, []>("op_53_end_0"), val = tensor<int32, [2]>([1, -1])];
49
+ tensor<bool, [2]> var_53_end_mask_0 = const()[name = tensor<string, []>("op_53_end_mask_0"), val = tensor<bool, [2]>([true, false])];
50
+ tensor<fp16, [1, ?]> var_53_cast_fp16 = slice_by_index(begin = var_53_begin_0, end = var_53_end_0, end_mask = var_53_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_53_cast_fp16")];
51
+ tensor<fp16, []> var_54_to_fp16 = const()[name = tensor<string, []>("op_54_to_fp16"), val = tensor<fp16, []>(0x1.f0cp-1)];
52
+ tensor<fp16, [1, ?]> var_55_cast_fp16 = mul(x = var_53_cast_fp16, y = var_54_to_fp16)[name = tensor<string, []>("op_55_cast_fp16")];
53
+ tensor<fp16, [1, ?]> var_56_cast_fp16 = sub(x = var_51_cast_fp16, y = var_55_cast_fp16)[name = tensor<string, []>("op_56_cast_fp16")];
54
+ tensor<bool, []> x_3_interleave_0 = const()[name = tensor<string, []>("x_3_interleave_0"), val = tensor<bool, []>(false)];
55
+ tensor<fp16, [1, ?]> x_3_cast_fp16 = concat(axis = var_9, interleave = x_3_interleave_0, values = (var_49_cast_fp16, var_56_cast_fp16))[name = tensor<string, []>("x_3_cast_fp16")];
56
+ tensor<bool, [1, ?]> var_59 = logical_not(x = timemask)[name = tensor<string, []>("op_59")];
57
+ tensor<fp16, []> var_16_to_fp16 = const()[name = tensor<string, []>("op_16_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
58
+ tensor<fp16, [1, ?]> input_1_cast_fp16 = select(a = var_16_to_fp16, b = x_3_cast_fp16, cond = var_59)[name = tensor<string, []>("input_1_cast_fp16")];
59
+ tensor<int32, [3]> concat_1x = const()[name = tensor<string, []>("concat_1x"), val = tensor<int32, [3]>([1, 1, -1])];
60
+ tensor<fp16, [1, 1, ?]> input_3_cast_fp16 = reshape(shape = concat_1x, x = input_1_cast_fp16)[name = tensor<string, []>("input_3_cast_fp16")];
61
+ tensor<int32, [6]> input_5_pad_0 = const()[name = tensor<string, []>("input_5_pad_0"), val = tensor<int32, [6]>([0, 0, 0, 0, 256, 256])];
62
+ tensor<string, []> input_5_mode_0 = const()[name = tensor<string, []>("input_5_mode_0"), val = tensor<string, []>("constant")];
63
+ tensor<fp16, []> const_3_to_fp16 = const()[name = tensor<string, []>("const_3_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
64
+ tensor<fp16, [1, 1, ?]> input_5_cast_fp16 = pad(constant_val = const_3_to_fp16, mode = input_5_mode_0, pad = input_5_pad_0, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
65
+ tensor<int32, [2]> concat_2x = const()[name = tensor<string, []>("concat_2x"), val = tensor<int32, [2]>([1, -1])];
66
+ tensor<fp16, [1, ?]> input_cast_fp16 = reshape(shape = concat_2x, x = input_5_cast_fp16)[name = tensor<string, []>("input_cast_fp16")];
67
+ tensor<int32, [1]> expand_dims_3 = const()[name = tensor<string, []>("expand_dims_3"), val = tensor<int32, [1]>([160])];
68
+ tensor<int32, [1]> expand_dims_4_axes_0 = const()[name = tensor<string, []>("expand_dims_4_axes_0"), val = tensor<int32, [1]>([1])];
69
+ tensor<fp16, [1, 1, ?]> expand_dims_4_cast_fp16 = expand_dims(axes = expand_dims_4_axes_0, x = input_cast_fp16)[name = tensor<string, []>("expand_dims_4_cast_fp16")];
70
+ tensor<string, []> conv_0_pad_type_0 = const()[name = tensor<string, []>("conv_0_pad_type_0"), val = tensor<string, []>("valid")];
71
+ tensor<int32, [2]> conv_0_pad_0 = const()[name = tensor<string, []>("conv_0_pad_0"), val = tensor<int32, [2]>([0, 0])];
72
+ tensor<int32, [1]> conv_0_dilations_0 = const()[name = tensor<string, []>("conv_0_dilations_0"), val = tensor<int32, [1]>([1])];
73
+ tensor<int32, []> conv_0_groups_0 = const()[name = tensor<string, []>("conv_0_groups_0"), val = tensor<int32, []>(1)];
74
+ tensor<fp16, [257, 1, 512]> expand_dims_1_to_fp16 = const()[name = tensor<string, []>("expand_dims_1_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
75
+ tensor<fp16, [1, 257, ?]> conv_0_cast_fp16 = conv(dilations = conv_0_dilations_0, groups = conv_0_groups_0, pad = conv_0_pad_0, pad_type = conv_0_pad_type_0, strides = expand_dims_3, weight = expand_dims_1_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_0_cast_fp16")];
76
+ tensor<string, []> conv_1_pad_type_0 = const()[name = tensor<string, []>("conv_1_pad_type_0"), val = tensor<string, []>("valid")];
77
+ tensor<int32, [2]> conv_1_pad_0 = const()[name = tensor<string, []>("conv_1_pad_0"), val = tensor<int32, [2]>([0, 0])];
78
+ tensor<int32, [1]> conv_1_dilations_0 = const()[name = tensor<string, []>("conv_1_dilations_0"), val = tensor<int32, [1]>([1])];
79
+ tensor<int32, []> conv_1_groups_0 = const()[name = tensor<string, []>("conv_1_groups_0"), val = tensor<int32, []>(1)];
80
+ tensor<fp16, [257, 1, 512]> expand_dims_2_to_fp16 = const()[name = tensor<string, []>("expand_dims_2_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(263296)))];
81
+ tensor<fp16, [1, 257, ?]> conv_1_cast_fp16 = conv(dilations = conv_1_dilations_0, groups = conv_1_groups_0, pad = conv_1_pad_0, pad_type = conv_1_pad_type_0, strides = expand_dims_3, weight = expand_dims_2_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_1_cast_fp16")];
82
+ tensor<int32, []> stack_0_axis_0 = const()[name = tensor<string, []>("stack_0_axis_0"), val = tensor<int32, []>(-1)];
83
+ tensor<fp16, [1, 257, ?, 2]> stack_0_cast_fp16 = stack(axis = stack_0_axis_0, values = (conv_0_cast_fp16, conv_1_cast_fp16))[name = tensor<string, []>("stack_0_cast_fp16")];
84
+ tensor<fp16, []> var_19_promoted_to_fp16 = const()[name = tensor<string, []>("op_19_promoted_to_fp16"), val = tensor<fp16, []>(0x1p+1)];
85
+ tensor<fp16, [1, 257, ?, 2]> var_74_cast_fp16 = pow(x = stack_0_cast_fp16, y = var_19_promoted_to_fp16)[name = tensor<string, []>("op_74_cast_fp16")];
86
+ tensor<int32, [1]> var_76_axes_0 = const()[name = tensor<string, []>("op_76_axes_0"), val = tensor<int32, [1]>([-1])];
87
+ tensor<bool, []> var_76_keep_dims_0 = const()[name = tensor<string, []>("op_76_keep_dims_0"), val = tensor<bool, []>(false)];
88
+ tensor<fp16, [1, 257, ?]> var_76_cast_fp16 = reduce_sum(axes = var_76_axes_0, keep_dims = var_76_keep_dims_0, x = var_74_cast_fp16)[name = tensor<string, []>("op_76_cast_fp16")];
89
+ tensor<fp16, [1, 257, ?]> x_11_cast_fp16 = identity(x = var_76_cast_fp16)[name = tensor<string, []>("x_11_cast_fp16")];
90
+ tensor<bool, []> x_13_transpose_x_0 = const()[name = tensor<string, []>("x_13_transpose_x_0"), val = tensor<bool, []>(false)];
91
+ tensor<bool, []> x_13_transpose_y_0 = const()[name = tensor<string, []>("x_13_transpose_y_0"), val = tensor<bool, []>(false)];
92
+ tensor<fp16, [1, 128, 257]> const_4_to_fp16 = const()[name = tensor<string, []>("const_4_to_fp16"), val = tensor<fp16, [1, 128, 257]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(526528)))];
93
+ tensor<fp16, [1, 128, ?]> x_13_cast_fp16 = matmul(transpose_x = x_13_transpose_x_0, transpose_y = x_13_transpose_y_0, x = const_4_to_fp16, y = x_11_cast_fp16)[name = tensor<string, []>("x_13_cast_fp16")];
94
+ tensor<fp16, []> var_83_to_fp16 = const()[name = tensor<string, []>("op_83_to_fp16"), val = tensor<fp16, []>(0x1p-24)];
95
+ tensor<fp16, [1, 128, ?]> var_84_cast_fp16 = add(x = x_13_cast_fp16, y = var_83_to_fp16)[name = tensor<string, []>("op_84_cast_fp16")];
96
+ tensor<fp32, []> x_epsilon_0 = const()[name = tensor<string, []>("x_epsilon_0"), val = tensor<fp32, []>(0x1p-149)];
97
+ tensor<fp16, [1, 128, ?]> x_cast_fp16 = log(epsilon = x_epsilon_0, x = var_84_cast_fp16)[name = tensor<string, []>("x_cast_fp16")];
98
+ tensor<int32, [3]> var_86_shape_cast_fp16 = shape(x = x_cast_fp16)[name = tensor<string, []>("op_86_shape_cast_fp16")];
99
+ tensor<int32, []> gather_5_axis_0 = const()[name = tensor<string, []>("gather_5_axis_0"), val = tensor<int32, []>(0)];
100
+ tensor<int32, []> gather_5_batch_dims_0 = const()[name = tensor<string, []>("gather_5_batch_dims_0"), val = tensor<int32, []>(0)];
101
+ tensor<bool, []> gather_5_validate_indices_0 = const()[name = tensor<string, []>("gather_5_validate_indices_0"), val = tensor<bool, []>(false)];
102
+ tensor<string, []> var_86_shape_cast_fp16_to_uint16_dtype_0 = const()[name = tensor<string, []>("op_86_shape_cast_fp16_to_uint16_dtype_0"), val = tensor<string, []>("uint16")];
103
+ tensor<uint16, []> select_5_to_uint16 = const()[name = tensor<string, []>("select_5_to_uint16"), val = tensor<uint16, []>(2)];
104
+ tensor<uint16, [3]> var_86_shape_cast_fp16_to_uint16 = cast(dtype = var_86_shape_cast_fp16_to_uint16_dtype_0, x = var_86_shape_cast_fp16)[name = tensor<string, []>("cast_11")];
105
+ tensor<uint16, []> gather_5_cast_uint16 = gather(axis = gather_5_axis_0, batch_dims = gather_5_batch_dims_0, indices = select_5_to_uint16, validate_indices = gather_5_validate_indices_0, x = var_86_shape_cast_fp16_to_uint16)[name = tensor<string, []>("gather_5_cast_uint16")];
106
+ tensor<string, []> gather_5_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_5_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
107
+ tensor<int32, []> const_5 = const()[name = tensor<string, []>("const_5"), val = tensor<int32, []>(0)];
108
+ tensor<int32, []> const_6 = const()[name = tensor<string, []>("const_6"), val = tensor<int32, []>(1)];
109
+ tensor<int32, []> gather_5_cast_uint16_to_int32 = cast(dtype = gather_5_cast_uint16_to_int32_dtype_0, x = gather_5_cast_uint16)[name = tensor<string, []>("cast_10")];
110
+ tensor<int32, [?]> mask_1 = range_1d(end = gather_5_cast_uint16_to_int32, start = const_5, step = const_6)[name = tensor<string, []>("mask_1")];
111
+ tensor<int32, [1]> expand_dims_0_axes_0 = const()[name = tensor<string, []>("expand_dims_0_axes_0"), val = tensor<int32, [1]>([0])];
112
+ tensor<int32, [1, ?]> expand_dims_0 = expand_dims(axes = expand_dims_0_axes_0, x = mask_1)[name = tensor<string, []>("expand_dims_0")];
113
+ tensor<int32, [1]> var_91_axes_0 = const()[name = tensor<string, []>("op_91_axes_0"), val = tensor<int32, [1]>([1])];
114
+ tensor<int32, [1, 1]> var_91 = expand_dims(axes = var_91_axes_0, x = mel_length)[name = tensor<string, []>("op_91")];
115
+ tensor<bool, [1, ?]> mask = greater_equal(x = expand_dims_0, y = var_91)[name = tensor<string, []>("mask")];
116
+ tensor<int32, [1]> var_93_axes_0 = const()[name = tensor<string, []>("op_93_axes_0"), val = tensor<int32, [1]>([1])];
117
+ tensor<bool, [1, 1, ?]> var_93 = expand_dims(axes = var_93_axes_0, x = mask)[name = tensor<string, []>("op_93")];
118
+ tensor<fp16, [1, 128, ?]> processed_signal_cast_fp16 = select(a = var_16_to_fp16, b = x_cast_fp16, cond = var_93)[name = tensor<string, []>("processed_signal_cast_fp16")];
119
+ tensor<string, []> processed_signal_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("processed_signal_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
120
+ tensor<fp32, [1, 128, ?]> mel = cast(dtype = processed_signal_cast_fp16_to_fp32_dtype_0, x = processed_signal_cast_fp16)[name = tensor<string, []>("cast_9")];
121
+ } -> (mel, mel_length);
122
+ }
multilingual/4480ms/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
multilingual/560ms/decoder.mlmodelc/model.mil ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [13088, 640]> module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_8")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_7")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_6")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16752768)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(20029632)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23306496)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_2")];
36
+ tensor<fp16, [1, 1, 640]> input_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_lstm_layer_0_cast_fp16_2 = lstm(activation = input_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_lstm_layer_0_cell_activation_0, direction = input_lstm_layer_0_direction_0, initial_c = input_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_lstm_layer_0_output_sequence_0, recurrent_activation = input_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_direction_0 = const()[name = tensor<string, []>("input_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_output_sequence_0 = const()[name = tensor<string, []>("input_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_recurrent_activation_0 = const()[name = tensor<string, []>("input_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_cell_activation_0 = const()[name = tensor<string, []>("input_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_activation_0 = const()[name = tensor<string, []>("input_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23311680)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(26588544)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29865408)))];
49
+ tensor<fp16, [1, 1, 640]> input_cast_fp16_0, tensor<fp16, [1, 640]> input_cast_fp16_1, tensor<fp16, [1, 640]> input_cast_fp16_2 = lstm(activation = input_activation_0, bias = concat_3_to_fp16, cell_activation = input_cell_activation_0, direction = input_direction_0, initial_c = input_lstm_c0_squeeze_cast_fp16, initial_h = input_lstm_h0_squeeze_cast_fp16, output_sequence = input_output_sequence_0, recurrent_activation = input_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_lstm_layer_0_cast_fp16_1, input_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_lstm_layer_0_cast_fp16_2, input_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_0_perm_0 = const()[name = tensor<string, []>("transpose_0_perm_0"), val = tensor<int32, [3]>([1, 2, 0])];
57
+ tensor<string, []> transpose_0_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("transpose_0_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
58
+ tensor<fp16, [1, 640, 1]> transpose_0_cast_fp16 = transpose(perm = transpose_0_perm_0, x = input_cast_fp16_0)[name = tensor<string, []>("transpose_1")];
59
+ tensor<fp32, [1, 640, 1]> decoder_out = cast(dtype = transpose_0_cast_fp16_to_fp32_dtype_0, x = transpose_0_cast_fp16)[name = tensor<string, []>("cast_3")];
60
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_4")];
61
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_5")];
62
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
63
+ } -> (decoder_out, h_out, c_out);
64
+ }
multilingual/560ms/decoder_joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [1, 1024, 1]> encoder, tensor<fp32, [2, 1, 640]> h_in, tensor<int32, [1, 1]> token, tensor<int32, [1]> token_length) {
5
+ tensor<int32, []> y_axis_0 = const()[name = tensor<string, []>("y_axis_0"), val = tensor<int32, []>(0)];
6
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
7
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
8
+ tensor<fp16, [13088, 640]> decoder_module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("decoder_module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
9
+ tensor<string, []> token_to_int16_dtype_0 = const()[name = tensor<string, []>("token_to_int16_dtype_0"), val = tensor<string, []>("int16")];
10
+ tensor<int16, [1, 1]> token_to_int16 = cast(dtype = token_to_int16_dtype_0, x = token)[name = tensor<string, []>("cast_9")];
11
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16 = gather(axis = y_axis_0, batch_dims = y_batch_dims_0, indices = token_to_int16, validate_indices = y_validate_indices_0, x = decoder_module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16")];
12
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
13
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
14
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
16
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_8")];
17
+ tensor<fp16, [1, 1, 640]> split_0_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_0_cast_fp16_1 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = h_in_to_fp16)[name = tensor<string, []>("split_0_cast_fp16")];
18
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
19
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
21
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_7")];
22
+ tensor<fp16, [1, 1, 640]> split_1_cast_fp16_0, tensor<fp16, [1, 1, 640]> split_1_cast_fp16_1 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = c_in_to_fp16)[name = tensor<string, []>("split_1_cast_fp16")];
23
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
24
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16")];
25
+ tensor<int32, [1]> input_5_lstm_layer_0_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
26
+ tensor<fp16, [1, 640]> input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_layer_0_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_0)[name = tensor<string, []>("input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16")];
27
+ tensor<string, []> input_5_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
28
+ tensor<bool, []> input_5_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
29
+ tensor<string, []> input_5_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
30
+ tensor<string, []> input_5_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
31
+ tensor<string, []> input_5_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_5_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
32
+ tensor<fp16, [2560, 640]> concat_1_to_fp16 = const()[name = tensor<string, []>("concat_1_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(16752768)))];
33
+ tensor<fp16, [2560, 640]> concat_2_to_fp16 = const()[name = tensor<string, []>("concat_2_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(20029632)))];
34
+ tensor<fp16, [2560]> concat_0_to_fp16 = const()[name = tensor<string, []>("concat_0_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23306496)))];
35
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16)[name = tensor<string, []>("transpose_4")];
36
+ tensor<fp16, [1, 1, 640]> input_5_lstm_layer_0_cast_fp16_0, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_1, tensor<fp16, [1, 640]> input_5_lstm_layer_0_cast_fp16_2 = lstm(activation = input_5_lstm_layer_0_activation_0, bias = concat_0_to_fp16, cell_activation = input_5_lstm_layer_0_cell_activation_0, direction = input_5_lstm_layer_0_direction_0, initial_c = input_5_lstm_layer_0_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_layer_0_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_lstm_layer_0_output_sequence_0, recurrent_activation = input_5_lstm_layer_0_recurrent_activation_0, weight_hh = concat_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_lstm_layer_0_cast_fp16")];
37
+ tensor<int32, [1]> input_5_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
38
+ tensor<fp16, [1, 640]> input_5_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_h0_squeeze_axes_0, x = split_0_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_h0_squeeze_cast_fp16")];
39
+ tensor<int32, [1]> input_5_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_5_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
40
+ tensor<fp16, [1, 640]> input_5_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_5_lstm_c0_squeeze_axes_0, x = split_1_cast_fp16_1)[name = tensor<string, []>("input_5_lstm_c0_squeeze_cast_fp16")];
41
+ tensor<string, []> input_5_direction_0 = const()[name = tensor<string, []>("input_5_direction_0"), val = tensor<string, []>("forward")];
42
+ tensor<bool, []> input_5_output_sequence_0 = const()[name = tensor<string, []>("input_5_output_sequence_0"), val = tensor<bool, []>(true)];
43
+ tensor<string, []> input_5_recurrent_activation_0 = const()[name = tensor<string, []>("input_5_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
44
+ tensor<string, []> input_5_cell_activation_0 = const()[name = tensor<string, []>("input_5_cell_activation_0"), val = tensor<string, []>("tanh")];
45
+ tensor<string, []> input_5_activation_0 = const()[name = tensor<string, []>("input_5_activation_0"), val = tensor<string, []>("tanh")];
46
+ tensor<fp16, [2560, 640]> concat_4_to_fp16 = const()[name = tensor<string, []>("concat_4_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(23311680)))];
47
+ tensor<fp16, [2560, 640]> concat_5_to_fp16 = const()[name = tensor<string, []>("concat_5_to_fp16"), val = tensor<fp16, [2560, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(26588544)))];
48
+ tensor<fp16, [2560]> concat_3_to_fp16 = const()[name = tensor<string, []>("concat_3_to_fp16"), val = tensor<fp16, [2560]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29865408)))];
49
+ tensor<fp16, [1, 1, 640]> input_5_cast_fp16_0, tensor<fp16, [1, 640]> input_5_cast_fp16_1, tensor<fp16, [1, 640]> input_5_cast_fp16_2 = lstm(activation = input_5_activation_0, bias = concat_3_to_fp16, cell_activation = input_5_cell_activation_0, direction = input_5_direction_0, initial_c = input_5_lstm_c0_squeeze_cast_fp16, initial_h = input_5_lstm_h0_squeeze_cast_fp16, output_sequence = input_5_output_sequence_0, recurrent_activation = input_5_recurrent_activation_0, weight_hh = concat_5_to_fp16, weight_ih = concat_4_to_fp16, x = input_5_lstm_layer_0_cast_fp16_0)[name = tensor<string, []>("input_5_cast_fp16")];
50
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
51
+ tensor<fp16, [2, 1, 640]> obj_3_cast_fp16 = stack(axis = obj_3_axis_0, values = (input_5_lstm_layer_0_cast_fp16_1, input_5_cast_fp16_1))[name = tensor<string, []>("obj_3_cast_fp16")];
52
+ tensor<string, []> obj_3_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_3_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
54
+ tensor<fp16, [2, 1, 640]> obj_cast_fp16 = stack(axis = obj_axis_0, values = (input_5_lstm_layer_0_cast_fp16_2, input_5_cast_fp16_2))[name = tensor<string, []>("obj_cast_fp16")];
55
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
56
+ tensor<int32, [3]> transpose_1_perm_0 = const()[name = tensor<string, []>("transpose_1_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
57
+ tensor<int32, [3]> input_7_perm_0 = const()[name = tensor<string, []>("input_7_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
58
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
59
+ tensor<fp16, [640, 1024]> joint_module_enc_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(29870592)))];
60
+ tensor<fp16, [640]> joint_module_enc_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(31181376)))];
61
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_4")];
62
+ tensor<fp16, [1, 1, 1024]> input_7_cast_fp16 = transpose(perm = input_7_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_2")];
63
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = joint_module_enc_bias_to_fp16, weight = joint_module_enc_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
64
+ tensor<fp16, [640, 640]> joint_module_pred_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(31182720)))];
65
+ tensor<fp16, [640]> joint_module_pred_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(32001984)))];
66
+ tensor<fp16, [1, 1, 640]> transpose_1_cast_fp16 = transpose(perm = transpose_1_perm_0, x = input_5_cast_fp16_0)[name = tensor<string, []>("transpose_3")];
67
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = joint_module_pred_bias_to_fp16, weight = joint_module_pred_weight_to_fp16, x = transpose_1_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
68
+ tensor<int32, [1]> var_79_axes_0 = const()[name = tensor<string, []>("op_79_axes_0"), val = tensor<int32, [1]>([2])];
69
+ tensor<fp16, [1, 1, 1, 640]> var_79_cast_fp16 = expand_dims(axes = var_79_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_79_cast_fp16")];
70
+ tensor<int32, [1]> var_80_axes_0 = const()[name = tensor<string, []>("op_80_axes_0"), val = tensor<int32, [1]>([1])];
71
+ tensor<fp16, [1, 1, 1, 640]> var_80_cast_fp16 = expand_dims(axes = var_80_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_80_cast_fp16")];
72
+ tensor<fp16, [1, 1, 1, 640]> input_11_cast_fp16 = add(x = var_79_cast_fp16, y = var_80_cast_fp16)[name = tensor<string, []>("input_11_cast_fp16")];
73
+ tensor<fp16, [1, 1, 1, 640]> input_13_cast_fp16 = relu(x = input_11_cast_fp16)[name = tensor<string, []>("input_13_cast_fp16")];
74
+ tensor<fp16, [13088, 640]> joint_module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(32003328)))];
75
+ tensor<fp16, [13088]> joint_module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [13088]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(48756032)))];
76
+ tensor<fp16, [1, 1, 1, 13088]> linear_2_cast_fp16 = linear(bias = joint_module_joint_net_2_bias_to_fp16, weight = joint_module_joint_net_2_weight_to_fp16, x = input_13_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
77
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
78
+ tensor<fp32, [1, 1, 1, 13088]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_3")];
79
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_5")];
80
+ tensor<fp32, [2, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_6")];
81
+ tensor<int32, [1]> token_length_tmp = identity(x = token_length)[name = tensor<string, []>("token_length_tmp")];
82
+ } -> (logits, h_out, c_out);
83
+ }
multilingual/560ms/encoder.mlmodelc/model.mil ADDED
The diff for this file is too large to render. See raw diff
 
multilingual/560ms/joint.mlmodelc/model.mil ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, 640, 1]> decoder, tensor<fp32, [1, 1024, 1]> encoder) {
5
+ tensor<int32, [3]> input_1_perm_0 = const()[name = tensor<string, []>("input_1_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
6
+ tensor<string, []> encoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
7
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([0, 2, 1])];
8
+ tensor<string, []> decoder_to_fp16_dtype_0 = const()[name = tensor<string, []>("decoder_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
9
+ tensor<fp16, [640, 1024]> module_enc_weight_to_fp16 = const()[name = tensor<string, []>("module_enc_weight_to_fp16"), val = tensor<fp16, [640, 1024]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
10
+ tensor<fp16, [640]> module_enc_bias_to_fp16 = const()[name = tensor<string, []>("module_enc_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1310848)))];
11
+ tensor<fp16, [1, 1024, 1]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_2")];
12
+ tensor<fp16, [1, 1, 1024]> input_1_cast_fp16 = transpose(perm = input_1_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_1")];
13
+ tensor<fp16, [1, 1, 640]> linear_0_cast_fp16 = linear(bias = module_enc_bias_to_fp16, weight = module_enc_weight_to_fp16, x = input_1_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
14
+ tensor<fp16, [640, 640]> module_pred_weight_to_fp16 = const()[name = tensor<string, []>("module_pred_weight_to_fp16"), val = tensor<fp16, [640, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1312192)))];
15
+ tensor<fp16, [640]> module_pred_bias_to_fp16 = const()[name = tensor<string, []>("module_pred_bias_to_fp16"), val = tensor<fp16, [640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2131456)))];
16
+ tensor<fp16, [1, 640, 1]> decoder_to_fp16 = cast(dtype = decoder_to_fp16_dtype_0, x = decoder)[name = tensor<string, []>("cast_1")];
17
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = decoder_to_fp16)[name = tensor<string, []>("transpose_0")];
18
+ tensor<fp16, [1, 1, 640]> linear_1_cast_fp16 = linear(bias = module_pred_bias_to_fp16, weight = module_pred_weight_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
19
+ tensor<int32, [1]> var_23_axes_0 = const()[name = tensor<string, []>("op_23_axes_0"), val = tensor<int32, [1]>([2])];
20
+ tensor<fp16, [1, 1, 1, 640]> var_23_cast_fp16 = expand_dims(axes = var_23_axes_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_23_cast_fp16")];
21
+ tensor<int32, [1]> var_25_axes_0 = const()[name = tensor<string, []>("op_25_axes_0"), val = tensor<int32, [1]>([1])];
22
+ tensor<fp16, [1, 1, 1, 640]> var_25_cast_fp16 = expand_dims(axes = var_25_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_25_cast_fp16")];
23
+ tensor<fp16, [1, 1, 1, 640]> input_5_cast_fp16 = add(x = var_23_cast_fp16, y = var_25_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
24
+ tensor<fp16, [1, 1, 1, 640]> input_7_cast_fp16 = relu(x = input_5_cast_fp16)[name = tensor<string, []>("input_7_cast_fp16")];
25
+ tensor<fp16, [13088, 640]> module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [13088, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2132800)))];
26
+ tensor<fp16, [13088]> module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [13088]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(18885504)))];
27
+ tensor<fp16, [1, 1, 1, 13088]> linear_2_cast_fp16 = linear(bias = module_joint_net_2_bias_to_fp16, weight = module_joint_net_2_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
28
+ tensor<string, []> linear_2_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("linear_2_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
29
+ tensor<fp32, [1, 1, 1, 13088]> logits = cast(dtype = linear_2_cast_fp16_to_fp32_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("cast_0")];
30
+ } -> (logits);
31
+ }
multilingual/560ms/metadata.json ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "nvidia/nemotron-3.5-asr-streaming-0.6b",
3
+ "model_class": "nemo.collections.asr.models.rnnt_bpe_models_prompt.EncDecRNNTBPEModelWithPrompt",
4
+ "sample_rate": 16000,
5
+ "mel_features": 128,
6
+ "chunk_mel_frames": 56,
7
+ "pre_encode_cache": 9,
8
+ "total_mel_frames": 65,
9
+ "att_context_size": [
10
+ 42,
11
+ 13
12
+ ],
13
+ "vocab_size": 13087,
14
+ "blank_idx": 13087,
15
+ "cache_channel_shape": [
16
+ 1,
17
+ 24,
18
+ 42,
19
+ 1024
20
+ ],
21
+ "cache_time_shape": [
22
+ 1,
23
+ 24,
24
+ 1024,
25
+ 8
26
+ ],
27
+ "decoder_hidden": 640,
28
+ "decoder_layers": 2,
29
+ "encoder_dim": 1024,
30
+ "num_prompts": 128,
31
+ "prompt_dictionary": {
32
+ "en-US": 0,
33
+ "en": 0,
34
+ "en-GB": 1,
35
+ "enGB": 1,
36
+ "es-ES": 2,
37
+ "esES": 2,
38
+ "es-US": 3,
39
+ "es": 3,
40
+ "zh-CN": 4,
41
+ "zh-ZH": 4,
42
+ "zh-TW": 5,
43
+ "hi-IN": 6,
44
+ "hi": 6,
45
+ "hi-HI": 6,
46
+ "ar-AR": 7,
47
+ "ar": 7,
48
+ "fr-FR": 8,
49
+ "fr": 8,
50
+ "de-DE": 9,
51
+ "de": 9,
52
+ "ja-JP": 10,
53
+ "ja-JA": 10,
54
+ "ru-RU": 11,
55
+ "ru": 11,
56
+ "pt-BR": 12,
57
+ "pt-PT": 13,
58
+ "pt": 13,
59
+ "ko-KR": 14,
60
+ "ko": 14,
61
+ "ko-KO": 14,
62
+ "it-IT": 15,
63
+ "it": 15,
64
+ "nl-NL": 16,
65
+ "nl": 16,
66
+ "pl-PL": 17,
67
+ "pl": 17,
68
+ "tr-TR": 18,
69
+ "tr": 18,
70
+ "uk-UA": 19,
71
+ "uk": 19,
72
+ "ro-RO": 20,
73
+ "ro": 20,
74
+ "el-GR": 21,
75
+ "el": 21,
76
+ "cs-CZ": 22,
77
+ "cs": 22,
78
+ "hu-HU": 23,
79
+ "hu": 23,
80
+ "sv-SE": 24,
81
+ "sv": 24,
82
+ "da-DK": 25,
83
+ "da": 25,
84
+ "fi-FI": 26,
85
+ "fi": 26,
86
+ "no-NO": 27,
87
+ "no": 27,
88
+ "nb-NO": 103,
89
+ "nb": 103,
90
+ "nn-NO": 104,
91
+ "nn": 104,
92
+ "sk-SK": 28,
93
+ "sk": 28,
94
+ "hr-HR": 29,
95
+ "hr": 29,
96
+ "bg-BG": 30,
97
+ "bg": 30,
98
+ "lt-LT": 31,
99
+ "lt": 31,
100
+ "et-EE": 60,
101
+ "et": 60,
102
+ "lv-LV": 61,
103
+ "lv": 61,
104
+ "sl-SI": 62,
105
+ "sl": 62,
106
+ "th-TH": 32,
107
+ "vi-VN": 33,
108
+ "id-ID": 34,
109
+ "ms-MY": 35,
110
+ "bn-IN": 36,
111
+ "ur-PK": 37,
112
+ "fa-IR": 38,
113
+ "ta-IN": 39,
114
+ "te-IN": 40,
115
+ "mr-IN": 41,
116
+ "gu-IN": 42,
117
+ "kn-IN": 43,
118
+ "ml-IN": 44,
119
+ "si-LK": 45,
120
+ "ne-NP": 46,
121
+ "km-KH": 47,
122
+ "sw-KE": 48,
123
+ "am-ET": 49,
124
+ "ha-NG": 50,
125
+ "zu-ZA": 51,
126
+ "yo-NG": 52,
127
+ "ig-NG": 53,
128
+ "af-ZA": 54,
129
+ "rw-RW": 55,
130
+ "so-SO": 56,
131
+ "ny-MW": 57,
132
+ "ln-CD": 58,
133
+ "or-KE": 59,
134
+ "he-IL": 64,
135
+ "ku-TR": 65,
136
+ "az-AZ": 66,
137
+ "ka-GE": 67,
138
+ "hy-AM": 68,
139
+ "uz-UZ": 69,
140
+ "tg-TJ": 70,
141
+ "ky-KG": 71,
142
+ "qu-PE": 80,
143
+ "ay-BO": 81,
144
+ "gn-PY": 82,
145
+ "nah-MX": 83,
146
+ "mi-NZ": 96,
147
+ "haw-US": 97,
148
+ "sm-WS": 98,
149
+ "to-TO": 99,
150
+ "fr-CA": 100,
151
+ "mt-MT": 102,
152
+ "auto": 101
153
+ },
154
+ "default_prompt_id": 101,
155
+ "lang_tag_token_ids": [
156
+ 1,
157
+ 256,
158
+ 397,
159
+ 518,
160
+ 673,
161
+ 814,
162
+ 907,
163
+ 993,
164
+ 1125,
165
+ 1232,
166
+ 1279,
167
+ 1383,
168
+ 1455,
169
+ 1603,
170
+ 1724,
171
+ 1841,
172
+ 1929,
173
+ 2021,
174
+ 2124,
175
+ 2205,
176
+ 2322,
177
+ 2440,
178
+ 2529,
179
+ 2809,
180
+ 2947,
181
+ 2986,
182
+ 3051,
183
+ 3064,
184
+ 3134,
185
+ 3247,
186
+ 3446,
187
+ 7489,
188
+ 9532,
189
+ 9544,
190
+ 9596,
191
+ 9695,
192
+ 9815,
193
+ 9847,
194
+ 12944
195
+ ]
196
+ }
multilingual/560ms/preprocessor.mlmodelc/model.mil ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, ?]> audio, tensor<int32, [1]> audio_length) [FlexibleShapeInformation = tuple<tuple<tensor<string, []>, dict<tensor<string, []>, tensor<int32, [?]>>>, tuple<tensor<string, []>, dict<tensor<string, []>, list<tensor<int32, [2]>, ?>>>>((("DefaultShapes", {{"audio", [1, 1]}}), ("RangeDims", {{"audio", [[1, 1], [1, 1280000]]}})))] {
5
+ tensor<int32, []> var_9 = const()[name = tensor<string, []>("op_9"), val = tensor<int32, []>(1)];
6
+ tensor<int32, []> var_10 = const()[name = tensor<string, []>("op_10"), val = tensor<int32, []>(160)];
7
+ tensor<int32, []> var_12 = const()[name = tensor<string, []>("op_12"), val = tensor<int32, []>(0)];
8
+ tensor<int32, []> var_33 = const()[name = tensor<string, []>("op_33"), val = tensor<int32, []>(512)];
9
+ tensor<int32, [1]> var_34 = add(x = audio_length, y = var_33)[name = tensor<string, []>("op_34")];
10
+ tensor<int32, []> var_35 = const()[name = tensor<string, []>("op_35"), val = tensor<int32, []>(512)];
11
+ tensor<int32, [1]> var_36 = sub(x = var_34, y = var_35)[name = tensor<string, []>("op_36")];
12
+ tensor<int32, [1]> floor_div_0 = floor_div(x = var_36, y = var_10)[name = tensor<string, []>("floor_div_0")];
13
+ tensor<bool, [1]> var_39 = equal(x = audio_length, y = var_12)[name = tensor<string, []>("op_39")];
14
+ tensor<int32, [1]> var_40 = const()[name = tensor<string, []>("op_40"), val = tensor<int32, [1]>([0])];
15
+ tensor<int32, [1]> mel_length = select(a = var_40, b = floor_div_0, cond = var_39)[name = tensor<string, []>("seq_len")];
16
+ tensor<string, []> audio_to_fp16_dtype_0 = const()[name = tensor<string, []>("audio_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
17
+ tensor<fp16, [1, ?]> audio_to_fp16 = cast(dtype = audio_to_fp16_dtype_0, x = audio)[name = tensor<string, []>("cast_14")];
18
+ tensor<int32, [2]> var_42_shape_cast_fp16 = shape(x = audio_to_fp16)[name = tensor<string, []>("op_42_shape_cast_fp16")];
19
+ tensor<int32, []> gather_0_axis_0 = const()[name = tensor<string, []>("gather_0_axis_0"), val = tensor<int32, []>(0)];
20
+ tensor<int32, []> gather_0_batch_dims_0 = const()[name = tensor<string, []>("gather_0_batch_dims_0"), val = tensor<int32, []>(0)];
21
+ tensor<bool, []> gather_0_validate_indices_0 = const()[name = tensor<string, []>("gather_0_validate_indices_0"), val = tensor<bool, []>(false)];
22
+ tensor<string, []> var_42_shape_cast_fp16_to_int16_dtype_0 = const()[name = tensor<string, []>("op_42_shape_cast_fp16_to_int16_dtype_0"), val = tensor<string, []>("int16")];
23
+ tensor<uint16, []> select_0_to_uint16 = const()[name = tensor<string, []>("select_0_to_uint16"), val = tensor<uint16, []>(1)];
24
+ tensor<int16, [2]> var_42_shape_cast_fp16_to_int16 = cast(dtype = var_42_shape_cast_fp16_to_int16_dtype_0, x = var_42_shape_cast_fp16)[name = tensor<string, []>("cast_13")];
25
+ tensor<int16, []> gather_0_cast_uint16 = gather(axis = gather_0_axis_0, batch_dims = gather_0_batch_dims_0, indices = select_0_to_uint16, validate_indices = gather_0_validate_indices_0, x = var_42_shape_cast_fp16_to_int16)[name = tensor<string, []>("gather_0_cast_uint16")];
26
+ tensor<string, []> gather_0_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_0_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
27
+ tensor<int32, []> const_0 = const()[name = tensor<string, []>("const_0"), val = tensor<int32, []>(0)];
28
+ tensor<int32, []> const_1 = const()[name = tensor<string, []>("const_1"), val = tensor<int32, []>(1)];
29
+ tensor<int32, []> gather_0_cast_uint16_to_int32 = cast(dtype = gather_0_cast_uint16_to_int32_dtype_0, x = gather_0_cast_uint16)[name = tensor<string, []>("cast_12")];
30
+ tensor<int32, [?]> var_43 = range_1d(end = gather_0_cast_uint16_to_int32, start = const_0, step = const_1)[name = tensor<string, []>("op_43")];
31
+ tensor<int32, [1]> var_44_axes_0 = const()[name = tensor<string, []>("op_44_axes_0"), val = tensor<int32, [1]>([0])];
32
+ tensor<int32, [1, ?]> var_44 = expand_dims(axes = var_44_axes_0, x = var_43)[name = tensor<string, []>("op_44")];
33
+ tensor<int32, [1]> var_45_axes_0 = const()[name = tensor<string, []>("op_45_axes_0"), val = tensor<int32, [1]>([1])];
34
+ tensor<int32, [1, 1]> var_45 = expand_dims(axes = var_45_axes_0, x = audio_length)[name = tensor<string, []>("op_45")];
35
+ tensor<bool, [1, ?]> timemask = less(x = var_44, y = var_45)[name = tensor<string, []>("timemask")];
36
+ tensor<int32, [2]> var_48_begin_0 = const()[name = tensor<string, []>("op_48_begin_0"), val = tensor<int32, [2]>([0, 0])];
37
+ tensor<int32, [2]> var_48_end_0 = const()[name = tensor<string, []>("op_48_end_0"), val = tensor<int32, [2]>([1, 1])];
38
+ tensor<bool, [2]> var_48_end_mask_0 = const()[name = tensor<string, []>("op_48_end_mask_0"), val = tensor<bool, [2]>([true, false])];
39
+ tensor<bool, [2]> var_48_squeeze_mask_0 = const()[name = tensor<string, []>("op_48_squeeze_mask_0"), val = tensor<bool, [2]>([false, true])];
40
+ tensor<fp16, [1]> var_48_cast_fp16 = slice_by_index(begin = var_48_begin_0, end = var_48_end_0, end_mask = var_48_end_mask_0, squeeze_mask = var_48_squeeze_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_48_cast_fp16")];
41
+ tensor<int32, [1]> var_49_axes_0 = const()[name = tensor<string, []>("op_49_axes_0"), val = tensor<int32, [1]>([1])];
42
+ tensor<fp16, [1, 1]> var_49_cast_fp16 = expand_dims(axes = var_49_axes_0, x = var_48_cast_fp16)[name = tensor<string, []>("op_49_cast_fp16")];
43
+ tensor<int32, [2]> var_51_begin_0 = const()[name = tensor<string, []>("op_51_begin_0"), val = tensor<int32, [2]>([0, 1])];
44
+ tensor<int32, [2]> var_51_end_0 = const()[name = tensor<string, []>("op_51_end_0"), val = tensor<int32, [2]>([1, 0])];
45
+ tensor<bool, [2]> var_51_end_mask_0 = const()[name = tensor<string, []>("op_51_end_mask_0"), val = tensor<bool, [2]>([true, true])];
46
+ tensor<fp16, [1, ?]> var_51_cast_fp16 = slice_by_index(begin = var_51_begin_0, end = var_51_end_0, end_mask = var_51_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_51_cast_fp16")];
47
+ tensor<int32, [2]> var_53_begin_0 = const()[name = tensor<string, []>("op_53_begin_0"), val = tensor<int32, [2]>([0, 0])];
48
+ tensor<int32, [2]> var_53_end_0 = const()[name = tensor<string, []>("op_53_end_0"), val = tensor<int32, [2]>([1, -1])];
49
+ tensor<bool, [2]> var_53_end_mask_0 = const()[name = tensor<string, []>("op_53_end_mask_0"), val = tensor<bool, [2]>([true, false])];
50
+ tensor<fp16, [1, ?]> var_53_cast_fp16 = slice_by_index(begin = var_53_begin_0, end = var_53_end_0, end_mask = var_53_end_mask_0, x = audio_to_fp16)[name = tensor<string, []>("op_53_cast_fp16")];
51
+ tensor<fp16, []> var_54_to_fp16 = const()[name = tensor<string, []>("op_54_to_fp16"), val = tensor<fp16, []>(0x1.f0cp-1)];
52
+ tensor<fp16, [1, ?]> var_55_cast_fp16 = mul(x = var_53_cast_fp16, y = var_54_to_fp16)[name = tensor<string, []>("op_55_cast_fp16")];
53
+ tensor<fp16, [1, ?]> var_56_cast_fp16 = sub(x = var_51_cast_fp16, y = var_55_cast_fp16)[name = tensor<string, []>("op_56_cast_fp16")];
54
+ tensor<bool, []> x_3_interleave_0 = const()[name = tensor<string, []>("x_3_interleave_0"), val = tensor<bool, []>(false)];
55
+ tensor<fp16, [1, ?]> x_3_cast_fp16 = concat(axis = var_9, interleave = x_3_interleave_0, values = (var_49_cast_fp16, var_56_cast_fp16))[name = tensor<string, []>("x_3_cast_fp16")];
56
+ tensor<bool, [1, ?]> var_59 = logical_not(x = timemask)[name = tensor<string, []>("op_59")];
57
+ tensor<fp16, []> var_16_to_fp16 = const()[name = tensor<string, []>("op_16_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
58
+ tensor<fp16, [1, ?]> input_1_cast_fp16 = select(a = var_16_to_fp16, b = x_3_cast_fp16, cond = var_59)[name = tensor<string, []>("input_1_cast_fp16")];
59
+ tensor<int32, [3]> concat_1x = const()[name = tensor<string, []>("concat_1x"), val = tensor<int32, [3]>([1, 1, -1])];
60
+ tensor<fp16, [1, 1, ?]> input_3_cast_fp16 = reshape(shape = concat_1x, x = input_1_cast_fp16)[name = tensor<string, []>("input_3_cast_fp16")];
61
+ tensor<int32, [6]> input_5_pad_0 = const()[name = tensor<string, []>("input_5_pad_0"), val = tensor<int32, [6]>([0, 0, 0, 0, 256, 256])];
62
+ tensor<string, []> input_5_mode_0 = const()[name = tensor<string, []>("input_5_mode_0"), val = tensor<string, []>("constant")];
63
+ tensor<fp16, []> const_3_to_fp16 = const()[name = tensor<string, []>("const_3_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
64
+ tensor<fp16, [1, 1, ?]> input_5_cast_fp16 = pad(constant_val = const_3_to_fp16, mode = input_5_mode_0, pad = input_5_pad_0, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
65
+ tensor<int32, [2]> concat_2x = const()[name = tensor<string, []>("concat_2x"), val = tensor<int32, [2]>([1, -1])];
66
+ tensor<fp16, [1, ?]> input_cast_fp16 = reshape(shape = concat_2x, x = input_5_cast_fp16)[name = tensor<string, []>("input_cast_fp16")];
67
+ tensor<int32, [1]> expand_dims_3 = const()[name = tensor<string, []>("expand_dims_3"), val = tensor<int32, [1]>([160])];
68
+ tensor<int32, [1]> expand_dims_4_axes_0 = const()[name = tensor<string, []>("expand_dims_4_axes_0"), val = tensor<int32, [1]>([1])];
69
+ tensor<fp16, [1, 1, ?]> expand_dims_4_cast_fp16 = expand_dims(axes = expand_dims_4_axes_0, x = input_cast_fp16)[name = tensor<string, []>("expand_dims_4_cast_fp16")];
70
+ tensor<string, []> conv_0_pad_type_0 = const()[name = tensor<string, []>("conv_0_pad_type_0"), val = tensor<string, []>("valid")];
71
+ tensor<int32, [2]> conv_0_pad_0 = const()[name = tensor<string, []>("conv_0_pad_0"), val = tensor<int32, [2]>([0, 0])];
72
+ tensor<int32, [1]> conv_0_dilations_0 = const()[name = tensor<string, []>("conv_0_dilations_0"), val = tensor<int32, [1]>([1])];
73
+ tensor<int32, []> conv_0_groups_0 = const()[name = tensor<string, []>("conv_0_groups_0"), val = tensor<int32, []>(1)];
74
+ tensor<fp16, [257, 1, 512]> expand_dims_1_to_fp16 = const()[name = tensor<string, []>("expand_dims_1_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
75
+ tensor<fp16, [1, 257, ?]> conv_0_cast_fp16 = conv(dilations = conv_0_dilations_0, groups = conv_0_groups_0, pad = conv_0_pad_0, pad_type = conv_0_pad_type_0, strides = expand_dims_3, weight = expand_dims_1_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_0_cast_fp16")];
76
+ tensor<string, []> conv_1_pad_type_0 = const()[name = tensor<string, []>("conv_1_pad_type_0"), val = tensor<string, []>("valid")];
77
+ tensor<int32, [2]> conv_1_pad_0 = const()[name = tensor<string, []>("conv_1_pad_0"), val = tensor<int32, [2]>([0, 0])];
78
+ tensor<int32, [1]> conv_1_dilations_0 = const()[name = tensor<string, []>("conv_1_dilations_0"), val = tensor<int32, [1]>([1])];
79
+ tensor<int32, []> conv_1_groups_0 = const()[name = tensor<string, []>("conv_1_groups_0"), val = tensor<int32, []>(1)];
80
+ tensor<fp16, [257, 1, 512]> expand_dims_2_to_fp16 = const()[name = tensor<string, []>("expand_dims_2_to_fp16"), val = tensor<fp16, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(263296)))];
81
+ tensor<fp16, [1, 257, ?]> conv_1_cast_fp16 = conv(dilations = conv_1_dilations_0, groups = conv_1_groups_0, pad = conv_1_pad_0, pad_type = conv_1_pad_type_0, strides = expand_dims_3, weight = expand_dims_2_to_fp16, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_1_cast_fp16")];
82
+ tensor<int32, []> stack_0_axis_0 = const()[name = tensor<string, []>("stack_0_axis_0"), val = tensor<int32, []>(-1)];
83
+ tensor<fp16, [1, 257, ?, 2]> stack_0_cast_fp16 = stack(axis = stack_0_axis_0, values = (conv_0_cast_fp16, conv_1_cast_fp16))[name = tensor<string, []>("stack_0_cast_fp16")];
84
+ tensor<fp16, []> var_19_promoted_to_fp16 = const()[name = tensor<string, []>("op_19_promoted_to_fp16"), val = tensor<fp16, []>(0x1p+1)];
85
+ tensor<fp16, [1, 257, ?, 2]> var_74_cast_fp16 = pow(x = stack_0_cast_fp16, y = var_19_promoted_to_fp16)[name = tensor<string, []>("op_74_cast_fp16")];
86
+ tensor<int32, [1]> var_76_axes_0 = const()[name = tensor<string, []>("op_76_axes_0"), val = tensor<int32, [1]>([-1])];
87
+ tensor<bool, []> var_76_keep_dims_0 = const()[name = tensor<string, []>("op_76_keep_dims_0"), val = tensor<bool, []>(false)];
88
+ tensor<fp16, [1, 257, ?]> var_76_cast_fp16 = reduce_sum(axes = var_76_axes_0, keep_dims = var_76_keep_dims_0, x = var_74_cast_fp16)[name = tensor<string, []>("op_76_cast_fp16")];
89
+ tensor<fp16, [1, 257, ?]> x_11_cast_fp16 = identity(x = var_76_cast_fp16)[name = tensor<string, []>("x_11_cast_fp16")];
90
+ tensor<bool, []> x_13_transpose_x_0 = const()[name = tensor<string, []>("x_13_transpose_x_0"), val = tensor<bool, []>(false)];
91
+ tensor<bool, []> x_13_transpose_y_0 = const()[name = tensor<string, []>("x_13_transpose_y_0"), val = tensor<bool, []>(false)];
92
+ tensor<fp16, [1, 128, 257]> const_4_to_fp16 = const()[name = tensor<string, []>("const_4_to_fp16"), val = tensor<fp16, [1, 128, 257]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(526528)))];
93
+ tensor<fp16, [1, 128, ?]> x_13_cast_fp16 = matmul(transpose_x = x_13_transpose_x_0, transpose_y = x_13_transpose_y_0, x = const_4_to_fp16, y = x_11_cast_fp16)[name = tensor<string, []>("x_13_cast_fp16")];
94
+ tensor<fp16, []> var_83_to_fp16 = const()[name = tensor<string, []>("op_83_to_fp16"), val = tensor<fp16, []>(0x1p-24)];
95
+ tensor<fp16, [1, 128, ?]> var_84_cast_fp16 = add(x = x_13_cast_fp16, y = var_83_to_fp16)[name = tensor<string, []>("op_84_cast_fp16")];
96
+ tensor<fp32, []> x_epsilon_0 = const()[name = tensor<string, []>("x_epsilon_0"), val = tensor<fp32, []>(0x1p-149)];
97
+ tensor<fp16, [1, 128, ?]> x_cast_fp16 = log(epsilon = x_epsilon_0, x = var_84_cast_fp16)[name = tensor<string, []>("x_cast_fp16")];
98
+ tensor<int32, [3]> var_86_shape_cast_fp16 = shape(x = x_cast_fp16)[name = tensor<string, []>("op_86_shape_cast_fp16")];
99
+ tensor<int32, []> gather_5_axis_0 = const()[name = tensor<string, []>("gather_5_axis_0"), val = tensor<int32, []>(0)];
100
+ tensor<int32, []> gather_5_batch_dims_0 = const()[name = tensor<string, []>("gather_5_batch_dims_0"), val = tensor<int32, []>(0)];
101
+ tensor<bool, []> gather_5_validate_indices_0 = const()[name = tensor<string, []>("gather_5_validate_indices_0"), val = tensor<bool, []>(false)];
102
+ tensor<string, []> var_86_shape_cast_fp16_to_uint16_dtype_0 = const()[name = tensor<string, []>("op_86_shape_cast_fp16_to_uint16_dtype_0"), val = tensor<string, []>("uint16")];
103
+ tensor<uint16, []> select_5_to_uint16 = const()[name = tensor<string, []>("select_5_to_uint16"), val = tensor<uint16, []>(2)];
104
+ tensor<uint16, [3]> var_86_shape_cast_fp16_to_uint16 = cast(dtype = var_86_shape_cast_fp16_to_uint16_dtype_0, x = var_86_shape_cast_fp16)[name = tensor<string, []>("cast_11")];
105
+ tensor<uint16, []> gather_5_cast_uint16 = gather(axis = gather_5_axis_0, batch_dims = gather_5_batch_dims_0, indices = select_5_to_uint16, validate_indices = gather_5_validate_indices_0, x = var_86_shape_cast_fp16_to_uint16)[name = tensor<string, []>("gather_5_cast_uint16")];
106
+ tensor<string, []> gather_5_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_5_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
107
+ tensor<int32, []> const_5 = const()[name = tensor<string, []>("const_5"), val = tensor<int32, []>(0)];
108
+ tensor<int32, []> const_6 = const()[name = tensor<string, []>("const_6"), val = tensor<int32, []>(1)];
109
+ tensor<int32, []> gather_5_cast_uint16_to_int32 = cast(dtype = gather_5_cast_uint16_to_int32_dtype_0, x = gather_5_cast_uint16)[name = tensor<string, []>("cast_10")];
110
+ tensor<int32, [?]> mask_1 = range_1d(end = gather_5_cast_uint16_to_int32, start = const_5, step = const_6)[name = tensor<string, []>("mask_1")];
111
+ tensor<int32, [1]> expand_dims_0_axes_0 = const()[name = tensor<string, []>("expand_dims_0_axes_0"), val = tensor<int32, [1]>([0])];
112
+ tensor<int32, [1, ?]> expand_dims_0 = expand_dims(axes = expand_dims_0_axes_0, x = mask_1)[name = tensor<string, []>("expand_dims_0")];
113
+ tensor<int32, [1]> var_91_axes_0 = const()[name = tensor<string, []>("op_91_axes_0"), val = tensor<int32, [1]>([1])];
114
+ tensor<int32, [1, 1]> var_91 = expand_dims(axes = var_91_axes_0, x = mel_length)[name = tensor<string, []>("op_91")];
115
+ tensor<bool, [1, ?]> mask = greater_equal(x = expand_dims_0, y = var_91)[name = tensor<string, []>("mask")];
116
+ tensor<int32, [1]> var_93_axes_0 = const()[name = tensor<string, []>("op_93_axes_0"), val = tensor<int32, [1]>([1])];
117
+ tensor<bool, [1, 1, ?]> var_93 = expand_dims(axes = var_93_axes_0, x = mask)[name = tensor<string, []>("op_93")];
118
+ tensor<fp16, [1, 128, ?]> processed_signal_cast_fp16 = select(a = var_16_to_fp16, b = x_cast_fp16, cond = var_93)[name = tensor<string, []>("processed_signal_cast_fp16")];
119
+ tensor<string, []> processed_signal_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("processed_signal_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
120
+ tensor<fp32, [1, 128, ?]> mel = cast(dtype = processed_signal_cast_fp16_to_fp32_dtype_0, x = processed_signal_cast_fp16)[name = tensor<string, []>("cast_9")];
121
+ } -> (mel, mel_length);
122
+ }
multilingual/560ms/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff