alexwengg commited on
Commit
0b469de
·
verified ·
1 Parent(s): e8e16d6

Upload 35 files

Browse files
Files changed (35) hide show
  1. README.md +131 -0
  2. metadata.json +88 -0
  3. parakeet_eou_decoder.mlmodelc/analytics/coremldata.bin +3 -0
  4. parakeet_eou_decoder.mlmodelc/coremldata.bin +3 -0
  5. parakeet_eou_decoder.mlmodelc/metadata.json +122 -0
  6. parakeet_eou_decoder.mlmodelc/model.mil +54 -0
  7. parakeet_eou_decoder.mlmodelc/weights/weight.bin +3 -0
  8. parakeet_eou_decoder.mlpackage/Data/com.apple.CoreML/model.mlmodel +3 -0
  9. parakeet_eou_decoder.mlpackage/Data/com.apple.CoreML/weights/weight.bin +3 -0
  10. parakeet_eou_decoder.mlpackage/Manifest.json +18 -0
  11. parakeet_eou_encoder.mlmodelc/analytics/coremldata.bin +3 -0
  12. parakeet_eou_encoder.mlmodelc/coremldata.bin +3 -0
  13. parakeet_eou_encoder.mlmodelc/metadata.json +116 -0
  14. parakeet_eou_encoder.mlmodelc/model.mil +0 -0
  15. parakeet_eou_encoder.mlmodelc/weights/weight.bin +3 -0
  16. parakeet_eou_encoder.mlpackage/Data/com.apple.CoreML/model.mlmodel +3 -0
  17. parakeet_eou_encoder.mlpackage/Data/com.apple.CoreML/weights/weight.bin +3 -0
  18. parakeet_eou_encoder.mlpackage/Manifest.json +18 -0
  19. parakeet_eou_joint_decision_single_step.mlmodelc/analytics/coremldata.bin +3 -0
  20. parakeet_eou_joint_decision_single_step.mlmodelc/coremldata.bin +3 -0
  21. parakeet_eou_joint_decision_single_step.mlmodelc/metadata.json +113 -0
  22. parakeet_eou_joint_decision_single_step.mlmodelc/model.mil +57 -0
  23. parakeet_eou_joint_decision_single_step.mlmodelc/weights/weight.bin +3 -0
  24. parakeet_eou_joint_decision_single_step.mlpackage/Data/com.apple.CoreML/model.mlmodel +3 -0
  25. parakeet_eou_joint_decision_single_step.mlpackage/Data/com.apple.CoreML/weights/weight.bin +3 -0
  26. parakeet_eou_joint_decision_single_step.mlpackage/Manifest.json +18 -0
  27. parakeet_eou_preprocessor.mlmodelc/analytics/coremldata.bin +3 -0
  28. parakeet_eou_preprocessor.mlmodelc/coremldata.bin +3 -0
  29. parakeet_eou_preprocessor.mlmodelc/metadata.json +109 -0
  30. parakeet_eou_preprocessor.mlmodelc/model.mil +123 -0
  31. parakeet_eou_preprocessor.mlmodelc/weights/weight.bin +3 -0
  32. parakeet_eou_preprocessor.mlpackage/Data/com.apple.CoreML/model.mlmodel +3 -0
  33. parakeet_eou_preprocessor.mlpackage/Data/com.apple.CoreML/weights/weight.bin +3 -0
  34. parakeet_eou_preprocessor.mlpackage/Manifest.json +18 -0
  35. vocab.json +1037 -0
README.md ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Parakeet Realtime EOU 120M - CoreML
2
+
3
+ CoreML conversion of [nvidia/parakeet_realtime_eou_120m-v1](https://huggingface.co/nvidia/parakeet_realtime_eou_120m-v1) for Apple platforms.
4
+
5
+ ## Model Overview
6
+
7
+ | Property | Value |
8
+ |----------|-------|
9
+ | **Architecture** | FastConformer-RNNT (Cache-aware streaming) |
10
+ | **Parameters** | 120M |
11
+ | **Sample Rate** | 16kHz mono |
12
+ | **Vocab Size** | 1026 (+ blank = 1027) |
13
+ | **Max Audio** | 15 seconds (240,000 samples) |
14
+ | **Latency** | 80-160ms streaming |
15
+
16
+ ## Key Features
17
+
18
+ - **End-of-Utterance Detection**: Emits `<EOU>` token (ID 1024) when speaker finishes
19
+ - **Low Latency**: Optimized for real-time streaming with 80-160ms latency
20
+ - **Compact**: 120M parameters vs 600M for Parakeet TDT v3
21
+
22
+ ## Components
23
+
24
+ | Component | File | Size | Description |
25
+ |-----------|------|------|-------------|
26
+ | Preprocessor | `parakeet_eou_preprocessor.mlmodelc` | 600KB | Audio waveform to mel spectrogram |
27
+ | Encoder | `parakeet_eou_encoder.mlmodelc` | 207MB | Mel spectrogram to encoder features |
28
+ | Decoder | `parakeet_eou_decoder.mlmodelc` | 7.5MB | RNNT prediction network (LSTM) |
29
+ | Joint | `parakeet_eou_joint_decision_single_step.mlmodelc` | 2.7MB | Joint network with argmax decision |
30
+
31
+ ## Input/Output Shapes
32
+
33
+ ### Preprocessor
34
+ - **Input**: `audio_signal` [1, S], `audio_length` [1]
35
+ - **Output**: `mel` [1, 128, T], `mel_length` [1]
36
+
37
+ ### Encoder
38
+ - **Input**: `mel` [1, 128, 1501], `mel_length` [1]
39
+ - **Output**: `encoder` [1, 512, 189], `encoder_length` [1], `frame_times` [1, 189]
40
+
41
+ ### Decoder
42
+ - **Input**: `targets` [1, 1], `target_length` [1], `h_in` [1, 1, 640], `c_in` [1, 1, 640]
43
+ - **Output**: `decoder` [1, 640, 1], `h_out` [1, 1, 640], `c_out` [1, 1, 640]
44
+
45
+ ### Joint Decision Single Step
46
+ - **Input**: `encoder_step` [1, 512, 1], `decoder_step` [1, 640, 1]
47
+ - **Output**: `token_id` [1, 1, 1], `token_prob` [1, 1, 1], `top_k_ids` [1, 1, 1, 64], `top_k_logits` [1, 1, 1, 64]
48
+
49
+ ## RNNT Decoding Loop
50
+
51
+ ```swift
52
+ // Initialize decoder state
53
+ var h = zeros([1, 1, 640])
54
+ var c = zeros([1, 1, 640])
55
+ var lastToken = blankId // 1026
56
+
57
+ // Process each encoder frame
58
+ for frameIdx in 0..<encoderLength {
59
+ let encoderStep = encoder[:, :, frameIdx:frameIdx+1]
60
+
61
+ while true {
62
+ // Run decoder with last token
63
+ let (decoderOut, hNew, cNew) = decoder(lastToken, h, c)
64
+
65
+ // Get token decision
66
+ let (tokenId, prob, _, _) = joint(encoderStep, decoderOut)
67
+
68
+ if tokenId == blankId {
69
+ break // Move to next frame
70
+ }
71
+
72
+ // Emit token
73
+ tokens.append(tokenId)
74
+ lastToken = tokenId
75
+ h = hNew
76
+ c = cNew
77
+
78
+ // Check for end-of-utterance
79
+ if tokenId == eouId { // 1024
80
+ // Utterance complete
81
+ }
82
+ }
83
+ }
84
+ ```
85
+
86
+ ## Special Tokens
87
+
88
+ | Token | ID | Description |
89
+ |-------|-----|-------------|
90
+ | `<EOU>` | 1024 | End-of-utterance marker |
91
+ | `<EOB>` | 1025 | End-of-block marker |
92
+ | `<blank>` | 1026 | RNNT blank token |
93
+
94
+ ## Platform Requirements
95
+
96
+ - iOS 17.0+
97
+ - macOS 14.0+
98
+ - Compute Units: CPU_ONLY (compatible with all devices)
99
+
100
+ ## Files
101
+
102
+ ```
103
+ parakeet_eou_coreml/
104
+ ├── metadata.json # Model configuration
105
+ ├── vocab.json # Tokenizer vocabulary
106
+ ├── parakeet_eou_preprocessor.mlmodelc/ # Compiled preprocessor
107
+ ├── parakeet_eou_encoder.mlmodelc/ # Compiled encoder
108
+ ├── parakeet_eou_decoder.mlmodelc/ # Compiled decoder
109
+ ├── parakeet_eou_joint_decision_single_step.mlmodelc/ # Compiled joint
110
+ ├── parakeet_eou_preprocessor.mlpackage/ # Source preprocessor
111
+ ├── parakeet_eou_encoder.mlpackage/ # Source encoder
112
+ ├── parakeet_eou_decoder.mlpackage/ # Source decoder
113
+ └── parakeet_eou_joint_decision_single_step.mlpackage/ # Source joint
114
+ ```
115
+
116
+ ## License
117
+
118
+ This model conversion follows the license of the original NVIDIA model.
119
+ See [nvidia/parakeet_realtime_eou_120m-v1](https://huggingface.co/nvidia/parakeet_realtime_eou_120m-v1) for details.
120
+
121
+ ## Citation
122
+
123
+ ```bibtex
124
+ @misc{nvidia_parakeet_eou,
125
+ title={Parakeet Realtime EOU 120M},
126
+ author={NVIDIA},
127
+ year={2024},
128
+ publisher={HuggingFace},
129
+ url={https://huggingface.co/nvidia/parakeet_realtime_eou_120m-v1}
130
+ }
131
+ ```
metadata.json ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_id": "nvidia/parakeet_realtime_eou_120m-v1",
3
+ "model_name": "parakeet_realtime_eou_120m-v1",
4
+ "model_class": "EncDecRNNTBPEModel",
5
+ "encoder_class": "ConformerEncoder",
6
+ "sample_rate": 16000,
7
+ "max_audio_seconds": 15.0,
8
+ "max_audio_samples": 240000,
9
+ "max_symbol_steps": 1,
10
+ "vocab_size": 1026,
11
+ "vocab_with_blank": 1027,
12
+ "decoder_hidden": 640,
13
+ "decoder_layers": 1,
14
+ "num_extra_outputs": 0,
15
+ "has_eou_token": true,
16
+ "checkpoint": {
17
+ "type": "pretrained",
18
+ "model_id": "nvidia/parakeet_realtime_eou_120m-v1"
19
+ },
20
+ "coreml": {
21
+ "compute_units": "CPU_ONLY",
22
+ "compute_precision": "FLOAT32"
23
+ },
24
+ "components": {
25
+ "preprocessor": {
26
+ "inputs": {
27
+ "audio_signal": [1, 240000],
28
+ "audio_length": [1]
29
+ },
30
+ "outputs": {
31
+ "mel": [1, 128, 1501],
32
+ "mel_length": [1]
33
+ },
34
+ "path": "parakeet_eou_preprocessor.mlpackage"
35
+ },
36
+ "encoder": {
37
+ "inputs": {
38
+ "mel": [1, 128, 1501],
39
+ "mel_length": [1]
40
+ },
41
+ "outputs": {
42
+ "encoder": [1, 512, 189],
43
+ "encoder_length": [1],
44
+ "frame_times": [1, 189]
45
+ },
46
+ "path": "parakeet_eou_encoder.mlpackage"
47
+ },
48
+ "decoder": {
49
+ "inputs": {
50
+ "targets": [1, 1],
51
+ "target_length": [1],
52
+ "h_in": [1, 1, 640],
53
+ "c_in": [1, 1, 640]
54
+ },
55
+ "outputs": {
56
+ "decoder": [1, 640, 1],
57
+ "h_out": [1, 1, 640],
58
+ "c_out": [1, 1, 640]
59
+ },
60
+ "path": "parakeet_eou_decoder.mlpackage"
61
+ },
62
+ "joint_decision_single_step": {
63
+ "inputs": {
64
+ "encoder_step": [1, 512, 1],
65
+ "decoder_step": [1, 640, 1]
66
+ },
67
+ "outputs": {
68
+ "token_id": [1, 1, 1],
69
+ "token_prob": [1, 1, 1],
70
+ "top_k_ids": [1, 1, 1, 64],
71
+ "top_k_logits": [1, 1, 1, 64]
72
+ },
73
+ "path": "parakeet_eou_joint_decision_single_step.mlpackage"
74
+ }
75
+ },
76
+ "tokenizer": {
77
+ "blank_id": 1026,
78
+ "vocab_size": 1026,
79
+ "eou_token": {
80
+ "token": "<EOU>",
81
+ "id": 1024
82
+ },
83
+ "eob_token": {
84
+ "token": "<EOB>",
85
+ "id": 1025
86
+ }
87
+ }
88
+ }
parakeet_eou_decoder.mlmodelc/analytics/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b5608d90a0bd35f0abbc10bd19588ff5689e9c30bb663d37962c03720eb76d70
3
+ size 243
parakeet_eou_decoder.mlmodelc/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:87a8d3145e2702a6999ede333e8155164121a391e531193b18eff88312b01479
3
+ size 556
parakeet_eou_decoder.mlmodelc/metadata.json ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "metadataOutputVersion" : "3.0",
4
+ "shortDescription" : "Parakeet EOU decoder (RNNT prediction network)",
5
+ "outputSchema" : [
6
+ {
7
+ "hasShapeFlexibility" : "0",
8
+ "isOptional" : "0",
9
+ "dataType" : "Float32",
10
+ "formattedType" : "MultiArray (Float32 1 × 640 × 1)",
11
+ "shortDescription" : "",
12
+ "shape" : "[1, 640, 1]",
13
+ "name" : "decoder",
14
+ "type" : "MultiArray"
15
+ },
16
+ {
17
+ "hasShapeFlexibility" : "0",
18
+ "isOptional" : "0",
19
+ "dataType" : "Float32",
20
+ "formattedType" : "MultiArray (Float32 1 × 1 × 640)",
21
+ "shortDescription" : "",
22
+ "shape" : "[1, 1, 640]",
23
+ "name" : "h_out",
24
+ "type" : "MultiArray"
25
+ },
26
+ {
27
+ "hasShapeFlexibility" : "0",
28
+ "isOptional" : "0",
29
+ "dataType" : "Float32",
30
+ "formattedType" : "MultiArray (Float32 1 × 1 × 640)",
31
+ "shortDescription" : "",
32
+ "shape" : "[1, 1, 640]",
33
+ "name" : "c_out",
34
+ "type" : "MultiArray"
35
+ }
36
+ ],
37
+ "storagePrecision" : "Float16",
38
+ "modelParameters" : [
39
+
40
+ ],
41
+ "author" : "Fluid Inference",
42
+ "specificationVersion" : 8,
43
+ "mlProgramOperationTypeHistogram" : {
44
+ "Select" : 1,
45
+ "Ios17.squeeze" : 2,
46
+ "Ios17.gather" : 1,
47
+ "Ios17.cast" : 8,
48
+ "Ios17.lstm" : 1,
49
+ "Ios17.transpose" : 2,
50
+ "Ios17.add" : 1,
51
+ "Identity" : 1,
52
+ "Ios17.greaterEqual" : 1,
53
+ "Ios17.expandDims" : 2
54
+ },
55
+ "computePrecision" : "Mixed (Float16, Float32, Int16, Int32)",
56
+ "isUpdatable" : "0",
57
+ "stateSchema" : [
58
+
59
+ ],
60
+ "availability" : {
61
+ "macOS" : "14.0",
62
+ "tvOS" : "17.0",
63
+ "visionOS" : "1.0",
64
+ "watchOS" : "10.0",
65
+ "iOS" : "17.0",
66
+ "macCatalyst" : "17.0"
67
+ },
68
+ "modelType" : {
69
+ "name" : "MLModelType_mlProgram"
70
+ },
71
+ "inputSchema" : [
72
+ {
73
+ "hasShapeFlexibility" : "0",
74
+ "isOptional" : "0",
75
+ "dataType" : "Int32",
76
+ "formattedType" : "MultiArray (Int32 1 × 1)",
77
+ "shortDescription" : "",
78
+ "shape" : "[1, 1]",
79
+ "name" : "targets",
80
+ "type" : "MultiArray"
81
+ },
82
+ {
83
+ "hasShapeFlexibility" : "0",
84
+ "isOptional" : "0",
85
+ "dataType" : "Int32",
86
+ "formattedType" : "MultiArray (Int32 1)",
87
+ "shortDescription" : "",
88
+ "shape" : "[1]",
89
+ "name" : "target_length",
90
+ "type" : "MultiArray"
91
+ },
92
+ {
93
+ "hasShapeFlexibility" : "0",
94
+ "isOptional" : "0",
95
+ "dataType" : "Float32",
96
+ "formattedType" : "MultiArray (Float32 1 × 1 × 640)",
97
+ "shortDescription" : "",
98
+ "shape" : "[1, 1, 640]",
99
+ "name" : "h_in",
100
+ "type" : "MultiArray"
101
+ },
102
+ {
103
+ "hasShapeFlexibility" : "0",
104
+ "isOptional" : "0",
105
+ "dataType" : "Float32",
106
+ "formattedType" : "MultiArray (Float32 1 × 1 × 640)",
107
+ "shortDescription" : "",
108
+ "shape" : "[1, 1, 640]",
109
+ "name" : "c_in",
110
+ "type" : "MultiArray"
111
+ }
112
+ ],
113
+ "userDefinedMetadata" : {
114
+ "com.github.apple.coremltools.conversion_date" : "2025-11-27",
115
+ "com.github.apple.coremltools.source" : "torch==2.9.1",
116
+ "com.github.apple.coremltools.version" : "9.0",
117
+ "com.github.apple.coremltools.source_dialect" : "TorchScript"
118
+ },
119
+ "generatedClassName" : "parakeet_eou_decoder",
120
+ "method" : "predict"
121
+ }
122
+ ]
parakeet_eou_decoder.mlmodelc/model.mil ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3500.14.1"}, {"coremlc-version", "3500.32.1"}, {"coremltools-component-torch", "2.9.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "9.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, 1, 640]> c_in, tensor<fp32, [1, 1, 640]> h_in, tensor<int32, [1]> target_length, tensor<int32, [1, 1]> targets) {
5
+ tensor<int32, []> y_batch_dims_0 = const()[name = tensor<string, []>("y_batch_dims_0"), val = tensor<int32, []>(0)];
6
+ tensor<bool, []> y_validate_indices_0 = const()[name = tensor<string, []>("y_validate_indices_0"), val = tensor<bool, []>(false)];
7
+ tensor<fp16, [1027, 640]> module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [1027, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
8
+ tensor<string, []> targets_to_int16_dtype_0 = const()[name = tensor<string, []>("targets_to_int16_dtype_0"), val = tensor<string, []>("int16")];
9
+ tensor<string, []> cast_1_dtype_0 = const()[name = tensor<string, []>("cast_1_dtype_0"), val = tensor<string, []>("int32")];
10
+ tensor<int32, []> greater_equal_0_y_0 = const()[name = tensor<string, []>("greater_equal_0_y_0"), val = tensor<int32, []>(0)];
11
+ tensor<int16, [1, 1]> targets_to_int16 = cast(dtype = targets_to_int16_dtype_0, x = targets)[name = tensor<string, []>("cast_9")];
12
+ tensor<int32, [1, 1]> cast_1 = cast(dtype = cast_1_dtype_0, x = targets_to_int16)[name = tensor<string, []>("cast_8")];
13
+ tensor<bool, [1, 1]> greater_equal_0 = greater_equal(x = cast_1, y = greater_equal_0_y_0)[name = tensor<string, []>("greater_equal_0")];
14
+ tensor<int32, []> slice_by_index_0 = const()[name = tensor<string, []>("slice_by_index_0"), val = tensor<int32, []>(1027)];
15
+ tensor<int32, [1, 1]> add_1 = add(x = cast_1, y = slice_by_index_0)[name = tensor<string, []>("add_1")];
16
+ tensor<int32, [1, 1]> select_0 = select(a = cast_1, b = add_1, cond = greater_equal_0)[name = tensor<string, []>("select_0")];
17
+ tensor<int32, []> y_cast_fp16_cast_uint16_axis_0 = const()[name = tensor<string, []>("y_cast_fp16_cast_uint16_axis_0"), val = tensor<int32, []>(0)];
18
+ tensor<string, []> select_0_to_int16_dtype_0 = const()[name = tensor<string, []>("select_0_to_int16_dtype_0"), val = tensor<string, []>("int16")];
19
+ tensor<int16, [1, 1]> select_0_to_int16 = cast(dtype = select_0_to_int16_dtype_0, x = select_0)[name = tensor<string, []>("cast_7")];
20
+ tensor<fp16, [1, 1, 640]> y_cast_fp16_cast_uint16_cast_uint16 = gather(axis = y_cast_fp16_cast_uint16_axis_0, batch_dims = y_batch_dims_0, indices = select_0_to_int16, validate_indices = y_validate_indices_0, x = module_prediction_embed_weight_to_fp16)[name = tensor<string, []>("y_cast_fp16_cast_uint16_cast_uint16")];
21
+ tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
22
+ tensor<int32, [1]> input_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
23
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
24
+ tensor<fp16, [1, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_6")];
25
+ tensor<fp16, [1, 640]> input_lstm_h0_squeeze_cast_fp16 = squeeze(axes = input_lstm_h0_squeeze_axes_0, x = h_in_to_fp16)[name = tensor<string, []>("input_lstm_h0_squeeze_cast_fp16")];
26
+ tensor<int32, [1]> input_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
27
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
28
+ tensor<fp16, [1, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_5")];
29
+ tensor<fp16, [1, 640]> input_lstm_c0_squeeze_cast_fp16 = squeeze(axes = input_lstm_c0_squeeze_axes_0, x = c_in_to_fp16)[name = tensor<string, []>("input_lstm_c0_squeeze_cast_fp16")];
30
+ tensor<string, []> input_direction_0 = const()[name = tensor<string, []>("input_direction_0"), val = tensor<string, []>("forward")];
31
+ tensor<bool, []> input_output_sequence_0 = const()[name = tensor<string, []>("input_output_sequence_0"), val = tensor<bool, []>(true)];
32
+ tensor<string, []> input_recurrent_activation_0 = const()[name = tensor<string, []>("input_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
33
+ tensor<string, []> input_cell_activation_0 = const()[name = tensor<string, []>("input_cell_activation_0"), val = tensor<string, []>("tanh")];
34
+ tensor<string, []> input_activation_0 = const()[name = tensor<string, []>("input_activation_0"), val = tensor<string, []>("tanh")];
35
+ 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, []>(1314688)))];
36
+ 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, []>(4591552)))];
37
+ 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, []>(7868416)))];
38
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = y_cast_fp16_cast_uint16_cast_uint16)[name = tensor<string, []>("transpose_2")];
39
+ 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_0_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_2_to_fp16, weight_ih = concat_1_to_fp16, x = input_3_cast_fp16)[name = tensor<string, []>("input_cast_fp16")];
40
+ tensor<int32, [1]> obj_3_axes_0 = const()[name = tensor<string, []>("obj_3_axes_0"), val = tensor<int32, [1]>([0])];
41
+ tensor<fp16, [1, 1, 640]> obj_3_cast_fp16 = expand_dims(axes = obj_3_axes_0, x = input_cast_fp16_1)[name = tensor<string, []>("obj_3_cast_fp16")];
42
+ 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")];
43
+ tensor<int32, [1]> obj_axes_0 = const()[name = tensor<string, []>("obj_axes_0"), val = tensor<int32, [1]>([0])];
44
+ tensor<fp16, [1, 1, 640]> obj_cast_fp16 = expand_dims(axes = obj_axes_0, x = input_cast_fp16_2)[name = tensor<string, []>("obj_cast_fp16")];
45
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
46
+ tensor<int32, [3]> transpose_0_perm_0 = const()[name = tensor<string, []>("transpose_0_perm_0"), val = tensor<int32, [3]>([1, 2, 0])];
47
+ 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")];
48
+ 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")];
49
+ tensor<fp32, [1, 640, 1]> decoder = cast(dtype = transpose_0_cast_fp16_to_fp32_dtype_0, x = transpose_0_cast_fp16)[name = tensor<string, []>("cast_2")];
50
+ tensor<fp32, [1, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_3")];
51
+ tensor<fp32, [1, 1, 640]> h_out = cast(dtype = obj_3_cast_fp16_to_fp32_dtype_0, x = obj_3_cast_fp16)[name = tensor<string, []>("cast_4")];
52
+ tensor<int32, [1]> target_length_tmp = identity(x = target_length)[name = tensor<string, []>("target_length_tmp")];
53
+ } -> (decoder, h_out, c_out);
54
+ }
parakeet_eou_decoder.mlmodelc/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0b4cacecdcd9df79ab1e56de67230baf5a8664d2afe0bb8f3408eefa972cb2f4
3
+ size 7873600
parakeet_eou_decoder.mlpackage/Data/com.apple.CoreML/model.mlmodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f2eaacb49715e293622dccba047d292672022d0d76f2dd30cef1a520b36d93eb
3
+ size 7965
parakeet_eou_decoder.mlpackage/Data/com.apple.CoreML/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0b4cacecdcd9df79ab1e56de67230baf5a8664d2afe0bb8f3408eefa972cb2f4
3
+ size 7873600
parakeet_eou_decoder.mlpackage/Manifest.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fileFormatVersion": "1.0.0",
3
+ "itemInfoEntries": {
4
+ "16235E9F-F8AF-40EA-9B35-6BD5D7D815A4": {
5
+ "author": "com.apple.CoreML",
6
+ "description": "CoreML Model Weights",
7
+ "name": "weights",
8
+ "path": "com.apple.CoreML/weights"
9
+ },
10
+ "D463F5AE-B901-4E3E-8383-71929943FCB8": {
11
+ "author": "com.apple.CoreML",
12
+ "description": "CoreML Model Specification",
13
+ "name": "model.mlmodel",
14
+ "path": "com.apple.CoreML/model.mlmodel"
15
+ }
16
+ },
17
+ "rootModelIdentifier": "D463F5AE-B901-4E3E-8383-71929943FCB8"
18
+ }
parakeet_eou_encoder.mlmodelc/analytics/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f1690bb93a34cae20083921a8ce0d494f11158d85b0534f064a676f54c864b4d
3
+ size 243
parakeet_eou_encoder.mlmodelc/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e44cbe49df7a1b0e6e2f8457fc1f6775b071ff5fedb8c1d2d9e40c65173381a3
3
+ size 508
parakeet_eou_encoder.mlmodelc/metadata.json ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "metadataOutputVersion" : "3.0",
4
+ "shortDescription" : "Parakeet EOU encoder (15.0s window)",
5
+ "outputSchema" : [
6
+ {
7
+ "hasShapeFlexibility" : "0",
8
+ "isOptional" : "0",
9
+ "dataType" : "Float32",
10
+ "formattedType" : "MultiArray (Float32 1 × 512 × 189)",
11
+ "shortDescription" : "",
12
+ "shape" : "[1, 512, 189]",
13
+ "name" : "encoder",
14
+ "type" : "MultiArray"
15
+ },
16
+ {
17
+ "hasShapeFlexibility" : "0",
18
+ "isOptional" : "0",
19
+ "dataType" : "Int32",
20
+ "formattedType" : "MultiArray (Int32 1)",
21
+ "shortDescription" : "",
22
+ "shape" : "[1]",
23
+ "name" : "encoder_length",
24
+ "type" : "MultiArray"
25
+ },
26
+ {
27
+ "hasShapeFlexibility" : "0",
28
+ "isOptional" : "0",
29
+ "dataType" : "Float32",
30
+ "formattedType" : "MultiArray (Float32 189)",
31
+ "shortDescription" : "",
32
+ "shape" : "[189]",
33
+ "name" : "frame_times",
34
+ "type" : "MultiArray"
35
+ }
36
+ ],
37
+ "storagePrecision" : "Float16",
38
+ "modelParameters" : [
39
+
40
+ ],
41
+ "author" : "Fluid Inference",
42
+ "specificationVersion" : 8,
43
+ "mlProgramOperationTypeHistogram" : {
44
+ "Ios17.logicalAnd" : 2,
45
+ "Ios17.reshape" : 103,
46
+ "Ios16.softmax" : 17,
47
+ "Ios17.matmul" : 51,
48
+ "Ios17.transpose" : 157,
49
+ "Split" : 17,
50
+ "Ios17.expandDims" : 17,
51
+ "Select" : 51,
52
+ "Ios17.add" : 128,
53
+ "Tile" : 8,
54
+ "Ios17.sliceByIndex" : 34,
55
+ "Ios16.sigmoid" : 17,
56
+ "Pad" : 37,
57
+ "Ios17.logicalNot" : 2,
58
+ "Ios17.layerNorm" : 102,
59
+ "Ios17.less" : 5,
60
+ "Ios17.sub" : 3,
61
+ "Ios16.silu" : 51,
62
+ "Ios17.conv" : 56,
63
+ "Ios16.relu" : 3,
64
+ "Ios17.linear" : 137,
65
+ "Ios17.cast" : 11,
66
+ "Ios17.floorDiv" : 3,
67
+ "Ios17.mul" : 77
68
+ },
69
+ "computePrecision" : "Mixed (Float16, Float32, Int32)",
70
+ "isUpdatable" : "0",
71
+ "stateSchema" : [
72
+
73
+ ],
74
+ "availability" : {
75
+ "macOS" : "14.0",
76
+ "tvOS" : "17.0",
77
+ "visionOS" : "1.0",
78
+ "watchOS" : "10.0",
79
+ "iOS" : "17.0",
80
+ "macCatalyst" : "17.0"
81
+ },
82
+ "modelType" : {
83
+ "name" : "MLModelType_mlProgram"
84
+ },
85
+ "inputSchema" : [
86
+ {
87
+ "hasShapeFlexibility" : "0",
88
+ "isOptional" : "0",
89
+ "dataType" : "Float32",
90
+ "formattedType" : "MultiArray (Float32 1 × 128 × 1501)",
91
+ "shortDescription" : "",
92
+ "shape" : "[1, 128, 1501]",
93
+ "name" : "mel",
94
+ "type" : "MultiArray"
95
+ },
96
+ {
97
+ "hasShapeFlexibility" : "0",
98
+ "isOptional" : "0",
99
+ "dataType" : "Int32",
100
+ "formattedType" : "MultiArray (Int32 1)",
101
+ "shortDescription" : "",
102
+ "shape" : "[1]",
103
+ "name" : "mel_length",
104
+ "type" : "MultiArray"
105
+ }
106
+ ],
107
+ "userDefinedMetadata" : {
108
+ "com.github.apple.coremltools.conversion_date" : "2025-11-27",
109
+ "com.github.apple.coremltools.source" : "torch==2.9.1",
110
+ "com.github.apple.coremltools.version" : "9.0",
111
+ "com.github.apple.coremltools.source_dialect" : "TorchScript"
112
+ },
113
+ "generatedClassName" : "parakeet_eou_encoder",
114
+ "method" : "predict"
115
+ }
116
+ ]
parakeet_eou_encoder.mlmodelc/model.mil ADDED
The diff for this file is too large to render. See raw diff
 
parakeet_eou_encoder.mlmodelc/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1dabf1813f088d044c4c0c8a845e0f7435aa35fcae752a521880359c3b724ed2
3
+ size 216730996
parakeet_eou_encoder.mlpackage/Data/com.apple.CoreML/model.mlmodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:efd885bd12d20b3227aa4347f6a5f462a68c45ffca3c04b29179d6669e4aff30
3
+ size 489535
parakeet_eou_encoder.mlpackage/Data/com.apple.CoreML/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1dabf1813f088d044c4c0c8a845e0f7435aa35fcae752a521880359c3b724ed2
3
+ size 216730996
parakeet_eou_encoder.mlpackage/Manifest.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fileFormatVersion": "1.0.0",
3
+ "itemInfoEntries": {
4
+ "97C60A74-0AA4-45C6-93EE-2AACECCB99B9": {
5
+ "author": "com.apple.CoreML",
6
+ "description": "CoreML Model Specification",
7
+ "name": "model.mlmodel",
8
+ "path": "com.apple.CoreML/model.mlmodel"
9
+ },
10
+ "E456E92A-5C50-4543-8CA1-AACB7EEED81E": {
11
+ "author": "com.apple.CoreML",
12
+ "description": "CoreML Model Weights",
13
+ "name": "weights",
14
+ "path": "com.apple.CoreML/weights"
15
+ }
16
+ },
17
+ "rootModelIdentifier": "97C60A74-0AA4-45C6-93EE-2AACECCB99B9"
18
+ }
parakeet_eou_joint_decision_single_step.mlmodelc/analytics/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fb134f4700955b507e141ba8399563ffa74756b528cb5c690e8dc11564ddfbe0
3
+ size 243
parakeet_eou_joint_decision_single_step.mlmodelc/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8a895494acdf45aaf05f932cb7170d97f307b9755abd06a03d4f4e59fcf3882e
3
+ size 568
parakeet_eou_joint_decision_single_step.mlmodelc/metadata.json ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "metadataOutputVersion" : "3.0",
4
+ "shortDescription" : "Parakeet EOU single-step joint decision (current frame)",
5
+ "outputSchema" : [
6
+ {
7
+ "hasShapeFlexibility" : "0",
8
+ "isOptional" : "0",
9
+ "dataType" : "Int32",
10
+ "formattedType" : "MultiArray (Int32 1 × 1 × 1)",
11
+ "shortDescription" : "",
12
+ "shape" : "[1, 1, 1]",
13
+ "name" : "token_id",
14
+ "type" : "MultiArray"
15
+ },
16
+ {
17
+ "hasShapeFlexibility" : "0",
18
+ "isOptional" : "0",
19
+ "dataType" : "Float32",
20
+ "formattedType" : "MultiArray (Float32 1 × 1 × 1)",
21
+ "shortDescription" : "",
22
+ "shape" : "[1, 1, 1]",
23
+ "name" : "token_prob",
24
+ "type" : "MultiArray"
25
+ },
26
+ {
27
+ "hasShapeFlexibility" : "0",
28
+ "isOptional" : "0",
29
+ "dataType" : "Int32",
30
+ "formattedType" : "MultiArray (Int32 1 × 1 × 1 × 64)",
31
+ "shortDescription" : "",
32
+ "shape" : "[1, 1, 1, 64]",
33
+ "name" : "top_k_ids",
34
+ "type" : "MultiArray"
35
+ },
36
+ {
37
+ "hasShapeFlexibility" : "0",
38
+ "isOptional" : "0",
39
+ "dataType" : "Float32",
40
+ "formattedType" : "MultiArray (Float32 1 × 1 × 1 × 64)",
41
+ "shortDescription" : "",
42
+ "shape" : "[1, 1, 1, 64]",
43
+ "name" : "top_k_logits",
44
+ "type" : "MultiArray"
45
+ }
46
+ ],
47
+ "storagePrecision" : "Float16",
48
+ "modelParameters" : [
49
+
50
+ ],
51
+ "author" : "Fluid Inference",
52
+ "specificationVersion" : 8,
53
+ "mlProgramOperationTypeHistogram" : {
54
+ "Ios17.reduceArgmax" : 1,
55
+ "Ios17.squeeze" : 1,
56
+ "Ios17.cast" : 6,
57
+ "Ios17.linear" : 3,
58
+ "Ios17.transpose" : 2,
59
+ "Ios17.add" : 1,
60
+ "Ios16.relu" : 1,
61
+ "Ios16.softmax" : 1,
62
+ "Ios17.gatherAlongAxis" : 1,
63
+ "Ios17.topk" : 1,
64
+ "Ios17.expandDims" : 3
65
+ },
66
+ "computePrecision" : "Mixed (Float16, Float32, Int16, Int32, UInt16)",
67
+ "isUpdatable" : "0",
68
+ "stateSchema" : [
69
+
70
+ ],
71
+ "availability" : {
72
+ "macOS" : "14.0",
73
+ "tvOS" : "17.0",
74
+ "visionOS" : "1.0",
75
+ "watchOS" : "10.0",
76
+ "iOS" : "17.0",
77
+ "macCatalyst" : "17.0"
78
+ },
79
+ "modelType" : {
80
+ "name" : "MLModelType_mlProgram"
81
+ },
82
+ "inputSchema" : [
83
+ {
84
+ "hasShapeFlexibility" : "0",
85
+ "isOptional" : "0",
86
+ "dataType" : "Float32",
87
+ "formattedType" : "MultiArray (Float32 1 × 512 × 1)",
88
+ "shortDescription" : "",
89
+ "shape" : "[1, 512, 1]",
90
+ "name" : "encoder_step",
91
+ "type" : "MultiArray"
92
+ },
93
+ {
94
+ "hasShapeFlexibility" : "0",
95
+ "isOptional" : "0",
96
+ "dataType" : "Float32",
97
+ "formattedType" : "MultiArray (Float32 1 × 640 × 1)",
98
+ "shortDescription" : "",
99
+ "shape" : "[1, 640, 1]",
100
+ "name" : "decoder_step",
101
+ "type" : "MultiArray"
102
+ }
103
+ ],
104
+ "userDefinedMetadata" : {
105
+ "com.github.apple.coremltools.conversion_date" : "2025-11-27",
106
+ "com.github.apple.coremltools.source" : "torch==2.9.1",
107
+ "com.github.apple.coremltools.version" : "9.0",
108
+ "com.github.apple.coremltools.source_dialect" : "TorchScript"
109
+ },
110
+ "generatedClassName" : "parakeet_eou_joint_decision_single_step",
111
+ "method" : "predict"
112
+ }
113
+ ]
parakeet_eou_joint_decision_single_step.mlmodelc/model.mil ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3500.14.1"}, {"coremlc-version", "3500.32.1"}, {"coremltools-component-torch", "2.9.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "9.0"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, 640, 1]> decoder_step, tensor<fp32, [1, 512, 1]> encoder_step) {
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_step_to_fp16_dtype_0 = const()[name = tensor<string, []>("encoder_step_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_step_to_fp16_dtype_0 = const()[name = tensor<string, []>("decoder_step_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
9
+ tensor<fp16, [640, 512]> joint_module_enc_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_enc_weight_to_fp16"), val = tensor<fp16, [640, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
10
+ 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, []>(655488)))];
11
+ tensor<fp16, [1, 512, 1]> encoder_step_to_fp16 = cast(dtype = encoder_step_to_fp16_dtype_0, x = encoder_step)[name = tensor<string, []>("cast_5")];
12
+ tensor<fp16, [1, 1, 512]> input_1_cast_fp16 = transpose(perm = input_1_perm_0, x = encoder_step_to_fp16)[name = tensor<string, []>("transpose_1")];
13
+ 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_1_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
14
+ 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, []>(656832)))];
15
+ 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, []>(1476096)))];
16
+ tensor<fp16, [1, 640, 1]> decoder_step_to_fp16 = cast(dtype = decoder_step_to_fp16_dtype_0, x = decoder_step)[name = tensor<string, []>("cast_4")];
17
+ tensor<fp16, [1, 1, 640]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = decoder_step_to_fp16)[name = tensor<string, []>("transpose_0")];
18
+ 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 = 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_24_axes_0 = const()[name = tensor<string, []>("op_24_axes_0"), val = tensor<int32, [1]>([1])];
22
+ tensor<fp16, [1, 1, 1, 640]> var_24_cast_fp16 = expand_dims(axes = var_24_axes_0, x = linear_1_cast_fp16)[name = tensor<string, []>("op_24_cast_fp16")];
23
+ tensor<fp16, [1, 1, 1, 640]> input_5_cast_fp16 = add(x = var_23_cast_fp16, y = var_24_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, [1027, 640]> joint_module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [1027, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1477440)))];
26
+ tensor<fp16, [1027]> joint_module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [1027]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2792064)))];
27
+ tensor<fp16, [1, 1, 1, 1027]> 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_7_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
28
+ tensor<int32, []> var_33_axis_0 = const()[name = tensor<string, []>("op_33_axis_0"), val = tensor<int32, []>(-1)];
29
+ tensor<bool, []> var_33_keep_dims_0 = const()[name = tensor<string, []>("op_33_keep_dims_0"), val = tensor<bool, []>(false)];
30
+ tensor<string, []> var_33_output_dtype_0 = const()[name = tensor<string, []>("op_33_output_dtype_0"), val = tensor<string, []>("int32")];
31
+ tensor<int32, [1, 1, 1]> token_id = reduce_argmax(axis = var_33_axis_0, keep_dims = var_33_keep_dims_0, output_dtype = var_33_output_dtype_0, x = linear_2_cast_fp16)[name = tensor<string, []>("op_33_cast_fp16")];
32
+ tensor<int32, []> var_39 = const()[name = tensor<string, []>("op_39"), val = tensor<int32, []>(-1)];
33
+ tensor<fp16, [1, 1, 1, 1027]> token_probs_all_cast_fp16 = softmax(axis = var_39, x = linear_2_cast_fp16)[name = tensor<string, []>("token_probs_all_cast_fp16")];
34
+ tensor<int32, [1]> var_48_axes_0 = const()[name = tensor<string, []>("op_48_axes_0"), val = tensor<int32, [1]>([-1])];
35
+ tensor<int32, [1, 1, 1, 1]> var_48 = expand_dims(axes = var_48_axes_0, x = token_id)[name = tensor<string, []>("op_48")];
36
+ tensor<int32, []> var_49 = const()[name = tensor<string, []>("op_49"), val = tensor<int32, []>(-1)];
37
+ tensor<bool, []> var_51_validate_indices_0 = const()[name = tensor<string, []>("op_51_validate_indices_0"), val = tensor<bool, []>(false)];
38
+ tensor<string, []> var_48_to_int16_dtype_0 = const()[name = tensor<string, []>("op_48_to_int16_dtype_0"), val = tensor<string, []>("int16")];
39
+ tensor<int16, [1, 1, 1, 1]> var_48_to_int16 = cast(dtype = var_48_to_int16_dtype_0, x = var_48)[name = tensor<string, []>("cast_3")];
40
+ tensor<fp16, [1, 1, 1, 1]> var_51_cast_fp16_cast_int16 = gather_along_axis(axis = var_49, indices = var_48_to_int16, validate_indices = var_51_validate_indices_0, x = token_probs_all_cast_fp16)[name = tensor<string, []>("op_51_cast_fp16_cast_int16")];
41
+ tensor<int32, [1]> var_53_axes_0 = const()[name = tensor<string, []>("op_53_axes_0"), val = tensor<int32, [1]>([-1])];
42
+ tensor<fp16, [1, 1, 1]> var_53_cast_fp16 = squeeze(axes = var_53_axes_0, x = var_51_cast_fp16_cast_int16)[name = tensor<string, []>("op_53_cast_fp16")];
43
+ tensor<string, []> var_53_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("op_53_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
44
+ tensor<int32, []> var_54 = const()[name = tensor<string, []>("op_54"), val = tensor<int32, []>(64)];
45
+ tensor<int32, []> var_58_axis_0 = const()[name = tensor<string, []>("op_58_axis_0"), val = tensor<int32, []>(-1)];
46
+ tensor<bool, []> var_58_ascending_0 = const()[name = tensor<string, []>("op_58_ascending_0"), val = tensor<bool, []>(false)];
47
+ tensor<bool, []> var_58_sort_0 = const()[name = tensor<string, []>("op_58_sort_0"), val = tensor<bool, []>(true)];
48
+ tensor<bool, []> var_58_return_indices_0 = const()[name = tensor<string, []>("op_58_return_indices_0"), val = tensor<bool, []>(true)];
49
+ tensor<string, []> var_58_cast_fp16_cast_int16_output_indices_dtype_0 = const()[name = tensor<string, []>("op_58_cast_fp16_cast_int16_output_indices_dtype_0"), val = tensor<string, []>("uint16")];
50
+ tensor<fp16, [1, 1, 1, 64]> var_58_cast_fp16_cast_int16_0, tensor<uint16, [1, 1, 1, 64]> var_58_cast_fp16_cast_int16_1 = topk(ascending = var_58_ascending_0, axis = var_58_axis_0, k = var_54, output_indices_dtype = var_58_cast_fp16_cast_int16_output_indices_dtype_0, return_indices = var_58_return_indices_0, sort = var_58_sort_0, x = linear_2_cast_fp16)[name = tensor<string, []>("op_58_cast_fp16_cast_int16")];
51
+ tensor<string, []> var_58_cast_fp16_cast_int16_1_to_int32_dtype_0 = const()[name = tensor<string, []>("op_58_cast_fp16_cast_int16_1_to_int32_dtype_0"), val = tensor<string, []>("int32")];
52
+ tensor<string, []> var_58_cast_fp16_0_to_fp32_dtype_0 = const()[name = tensor<string, []>("op_58_cast_fp16_0_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
53
+ tensor<fp32, [1, 1, 1, 64]> top_k_logits = cast(dtype = var_58_cast_fp16_0_to_fp32_dtype_0, x = var_58_cast_fp16_cast_int16_0)[name = tensor<string, []>("cast_0")];
54
+ tensor<int32, [1, 1, 1, 64]> top_k_ids = cast(dtype = var_58_cast_fp16_cast_int16_1_to_int32_dtype_0, x = var_58_cast_fp16_cast_int16_1)[name = tensor<string, []>("cast_1")];
55
+ tensor<fp32, [1, 1, 1]> token_prob = cast(dtype = var_53_cast_fp16_to_fp32_dtype_0, x = var_53_cast_fp16)[name = tensor<string, []>("cast_2")];
56
+ } -> (token_id, token_prob, top_k_ids, top_k_logits);
57
+ }
parakeet_eou_joint_decision_single_step.mlmodelc/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7039b2010a269153f5a96edf28637f921a86ef8822f248f2d6712f7a6bce84b4
3
+ size 2794182
parakeet_eou_joint_decision_single_step.mlpackage/Data/com.apple.CoreML/model.mlmodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7975f5a9b707b5aa7307121dc73defe7772a83db89e42135d4146ec921252be8
3
+ size 8758
parakeet_eou_joint_decision_single_step.mlpackage/Data/com.apple.CoreML/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7039b2010a269153f5a96edf28637f921a86ef8822f248f2d6712f7a6bce84b4
3
+ size 2794182
parakeet_eou_joint_decision_single_step.mlpackage/Manifest.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fileFormatVersion": "1.0.0",
3
+ "itemInfoEntries": {
4
+ "661CE870-1A41-4769-9A11-E8D34CB67A36": {
5
+ "author": "com.apple.CoreML",
6
+ "description": "CoreML Model Weights",
7
+ "name": "weights",
8
+ "path": "com.apple.CoreML/weights"
9
+ },
10
+ "BD55C909-51AF-42F7-8CE5-B7C05B80A700": {
11
+ "author": "com.apple.CoreML",
12
+ "description": "CoreML Model Specification",
13
+ "name": "model.mlmodel",
14
+ "path": "com.apple.CoreML/model.mlmodel"
15
+ }
16
+ },
17
+ "rootModelIdentifier": "BD55C909-51AF-42F7-8CE5-B7C05B80A700"
18
+ }
parakeet_eou_preprocessor.mlmodelc/analytics/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0d5a335c7c3414656bca7c4d47e9718a4617665516546f734525eb7359fe0703
3
+ size 243
parakeet_eou_preprocessor.mlmodelc/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4f97a8d4d3d1d4f2410e8382f3445d92551d55a62664fe6509c4d73d0c5a4ff3
3
+ size 496
parakeet_eou_preprocessor.mlmodelc/metadata.json ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "metadataOutputVersion" : "3.0",
4
+ "shortDescription" : "Parakeet EOU preprocessor (15.0s window)",
5
+ "outputSchema" : [
6
+ {
7
+ "hasShapeFlexibility" : "0",
8
+ "isOptional" : "0",
9
+ "dataType" : "Float32",
10
+ "formattedType" : "MultiArray (Float32)",
11
+ "shortDescription" : "",
12
+ "shape" : "[]",
13
+ "name" : "mel",
14
+ "type" : "MultiArray"
15
+ },
16
+ {
17
+ "hasShapeFlexibility" : "0",
18
+ "isOptional" : "0",
19
+ "dataType" : "Int32",
20
+ "formattedType" : "MultiArray (Int32 1)",
21
+ "shortDescription" : "",
22
+ "shape" : "[1]",
23
+ "name" : "mel_length",
24
+ "type" : "MultiArray"
25
+ }
26
+ ],
27
+ "storagePrecision" : "Float16",
28
+ "modelParameters" : [
29
+
30
+ ],
31
+ "author" : "Fluid Inference",
32
+ "specificationVersion" : 8,
33
+ "mlProgramOperationTypeHistogram" : {
34
+ "Range1d" : 2,
35
+ "Ios17.equal" : 1,
36
+ "Ios17.reshape" : 2,
37
+ "Identity" : 1,
38
+ "Ios17.matmul" : 1,
39
+ "Select" : 3,
40
+ "Ios17.expandDims" : 7,
41
+ "Ios17.add" : 2,
42
+ "Ios17.sliceByIndex" : 3,
43
+ "Ios16.reduceSum" : 1,
44
+ "Shape" : 2,
45
+ "Ios17.gather" : 2,
46
+ "Ios17.logicalNot" : 1,
47
+ "Pad" : 1,
48
+ "Ios17.log" : 1,
49
+ "Ios17.less" : 1,
50
+ "Ios17.sub" : 2,
51
+ "Ios17.conv" : 2,
52
+ "Ios17.pow" : 1,
53
+ "Ios17.cast" : 6,
54
+ "Ios17.concat" : 1,
55
+ "Stack" : 1,
56
+ "Ios17.floorDiv" : 1,
57
+ "Ios17.greaterEqual" : 1,
58
+ "Ios17.mul" : 1
59
+ },
60
+ "computePrecision" : "Mixed (Float16, Float32, Int16, Int32, UInt16)",
61
+ "isUpdatable" : "0",
62
+ "stateSchema" : [
63
+
64
+ ],
65
+ "availability" : {
66
+ "macOS" : "14.0",
67
+ "tvOS" : "17.0",
68
+ "visionOS" : "1.0",
69
+ "watchOS" : "10.0",
70
+ "iOS" : "17.0",
71
+ "macCatalyst" : "17.0"
72
+ },
73
+ "modelType" : {
74
+ "name" : "MLModelType_mlProgram"
75
+ },
76
+ "inputSchema" : [
77
+ {
78
+ "dataType" : "Float32",
79
+ "hasShapeFlexibility" : "1",
80
+ "isOptional" : "0",
81
+ "shapeFlexibility" : "1 × 1...240000",
82
+ "shapeRange" : "[[1, 1], [1, 240000]]",
83
+ "formattedType" : "MultiArray (Float32 1 × 1)",
84
+ "type" : "MultiArray",
85
+ "shape" : "[1, 1]",
86
+ "name" : "audio_signal",
87
+ "shortDescription" : ""
88
+ },
89
+ {
90
+ "hasShapeFlexibility" : "0",
91
+ "isOptional" : "0",
92
+ "dataType" : "Int32",
93
+ "formattedType" : "MultiArray (Int32 1)",
94
+ "shortDescription" : "",
95
+ "shape" : "[1]",
96
+ "name" : "audio_length",
97
+ "type" : "MultiArray"
98
+ }
99
+ ],
100
+ "userDefinedMetadata" : {
101
+ "com.github.apple.coremltools.conversion_date" : "2025-11-27",
102
+ "com.github.apple.coremltools.source" : "torch==2.9.1",
103
+ "com.github.apple.coremltools.version" : "9.0",
104
+ "com.github.apple.coremltools.source_dialect" : "TorchScript"
105
+ },
106
+ "generatedClassName" : "parakeet_eou_preprocessor",
107
+ "method" : "predict"
108
+ }
109
+ ]
parakeet_eou_preprocessor.mlmodelc/model.mil ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3500.14.1"}, {"coremlc-version", "3500.32.1"}, {"coremltools-component-torch", "2.9.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "9.0"}})]
3
+ {
4
+ func main<ios17>(tensor<int32, [1]> audio_length, tensor<fp32, [1, ?]> audio_signal) [FlexibleShapeInformation = tuple<tuple<tensor<string, []>, dict<tensor<string, []>, tensor<int32, [?]>>>, tuple<tensor<string, []>, dict<tensor<string, []>, list<tensor<int32, [2]>, ?>>>>((("DefaultShapes", {{"audio_signal", [1, 1]}}), ("RangeDims", {{"audio_signal", [[1, 1], [1, 240000]]}})))] {
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_signal_to_fp16_dtype_0 = const()[name = tensor<string, []>("audio_signal_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
17
+ tensor<fp16, [1, ?]> audio_signal_to_fp16 = cast(dtype = audio_signal_to_fp16_dtype_0, x = audio_signal)[name = tensor<string, []>("cast_11")];
18
+ tensor<int32, [2]> var_42_shape_cast_fp16 = shape(x = audio_signal_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, []> gather_0_indices_0_to_uint16 = const()[name = tensor<string, []>("gather_0_indices_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_10")];
25
+ tensor<int16, []> gather_0_cast_uint16 = gather(axis = gather_0_axis_0, batch_dims = gather_0_batch_dims_0, indices = gather_0_indices_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_9")];
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_signal_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_signal_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_signal_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_batch_dims_0 = const()[name = tensor<string, []>("gather_5_batch_dims_0"), val = tensor<int32, []>(0)];
100
+ tensor<bool, []> gather_5_validate_indices_0 = const()[name = tensor<string, []>("gather_5_validate_indices_0"), val = tensor<bool, []>(false)];
101
+ 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")];
102
+ tensor<int32, []> gather_5_cast_uint16_axis_0 = const()[name = tensor<string, []>("gather_5_cast_uint16_axis_0"), val = tensor<int32, []>(0)];
103
+ tensor<uint16, []> select_0_to_uint16 = const()[name = tensor<string, []>("select_0_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_8")];
105
+ tensor<uint16, []> gather_5_cast_uint16_cast_uint16 = gather(axis = gather_5_cast_uint16_axis_0, batch_dims = gather_5_batch_dims_0, indices = select_0_to_uint16, validate_indices = gather_5_validate_indices_0, x = var_86_shape_cast_fp16_to_uint16)[name = tensor<string, []>("gather_5_cast_uint16_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_cast_uint16)[name = tensor<string, []>("cast_7")];
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, []> cast_2_to_fp16 = const()[name = tensor<string, []>("cast_2_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
119
+ tensor<fp16, [1, 128, ?]> processed_signal_cast_fp16 = select(a = cast_2_to_fp16, b = x_cast_fp16, cond = var_93)[name = tensor<string, []>("processed_signal_cast_fp16")];
120
+ 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")];
121
+ tensor<fp32, [1, 128, ?]> mel = cast(dtype = processed_signal_cast_fp16_to_fp32_dtype_0, x = processed_signal_cast_fp16)[name = tensor<string, []>("cast_6")];
122
+ } -> (mel, mel_length);
123
+ }
parakeet_eou_preprocessor.mlmodelc/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f257ad1ac11575d73a6ffda555319b2c96b0a224f0dc03ddd8c62950e9b18e53
3
+ size 592384
parakeet_eou_preprocessor.mlpackage/Data/com.apple.CoreML/model.mlmodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d7f5e54cf5aba93ba74b293ec05dd5bf5d84f59441fbabb3d9dc7de3666effc2
3
+ size 16267
parakeet_eou_preprocessor.mlpackage/Data/com.apple.CoreML/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f257ad1ac11575d73a6ffda555319b2c96b0a224f0dc03ddd8c62950e9b18e53
3
+ size 592384
parakeet_eou_preprocessor.mlpackage/Manifest.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fileFormatVersion": "1.0.0",
3
+ "itemInfoEntries": {
4
+ "1D2D0892-1547-4727-AF4E-DBC70A712151": {
5
+ "author": "com.apple.CoreML",
6
+ "description": "CoreML Model Weights",
7
+ "name": "weights",
8
+ "path": "com.apple.CoreML/weights"
9
+ },
10
+ "DD2AE790-0DE3-468D-B5D0-ED1BEEACA7C6": {
11
+ "author": "com.apple.CoreML",
12
+ "description": "CoreML Model Specification",
13
+ "name": "model.mlmodel",
14
+ "path": "com.apple.CoreML/model.mlmodel"
15
+ }
16
+ },
17
+ "rootModelIdentifier": "DD2AE790-0DE3-468D-B5D0-ED1BEEACA7C6"
18
+ }
vocab.json ADDED
@@ -0,0 +1,1037 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "vocab": [
3
+ "<unk>",
4
+ "▁t",
5
+ "▁th",
6
+ "▁a",
7
+ "▁i",
8
+ "▁the",
9
+ "▁s",
10
+ "re",
11
+ "▁w",
12
+ "▁o",
13
+ "in",
14
+ "at",
15
+ "er",
16
+ "nd",
17
+ "ou",
18
+ "▁c",
19
+ "▁b",
20
+ "▁h",
21
+ "en",
22
+ "on",
23
+ "▁m",
24
+ "▁f",
25
+ "ing",
26
+ "▁p",
27
+ "▁to",
28
+ "▁and",
29
+ "▁d",
30
+ "an",
31
+ "or",
32
+ "es",
33
+ "▁y",
34
+ "▁l",
35
+ "▁of",
36
+ "ll",
37
+ "▁in",
38
+ "ed",
39
+ "it",
40
+ "▁g",
41
+ "is",
42
+ "▁you",
43
+ "▁n",
44
+ "ar",
45
+ "om",
46
+ "as",
47
+ "ve",
48
+ "▁e",
49
+ "ic",
50
+ "▁it",
51
+ "al",
52
+ "us",
53
+ "▁wh",
54
+ "▁we",
55
+ "▁be",
56
+ "ion",
57
+ "ow",
58
+ "le",
59
+ "▁is",
60
+ "et",
61
+ "ent",
62
+ "ot",
63
+ "ut",
64
+ "▁re",
65
+ "▁on",
66
+ "ay",
67
+ "▁ha",
68
+ "ig",
69
+ "▁so",
70
+ "ct",
71
+ "▁he",
72
+ "▁for",
73
+ "ver",
74
+ "ke",
75
+ "ro",
76
+ "▁st",
77
+ "id",
78
+ "▁go",
79
+ "all",
80
+ "se",
81
+ "ly",
82
+ "▁u",
83
+ "ch",
84
+ "st",
85
+ "ld",
86
+ "▁k",
87
+ "ce",
88
+ "ur",
89
+ "▁li",
90
+ "am",
91
+ "▁r",
92
+ "ht",
93
+ "▁j",
94
+ "ith",
95
+ "▁se",
96
+ "ir",
97
+ "▁as",
98
+ "▁an",
99
+ "im",
100
+ "▁do",
101
+ "ad",
102
+ "▁was",
103
+ "ight",
104
+ "th",
105
+ "▁are",
106
+ "▁but",
107
+ "▁sh",
108
+ "ust",
109
+ "ally",
110
+ "▁not",
111
+ "▁or",
112
+ "▁com",
113
+ "▁can",
114
+ "▁me",
115
+ "op",
116
+ "▁mo",
117
+ "▁at",
118
+ "ill",
119
+ "▁ch",
120
+ "▁ne",
121
+ "ant",
122
+ "▁de",
123
+ "▁kn",
124
+ "▁one",
125
+ "il",
126
+ "ol",
127
+ "▁con",
128
+ "ter",
129
+ "▁ab",
130
+ "▁fr",
131
+ "ere",
132
+ "ck",
133
+ "▁al",
134
+ "▁all",
135
+ "qu",
136
+ "▁pro",
137
+ "▁som",
138
+ "ould",
139
+ "▁tw",
140
+ "ul",
141
+ "ra",
142
+ "od",
143
+ "ers",
144
+ "▁su",
145
+ "ive",
146
+ "▁v",
147
+ "use",
148
+ "ate",
149
+ "ge",
150
+ "if",
151
+ "▁ex",
152
+ "ess",
153
+ "pp",
154
+ "▁lo",
155
+ "out",
156
+ "▁if",
157
+ "est",
158
+ "ain",
159
+ "ist",
160
+ "and",
161
+ "ea",
162
+ "very",
163
+ "art",
164
+ "▁wor",
165
+ "▁my",
166
+ "ab",
167
+ "ment",
168
+ "▁bec",
169
+ "un",
170
+ "ity",
171
+ "ri",
172
+ "pe",
173
+ "ions",
174
+ "▁by",
175
+ "ok",
176
+ "our",
177
+ "ort",
178
+ "ind",
179
+ "ink",
180
+ "nt",
181
+ "▁up",
182
+ "um",
183
+ "▁don",
184
+ "▁get",
185
+ "red",
186
+ "▁out",
187
+ "el",
188
+ "ause",
189
+ "res",
190
+ "▁ma",
191
+ "ich",
192
+ "▁us",
193
+ "rou",
194
+ "▁int",
195
+ "em",
196
+ "os",
197
+ "ies",
198
+ "ie",
199
+ "▁pl",
200
+ "▁tr",
201
+ "ven",
202
+ "ous",
203
+ "▁le",
204
+ "▁two",
205
+ "ard",
206
+ "ine",
207
+ "▁co",
208
+ "een",
209
+ "▁now",
210
+ "ty",
211
+ "her",
212
+ "ack",
213
+ "▁pe",
214
+ "ame",
215
+ "▁how",
216
+ "▁who",
217
+ "▁see",
218
+ "▁tim",
219
+ "ect",
220
+ "ast",
221
+ "▁our",
222
+ "ci",
223
+ "ree",
224
+ "ople",
225
+ "gh",
226
+ "▁no",
227
+ "▁had",
228
+ "▁man",
229
+ "▁qu",
230
+ "▁en",
231
+ "ide",
232
+ "ure",
233
+ "ud",
234
+ "so",
235
+ "▁his",
236
+ "▁sa",
237
+ "▁sp",
238
+ "▁say",
239
+ "ose",
240
+ "ther",
241
+ "▁act",
242
+ "▁ta",
243
+ "▁cl",
244
+ "ings",
245
+ "pt",
246
+ "king",
247
+ "▁any",
248
+ "▁has",
249
+ "▁un",
250
+ "iv",
251
+ "▁im",
252
+ "▁ag",
253
+ "▁te",
254
+ "▁fe",
255
+ "one",
256
+ "per",
257
+ "ong",
258
+ "▁po",
259
+ "▁ad",
260
+ "ff",
261
+ "ore",
262
+ "itt",
263
+ "ans",
264
+ "iz",
265
+ "eah",
266
+ "reat",
267
+ "act",
268
+ "own",
269
+ "hing",
270
+ "enty",
271
+ "age",
272
+ "ber",
273
+ "ice",
274
+ "▁am",
275
+ "ple",
276
+ "are",
277
+ "▁per",
278
+ "und",
279
+ "ite",
280
+ "ix",
281
+ "pl",
282
+ "▁way",
283
+ "▁did",
284
+ "▁pr",
285
+ "▁got",
286
+ "ars",
287
+ "▁she",
288
+ "▁let",
289
+ "ag",
290
+ "▁ac",
291
+ "int",
292
+ "▁ar",
293
+ "ry",
294
+ "ign",
295
+ "ish",
296
+ "▁fir",
297
+ "ace",
298
+ "ble",
299
+ "og",
300
+ "ue",
301
+ "▁ye",
302
+ "ap",
303
+ "iff",
304
+ "▁ro",
305
+ "▁her",
306
+ "nder",
307
+ "▁ok",
308
+ "▁res",
309
+ "▁gu",
310
+ "ence",
311
+ "▁may",
312
+ "ated",
313
+ "ip",
314
+ "▁bo",
315
+ "▁him",
316
+ "way",
317
+ "ac",
318
+ "ical",
319
+ "ass",
320
+ "ase",
321
+ "▁dis",
322
+ "able",
323
+ "ick",
324
+ "▁app",
325
+ "ance",
326
+ "▁pre",
327
+ "▁six",
328
+ "▁off",
329
+ "▁new",
330
+ "ia",
331
+ "orm",
332
+ "ank",
333
+ "▁lot",
334
+ "ach",
335
+ "▁fo",
336
+ "inet",
337
+ "ire",
338
+ "ary",
339
+ "ult",
340
+ "▁tal",
341
+ "▁mu",
342
+ "▁bl",
343
+ "ount",
344
+ "sel",
345
+ "vel",
346
+ "▁br",
347
+ "▁imp",
348
+ "ep",
349
+ "cess",
350
+ "ord",
351
+ "▁sc",
352
+ "▁inc",
353
+ "ound",
354
+ "ang",
355
+ "be",
356
+ "ress",
357
+ "uct",
358
+ "▁ind",
359
+ "▁af",
360
+ "ving",
361
+ "▁oh",
362
+ "▁bet",
363
+ "▁use",
364
+ "ome",
365
+ "ens",
366
+ "ys",
367
+ "▁bu",
368
+ "co",
369
+ "ory",
370
+ "ater",
371
+ "ild",
372
+ "ght",
373
+ "ial",
374
+ "▁day",
375
+ "ning",
376
+ "na",
377
+ "ile",
378
+ "▁spe",
379
+ "▁mar",
380
+ "ody",
381
+ "ough",
382
+ "ade",
383
+ "vers",
384
+ "xt",
385
+ "▁fl",
386
+ "▁ke",
387
+ "ian",
388
+ "▁sy",
389
+ "▁put",
390
+ "fore",
391
+ "ub",
392
+ "▁ph",
393
+ "fe",
394
+ "▁em",
395
+ "▁ser",
396
+ "form",
397
+ "ting",
398
+ "te",
399
+ "av",
400
+ "ious",
401
+ "▁rec",
402
+ "ks",
403
+ "▁gr",
404
+ "ces",
405
+ "wn",
406
+ "ors",
407
+ "▁jo",
408
+ "ents",
409
+ "▁des",
410
+ "▁try",
411
+ "▁equ",
412
+ "▁z",
413
+ "▁rem",
414
+ "▁str",
415
+ "self",
416
+ "▁bit",
417
+ "ph",
418
+ "ved",
419
+ "▁why",
420
+ "▁bas",
421
+ "▁hel",
422
+ "▁rel",
423
+ "ath",
424
+ "ject",
425
+ "ail",
426
+ "▁la",
427
+ "ual",
428
+ "▁god",
429
+ "▁nat",
430
+ "erm",
431
+ "day",
432
+ "▁id",
433
+ "ft",
434
+ "▁wr",
435
+ "▁min",
436
+ "ates",
437
+ "▁gen",
438
+ "tain",
439
+ "▁ob",
440
+ "ull",
441
+ "ict",
442
+ "▁tra",
443
+ "▁end",
444
+ "▁hig",
445
+ "▁fif",
446
+ "oth",
447
+ "tern",
448
+ "▁its",
449
+ "vent",
450
+ "▁sm",
451
+ "ons",
452
+ "▁add",
453
+ "iss",
454
+ "▁bel",
455
+ "ful",
456
+ "get",
457
+ "▁ele",
458
+ "▁rep",
459
+ "ak",
460
+ "▁ho",
461
+ "▁pos",
462
+ "▁num",
463
+ "ange",
464
+ "ves",
465
+ "ific",
466
+ "urn",
467
+ "ise",
468
+ "▁cr",
469
+ "▁um",
470
+ "ward",
471
+ "▁reg",
472
+ "ady",
473
+ "ower",
474
+ "uc",
475
+ "▁dec",
476
+ "lic",
477
+ "▁set",
478
+ "▁gon",
479
+ "▁op",
480
+ "▁ear",
481
+ "▁sub",
482
+ "▁sl",
483
+ "les",
484
+ "stem",
485
+ "cial",
486
+ "olog",
487
+ "atch",
488
+ "ily",
489
+ "body",
490
+ "nds",
491
+ "ular",
492
+ "ren",
493
+ "▁own",
494
+ "▁too",
495
+ "cent",
496
+ "ible",
497
+ "pect",
498
+ "ered",
499
+ "ways",
500
+ "teen",
501
+ "▁uh",
502
+ "▁big",
503
+ "▁mod",
504
+ "▁att",
505
+ "▁car",
506
+ "gr",
507
+ "▁acc",
508
+ "ied",
509
+ "mun",
510
+ "ib",
511
+ "▁mon",
512
+ "▁sch",
513
+ "▁pol",
514
+ "▁dat",
515
+ "▁fin",
516
+ "▁sim",
517
+ "▁inv",
518
+ "▁def",
519
+ "ked",
520
+ "▁ent",
521
+ "▁yes",
522
+ "ows",
523
+ "ics",
524
+ "ited",
525
+ "ute",
526
+ "ism",
527
+ "ps",
528
+ "▁ed",
529
+ "▁el",
530
+ "ably",
531
+ "ppen",
532
+ "als",
533
+ "▁ten",
534
+ "ract",
535
+ "ss",
536
+ "▁ass",
537
+ "▁met",
538
+ "gan",
539
+ "▁eng",
540
+ "▁stu",
541
+ "ween",
542
+ "arch",
543
+ "▁gl",
544
+ "▁cor",
545
+ "▁dr",
546
+ "vern",
547
+ "▁ty",
548
+ "▁run",
549
+ "hip",
550
+ "cus",
551
+ "cond",
552
+ "▁ins",
553
+ "irty",
554
+ "▁pub",
555
+ "lud",
556
+ "llow",
557
+ "▁cou",
558
+ "ew",
559
+ "iew",
560
+ "▁sur",
561
+ "ero",
562
+ "ood",
563
+ "ness",
564
+ "▁fun",
565
+ "▁eff",
566
+ "cept",
567
+ "▁ca",
568
+ "▁exp",
569
+ "duct",
570
+ "▁sw",
571
+ "ize",
572
+ "ope",
573
+ "▁par",
574
+ "kes",
575
+ "cy",
576
+ "▁ev",
577
+ "▁ref",
578
+ "ell",
579
+ "▁bus",
580
+ "ug",
581
+ "rib",
582
+ "▁cur",
583
+ "mo",
584
+ "ock",
585
+ "ures",
586
+ "air",
587
+ "▁war",
588
+ "str",
589
+ "▁med",
590
+ "▁wa",
591
+ "▁val",
592
+ "▁sin",
593
+ "blem",
594
+ "▁fam",
595
+ "li",
596
+ "▁far",
597
+ "▁cle",
598
+ "▁col",
599
+ "mon",
600
+ "▁gra",
601
+ "led",
602
+ "ense",
603
+ "tin",
604
+ "ues",
605
+ "its",
606
+ "▁mem",
607
+ "▁inf",
608
+ "▁eas",
609
+ "ideo",
610
+ "▁top",
611
+ "io",
612
+ "pan",
613
+ "▁hum",
614
+ "▁old",
615
+ "ead",
616
+ "▁ord",
617
+ "ric",
618
+ "ants",
619
+ "oy",
620
+ "esn",
621
+ "uck",
622
+ "ason",
623
+ "ced",
624
+ "ool",
625
+ "rat",
626
+ "ouse",
627
+ "▁lar",
628
+ "▁art",
629
+ "▁wee",
630
+ "▁cer",
631
+ "ized",
632
+ "▁mat",
633
+ "con",
634
+ "erg",
635
+ "land",
636
+ "ines",
637
+ "▁chr",
638
+ "▁aut",
639
+ "▁lea",
640
+ "▁sou",
641
+ "oney",
642
+ "tty",
643
+ "▁ple",
644
+ "ulat",
645
+ "oks",
646
+ "▁few",
647
+ "▁sol",
648
+ "▁che",
649
+ "chn",
650
+ "ird",
651
+ "▁bre",
652
+ "▁dur",
653
+ "▁wom",
654
+ "me",
655
+ "izat",
656
+ "eric",
657
+ "ote",
658
+ "▁uni",
659
+ "eren",
660
+ "arn",
661
+ "ross",
662
+ "ices",
663
+ "ten",
664
+ "eral",
665
+ "ever",
666
+ "ieve",
667
+ "lish",
668
+ "ash",
669
+ "▁opp",
670
+ "alth",
671
+ "ger",
672
+ "▁sk",
673
+ "▁red",
674
+ "peri",
675
+ "▁det",
676
+ "▁ext",
677
+ "ner",
678
+ "ah",
679
+ "▁var",
680
+ "▁loc",
681
+ "gram",
682
+ "ists",
683
+ "ives",
684
+ "▁es",
685
+ "▁nor",
686
+ "tro",
687
+ "ale",
688
+ "▁iss",
689
+ "▁pri",
690
+ "gin",
691
+ "az",
692
+ "oc",
693
+ "▁pop",
694
+ "ern",
695
+ "▁sit",
696
+ "ket",
697
+ "▁pa",
698
+ "▁law",
699
+ "ages",
700
+ "br",
701
+ "▁cam",
702
+ "▁mom",
703
+ "osed",
704
+ "▁bro",
705
+ "ne",
706
+ "bs",
707
+ "▁cre",
708
+ "erat",
709
+ "▁sec",
710
+ "▁cap",
711
+ "▁vis",
712
+ "▁pat",
713
+ "ield",
714
+ "iet",
715
+ "▁tri",
716
+ "up",
717
+ "▁bra",
718
+ "ts",
719
+ "▁mot",
720
+ "▁unt",
721
+ "put",
722
+ "bo",
723
+ "ork",
724
+ "mer",
725
+ "ital",
726
+ "▁air",
727
+ "ined",
728
+ "▁beh",
729
+ "▁adv",
730
+ "▁ret",
731
+ "imes",
732
+ "▁tea",
733
+ "ural",
734
+ "sid",
735
+ "ters",
736
+ "▁pur",
737
+ "▁sci",
738
+ "bers",
739
+ "ient",
740
+ "ier",
741
+ "cc",
742
+ "sw",
743
+ "▁av",
744
+ "reen",
745
+ "ode",
746
+ "ont",
747
+ "▁dra",
748
+ "ann",
749
+ "nect",
750
+ "▁x",
751
+ "▁eu",
752
+ "ton",
753
+ "inat",
754
+ "ene",
755
+ "ared",
756
+ "els",
757
+ "▁mor",
758
+ "▁rat",
759
+ "cri",
760
+ "▁men",
761
+ "▁ah",
762
+ "ames",
763
+ "▁arm",
764
+ "eak",
765
+ "▁pay",
766
+ "▁hal",
767
+ "ins",
768
+ "ilit",
769
+ "stit",
770
+ "▁ra",
771
+ "▁leg",
772
+ "cl",
773
+ "pr",
774
+ "▁wal",
775
+ "▁bad",
776
+ "▁ge",
777
+ "roup",
778
+ "▁mus",
779
+ "man",
780
+ "▁gi",
781
+ "eds",
782
+ "▁aw",
783
+ "po",
784
+ "ark",
785
+ "row",
786
+ "▁dep",
787
+ "ully",
788
+ "ral",
789
+ "lect",
790
+ "pend",
791
+ "▁sev",
792
+ "ime",
793
+ "gest",
794
+ "here",
795
+ "▁yet",
796
+ "ted",
797
+ "▁rev",
798
+ "ds",
799
+ "▁ask",
800
+ "less",
801
+ "▁di",
802
+ "ets",
803
+ "line",
804
+ "▁aff",
805
+ "ired",
806
+ "▁est",
807
+ "ken",
808
+ "vid",
809
+ "most",
810
+ "ivid",
811
+ "unch",
812
+ "par",
813
+ "med",
814
+ "rop",
815
+ "ased",
816
+ "eone",
817
+ "▁ve",
818
+ "▁abs",
819
+ "ergy",
820
+ "ret",
821
+ "▁saw",
822
+ "▁ey",
823
+ "▁cal",
824
+ "uat",
825
+ "▁mid",
826
+ "vat",
827
+ "ream",
828
+ "vice",
829
+ "ians",
830
+ "rent",
831
+ "ctor",
832
+ "err",
833
+ "ush",
834
+ "ases",
835
+ "▁suc",
836
+ "erms",
837
+ "ave",
838
+ "angu",
839
+ "ries",
840
+ "▁wo",
841
+ "arts",
842
+ "▁fil",
843
+ "▁fat",
844
+ "▁cho",
845
+ "orts",
846
+ "▁fre",
847
+ "ee",
848
+ "ught",
849
+ "eng",
850
+ "ump",
851
+ "▁bar",
852
+ "ying",
853
+ "ane",
854
+ "▁tem",
855
+ "anks",
856
+ "ury",
857
+ "iat",
858
+ "mit",
859
+ "trol",
860
+ "▁net",
861
+ "▁maj",
862
+ "▁cra",
863
+ "ling",
864
+ "▁fig",
865
+ "orn",
866
+ "icat",
867
+ "pany",
868
+ "▁occ",
869
+ "ott",
870
+ "ands",
871
+ "▁exc",
872
+ "▁mr",
873
+ "ency",
874
+ "rope",
875
+ "itch",
876
+ "▁lit",
877
+ "abil",
878
+ "not",
879
+ "ma",
880
+ "▁typ",
881
+ "▁opt",
882
+ "ob",
883
+ "ser",
884
+ "ety",
885
+ "ms",
886
+ "peci",
887
+ "aces",
888
+ "aut",
889
+ "▁hon",
890
+ "cuss",
891
+ "▁sal",
892
+ "▁sor",
893
+ "att",
894
+ "▁lab",
895
+ "▁har",
896
+ "urch",
897
+ "nded",
898
+ "uce",
899
+ "ids",
900
+ "▁hy",
901
+ "▁fut",
902
+ "▁ste",
903
+ "ours",
904
+ "ems",
905
+ "utes",
906
+ "ng",
907
+ "ta",
908
+ "▁won",
909
+ "▁fa",
910
+ "▁env",
911
+ "ards",
912
+ "▁job",
913
+ "ium",
914
+ "▁dot",
915
+ "▁obv",
916
+ "ina",
917
+ "side",
918
+ "elve",
919
+ "cu",
920
+ "▁jes",
921
+ "▁pot",
922
+ "▁pie",
923
+ "▁tre",
924
+ "▁hey",
925
+ "▁mag",
926
+ "ron",
927
+ "▁key",
928
+ "swer",
929
+ "▁win",
930
+ "ucat",
931
+ "work",
932
+ "ides",
933
+ "▁low",
934
+ "▁vol",
935
+ "▁oth",
936
+ "atic",
937
+ "lf",
938
+ "ads",
939
+ "inds",
940
+ "com",
941
+ "ths",
942
+ "▁ver",
943
+ "ised",
944
+ "lo",
945
+ "▁squ",
946
+ "▁cut",
947
+ "oked",
948
+ "irit",
949
+ "ateg",
950
+ "ppy",
951
+ "mitt",
952
+ "come",
953
+ "hn",
954
+ "igin",
955
+ "mand",
956
+ "▁dam",
957
+ "ho",
958
+ "▁da",
959
+ "▁fur",
960
+ "iron",
961
+ "ilar",
962
+ "▁fac",
963
+ "▁neg",
964
+ "▁ago",
965
+ "ged",
966
+ "miss",
967
+ "enth",
968
+ "▁dou",
969
+ "▁hit",
970
+ "▁guy",
971
+ "▁bi",
972
+ "ove",
973
+ "fess",
974
+ "ples",
975
+ "owed",
976
+ "ured",
977
+ "▁ris",
978
+ "ints",
979
+ "rew",
980
+ "▁sum",
981
+ "▁hu",
982
+ "ploy",
983
+ "ude",
984
+ "ried",
985
+ "▁cir",
986
+ "▁dev",
987
+ "ear",
988
+ "▁tot",
989
+ "▁ann",
990
+ "duc",
991
+ "ik",
992
+ "pon",
993
+ "sted",
994
+ "▁ide",
995
+ "▁'",
996
+ "ipp",
997
+ "▁eat",
998
+ "▁dom",
999
+ "▁",
1000
+ "e",
1001
+ "t",
1002
+ "o",
1003
+ "a",
1004
+ "i",
1005
+ "n",
1006
+ "s",
1007
+ "r",
1008
+ "h",
1009
+ "l",
1010
+ "d",
1011
+ "u",
1012
+ "c",
1013
+ "m",
1014
+ "y",
1015
+ "g",
1016
+ "w",
1017
+ "f",
1018
+ "p",
1019
+ "b",
1020
+ "v",
1021
+ "k",
1022
+ "'",
1023
+ "j",
1024
+ "x",
1025
+ "q",
1026
+ "z",
1027
+ "<EOU>",
1028
+ "<EOB>"
1029
+ ],
1030
+ "vocab_size": 1026,
1031
+ "blank_id": 1026,
1032
+ "eou_token": "<EOU>",
1033
+ "eou_id": 1024,
1034
+ "bos_id": -1,
1035
+ "eos_id": -1,
1036
+ "pad_id": -1
1037
+ }