bweng commited on
Commit
9785ec7
·
verified ·
1 Parent(s): 3f6c163

new v2 models to bring back support for v2 :)

Browse files
Decoder.mlmodelc/analytics/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:46de1a6fe2e49d19a2125bc91acf020df7f2aea84ba821532aade8427a440b05
3
+ size 243
Decoder.mlmodelc/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d200ca07694a347f6d02a3886a062ae839831e094e443222f2e48a14945966a8
3
+ size 554
Decoder.mlmodelc/metadata.json ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "metadataOutputVersion" : "3.0",
4
+ "shortDescription" : "Parakeet 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 2 × 1 × 640)",
21
+ "shortDescription" : "",
22
+ "shape" : "[2, 1, 640]",
23
+ "name" : "h_out",
24
+ "type" : "MultiArray"
25
+ },
26
+ {
27
+ "hasShapeFlexibility" : "0",
28
+ "isOptional" : "0",
29
+ "dataType" : "Float32",
30
+ "formattedType" : "MultiArray (Float32 2 × 1 × 640)",
31
+ "shortDescription" : "",
32
+ "shape" : "[2, 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" : 4,
46
+ "Ios17.gather" : 1,
47
+ "Ios17.cast" : 8,
48
+ "Ios17.lstm" : 2,
49
+ "Split" : 2,
50
+ "Ios17.add" : 1,
51
+ "Ios17.transpose" : 2,
52
+ "Ios17.greaterEqual" : 1,
53
+ "Identity" : 1,
54
+ "Stack" : 2
55
+ },
56
+ "computePrecision" : "Mixed (Float16, Float32, Int16, Int32)",
57
+ "isUpdatable" : "0",
58
+ "stateSchema" : [
59
+
60
+ ],
61
+ "availability" : {
62
+ "macOS" : "14.0",
63
+ "tvOS" : "17.0",
64
+ "visionOS" : "1.0",
65
+ "watchOS" : "10.0",
66
+ "iOS" : "17.0",
67
+ "macCatalyst" : "17.0"
68
+ },
69
+ "modelType" : {
70
+ "name" : "MLModelType_mlProgram"
71
+ },
72
+ "inputSchema" : [
73
+ {
74
+ "hasShapeFlexibility" : "0",
75
+ "isOptional" : "0",
76
+ "dataType" : "Int32",
77
+ "formattedType" : "MultiArray (Int32 1 × 1)",
78
+ "shortDescription" : "",
79
+ "shape" : "[1, 1]",
80
+ "name" : "targets",
81
+ "type" : "MultiArray"
82
+ },
83
+ {
84
+ "hasShapeFlexibility" : "0",
85
+ "isOptional" : "0",
86
+ "dataType" : "Int32",
87
+ "formattedType" : "MultiArray (Int32 1)",
88
+ "shortDescription" : "",
89
+ "shape" : "[1]",
90
+ "name" : "target_length",
91
+ "type" : "MultiArray"
92
+ },
93
+ {
94
+ "hasShapeFlexibility" : "0",
95
+ "isOptional" : "0",
96
+ "dataType" : "Float32",
97
+ "formattedType" : "MultiArray (Float32 2 × 1 × 640)",
98
+ "shortDescription" : "",
99
+ "shape" : "[2, 1, 640]",
100
+ "name" : "h_in",
101
+ "type" : "MultiArray"
102
+ },
103
+ {
104
+ "hasShapeFlexibility" : "0",
105
+ "isOptional" : "0",
106
+ "dataType" : "Float32",
107
+ "formattedType" : "MultiArray (Float32 2 × 1 × 640)",
108
+ "shortDescription" : "",
109
+ "shape" : "[2, 1, 640]",
110
+ "name" : "c_in",
111
+ "type" : "MultiArray"
112
+ }
113
+ ],
114
+ "userDefinedMetadata" : {
115
+ "com.github.apple.coremltools.conversion_date" : "2025-09-25",
116
+ "com.github.apple.coremltools.source" : "torch==2.7.0",
117
+ "com.github.apple.coremltools.version" : "9.0b1",
118
+ "com.github.apple.coremltools.source_dialect" : "TorchScript"
119
+ },
120
+ "generatedClassName" : "parakeet_decoder",
121
+ "method" : "predict"
122
+ }
123
+ ]
Decoder.mlmodelc/model.mil ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.7.0"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "9.0b1"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [2, 1, 640]> c_in, tensor<fp32, [2, 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, [1025, 640]> module_prediction_embed_weight_to_fp16 = const()[name = tensor<string, []>("module_prediction_embed_weight_to_fp16"), val = tensor<fp16, [1025, 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, []>(1025)];
15
+ tensor<int32, [1, 1]> add_2 = add(x = cast_1, y = slice_by_index_0)[name = tensor<string, []>("add_2")];
16
+ tensor<int32, [1, 1]> select_0 = select(a = cast_1, b = add_2, 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, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(2)];
23
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
24
+ tensor<string, []> h_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("h_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
25
+ tensor<fp16, [2, 1, 640]> h_in_to_fp16 = cast(dtype = h_in_to_fp16_dtype_0, x = h_in)[name = tensor<string, []>("cast_6")];
26
+ 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")];
27
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(2)];
28
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
29
+ tensor<string, []> c_in_to_fp16_dtype_0 = const()[name = tensor<string, []>("c_in_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
30
+ tensor<fp16, [2, 1, 640]> c_in_to_fp16 = cast(dtype = c_in_to_fp16_dtype_0, x = c_in)[name = tensor<string, []>("cast_5")];
31
+ 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")];
32
+ 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])];
33
+ 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")];
34
+ 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])];
35
+ 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")];
36
+ tensor<string, []> input_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_lstm_layer_0_direction_0"), val = tensor<string, []>("forward")];
37
+ tensor<bool, []> input_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
38
+ tensor<string, []> input_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
39
+ tensor<string, []> input_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
40
+ tensor<string, []> input_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
41
+ 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, []>(1312128)))];
42
+ 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, []>(4588992)))];
43
+ 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, []>(7865856)))];
44
+ 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")];
45
+ 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")];
46
+ tensor<int32, [1]> input_lstm_h0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_h0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
47
+ 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")];
48
+ tensor<int32, [1]> input_lstm_c0_squeeze_axes_0 = const()[name = tensor<string, []>("input_lstm_c0_squeeze_axes_0"), val = tensor<int32, [1]>([0])];
49
+ 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")];
50
+ tensor<string, []> input_direction_0 = const()[name = tensor<string, []>("input_direction_0"), val = tensor<string, []>("forward")];
51
+ tensor<bool, []> input_output_sequence_0 = const()[name = tensor<string, []>("input_output_sequence_0"), val = tensor<bool, []>(true)];
52
+ tensor<string, []> input_recurrent_activation_0 = const()[name = tensor<string, []>("input_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
53
+ tensor<string, []> input_cell_activation_0 = const()[name = tensor<string, []>("input_cell_activation_0"), val = tensor<string, []>("tanh")];
54
+ tensor<string, []> input_activation_0 = const()[name = tensor<string, []>("input_activation_0"), val = tensor<string, []>("tanh")];
55
+ 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, []>(7871040)))];
56
+ 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, []>(11147904)))];
57
+ 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, []>(14424768)))];
58
+ 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")];
59
+ tensor<int32, []> obj_3_axis_0 = const()[name = tensor<string, []>("obj_3_axis_0"), val = tensor<int32, []>(0)];
60
+ 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")];
61
+ 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")];
62
+ tensor<int32, []> obj_axis_0 = const()[name = tensor<string, []>("obj_axis_0"), val = tensor<int32, []>(0)];
63
+ 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")];
64
+ tensor<string, []> obj_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("obj_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
65
+ tensor<int32, [3]> transpose_0_perm_0 = const()[name = tensor<string, []>("transpose_0_perm_0"), val = tensor<int32, [3]>([1, 2, 0])];
66
+ 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")];
67
+ 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")];
68
+ 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")];
69
+ tensor<fp32, [2, 1, 640]> c_out = cast(dtype = obj_cast_fp16_to_fp32_dtype_0, x = obj_cast_fp16)[name = tensor<string, []>("cast_3")];
70
+ 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_4")];
71
+ tensor<int32, [1]> target_length_tmp = identity(x = target_length)[name = tensor<string, []>("target_length_tmp")];
72
+ } -> (decoder, h_out, c_out);
73
+ }
Decoder.mlmodelc/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:27d26890221d82322c1092fd99d7b40578e435d5cf4b83c887c42603caf97aba
3
+ size 14429952
Encoder.mlmodelc/analytics/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:42e638870d73f26b332918a3496ce36793fbb413a81cbd3d16ba01328637a105
3
+ size 243
Encoder.mlmodelc/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4def7aa848599ad0e17a8b9a982edcdbf33cf92e1f4b798de32e2ca0bc74b030
3
+ size 485
Encoder.mlmodelc/metadata.json ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "metadataOutputVersion" : "3.0",
4
+ "shortDescription" : "enc6bit-palettize quantized - encoder",
5
+ "outputSchema" : [
6
+ {
7
+ "hasShapeFlexibility" : "0",
8
+ "isOptional" : "0",
9
+ "dataType" : "Float32",
10
+ "formattedType" : "MultiArray (Float32 1 × 1024 × 188)",
11
+ "shortDescription" : "",
12
+ "shape" : "[1, 1024, 188]",
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
+ "storagePrecision" : "Mixed (Float16, Palettized (6 bits))",
28
+ "modelParameters" : [
29
+
30
+ ],
31
+ "author" : "Fluid Inference",
32
+ "specificationVersion" : 8,
33
+ "mlProgramOperationTypeHistogram" : {
34
+ "Ios17.floor" : 3,
35
+ "Ios17.logicalAnd" : 2,
36
+ "Ios17.reshape" : 145,
37
+ "Ios16.softmax" : 24,
38
+ "Ios17.matmul" : 72,
39
+ "Ios17.transpose" : 172,
40
+ "Split" : 24,
41
+ "Ios17.expandDims" : 5,
42
+ "Select" : 72,
43
+ "Ios17.add" : 174,
44
+ "Tile" : 1,
45
+ "Ios17.sliceByIndex" : 48,
46
+ "Ios16.sigmoid" : 24,
47
+ "Pad" : 48,
48
+ "Ios17.logicalNot" : 2,
49
+ "Ios17.layerNorm" : 120,
50
+ "Ios16.silu" : 72,
51
+ "Ios17.less" : 1,
52
+ "Ios16.constexprLutToDense" : 294,
53
+ "Ios17.conv" : 77,
54
+ "Ios16.relu" : 3,
55
+ "Ios17.linear" : 193,
56
+ "Ios17.cast" : 4,
57
+ "Ios17.mul" : 99
58
+ },
59
+ "computePrecision" : "Mixed (Float16, Float32, Int32)",
60
+ "isUpdatable" : "0",
61
+ "stateSchema" : [
62
+
63
+ ],
64
+ "availability" : {
65
+ "macOS" : "14.0",
66
+ "tvOS" : "17.0",
67
+ "visionOS" : "1.0",
68
+ "watchOS" : "10.0",
69
+ "iOS" : "17.0",
70
+ "macCatalyst" : "17.0"
71
+ },
72
+ "modelType" : {
73
+ "name" : "MLModelType_mlProgram"
74
+ },
75
+ "inputSchema" : [
76
+ {
77
+ "hasShapeFlexibility" : "0",
78
+ "isOptional" : "0",
79
+ "dataType" : "Float32",
80
+ "formattedType" : "MultiArray (Float32 1 × 128 × 1501)",
81
+ "shortDescription" : "",
82
+ "shape" : "[1, 128, 1501]",
83
+ "name" : "mel",
84
+ "type" : "MultiArray"
85
+ },
86
+ {
87
+ "hasShapeFlexibility" : "0",
88
+ "isOptional" : "0",
89
+ "dataType" : "Int32",
90
+ "formattedType" : "MultiArray (Int32 1)",
91
+ "shortDescription" : "",
92
+ "shape" : "[1]",
93
+ "name" : "mel_length",
94
+ "type" : "MultiArray"
95
+ }
96
+ ],
97
+ "userDefinedMetadata" : {
98
+ "com.github.apple.coremltools.conversion_date" : "2025-09-25",
99
+ "com.github.apple.coremltools.source" : "torch==2.7.0",
100
+ "com.github.apple.coremltools.version" : "9.0b1",
101
+ "com.github.apple.coremltools.source_dialect" : "TorchScript"
102
+ },
103
+ "generatedClassName" : "parakeet_encoder",
104
+ "method" : "predict"
105
+ }
106
+ ]
Encoder.mlmodelc/model.mil ADDED
The diff for this file is too large to render. See raw diff
 
Encoder.mlmodelc/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4adc7ad44f9d05e1bffeb2b06d3bb02861a5c7602dff63a6b494aed3bf8a6c3e
3
+ size 445187200
JointDecision.mlmodelc/analytics/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:143471b632ec97bd3ba14a87e0379518c447a051f54f2a13fe19dca31d66df74
3
+ size 243
JointDecision.mlmodelc/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9bb6435264cd09ac30a66791736b2da6c4709667e7767ca0cfae78ad0eed4695
3
+ size 532
JointDecision.mlmodelc/metadata.json ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "metadataOutputVersion" : "3.0",
4
+ "shortDescription" : "Parakeet joint + decision head (split, softmax, argmax)",
5
+ "outputSchema" : [
6
+ {
7
+ "hasShapeFlexibility" : "0",
8
+ "isOptional" : "0",
9
+ "dataType" : "Int32",
10
+ "formattedType" : "MultiArray (Int32 1 × 188 × 1)",
11
+ "shortDescription" : "",
12
+ "shape" : "[1, 188, 1]",
13
+ "name" : "token_id",
14
+ "type" : "MultiArray"
15
+ },
16
+ {
17
+ "hasShapeFlexibility" : "0",
18
+ "isOptional" : "0",
19
+ "dataType" : "Float32",
20
+ "formattedType" : "MultiArray (Float32 1 × 188 × 1)",
21
+ "shortDescription" : "",
22
+ "shape" : "[1, 188, 1]",
23
+ "name" : "token_prob",
24
+ "type" : "MultiArray"
25
+ },
26
+ {
27
+ "hasShapeFlexibility" : "0",
28
+ "isOptional" : "0",
29
+ "dataType" : "Int32",
30
+ "formattedType" : "MultiArray (Int32 1 × 188 × 1)",
31
+ "shortDescription" : "",
32
+ "shape" : "[1, 188, 1]",
33
+ "name" : "duration",
34
+ "type" : "MultiArray"
35
+ }
36
+ ],
37
+ "storagePrecision" : "Float16",
38
+ "modelParameters" : [
39
+
40
+ ],
41
+ "author" : "Fluid Inference",
42
+ "specificationVersion" : 8,
43
+ "mlProgramOperationTypeHistogram" : {
44
+ "Ios17.reduceArgmax" : 2,
45
+ "Ios17.squeeze" : 1,
46
+ "Ios17.cast" : 4,
47
+ "Ios17.linear" : 3,
48
+ "Ios17.transpose" : 2,
49
+ "Ios17.sliceByIndex" : 2,
50
+ "Ios17.add" : 1,
51
+ "Ios16.relu" : 1,
52
+ "Ios16.softmax" : 1,
53
+ "Ios17.gatherAlongAxis" : 1,
54
+ "Ios17.expandDims" : 3
55
+ },
56
+ "computePrecision" : "Mixed (Float16, Float32, Int16, Int32)",
57
+ "isUpdatable" : "0",
58
+ "stateSchema" : [
59
+
60
+ ],
61
+ "availability" : {
62
+ "macOS" : "14.0",
63
+ "tvOS" : "17.0",
64
+ "visionOS" : "1.0",
65
+ "watchOS" : "10.0",
66
+ "iOS" : "17.0",
67
+ "macCatalyst" : "17.0"
68
+ },
69
+ "modelType" : {
70
+ "name" : "MLModelType_mlProgram"
71
+ },
72
+ "inputSchema" : [
73
+ {
74
+ "hasShapeFlexibility" : "0",
75
+ "isOptional" : "0",
76
+ "dataType" : "Float32",
77
+ "formattedType" : "MultiArray (Float32 1 × 1024 × 188)",
78
+ "shortDescription" : "",
79
+ "shape" : "[1, 1024, 188]",
80
+ "name" : "encoder",
81
+ "type" : "MultiArray"
82
+ },
83
+ {
84
+ "hasShapeFlexibility" : "0",
85
+ "isOptional" : "0",
86
+ "dataType" : "Float32",
87
+ "formattedType" : "MultiArray (Float32 1 × 640 × 1)",
88
+ "shortDescription" : "",
89
+ "shape" : "[1, 640, 1]",
90
+ "name" : "decoder",
91
+ "type" : "MultiArray"
92
+ }
93
+ ],
94
+ "userDefinedMetadata" : {
95
+ "com.github.apple.coremltools.conversion_date" : "2025-09-25",
96
+ "com.github.apple.coremltools.source" : "torch==2.7.0",
97
+ "com.github.apple.coremltools.version" : "9.0b1",
98
+ "com.github.apple.coremltools.source_dialect" : "TorchScript"
99
+ },
100
+ "generatedClassName" : "parakeet_joint_decision",
101
+ "method" : "predict"
102
+ }
103
+ ]
JointDecision.mlmodelc/model.mil ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.7.0"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "9.0b1"}})]
3
+ {
4
+ func main<ios17>(tensor<fp32, [1, 640, 1]> decoder, tensor<fp32, [1, 1024, 188]> 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]> 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, []>(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, []>(1310848)))];
11
+ tensor<fp16, [1, 1024, 188]> encoder_to_fp16 = cast(dtype = encoder_to_fp16_dtype_0, x = encoder)[name = tensor<string, []>("cast_3")];
12
+ tensor<fp16, [1, 188, 1024]> input_1_cast_fp16 = transpose(perm = input_1_perm_0, x = encoder_to_fp16)[name = tensor<string, []>("transpose_1")];
13
+ tensor<fp16, [1, 188, 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, []>(1312192)))];
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, []>(2131456)))];
16
+ tensor<fp16, [1, 640, 1]> decoder_to_fp16 = cast(dtype = decoder_to_fp16_dtype_0, x = decoder)[name = tensor<string, []>("cast_2")];
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 = 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, 188, 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, 188, 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, 188, 1, 640]> input_7_cast_fp16 = relu(x = input_5_cast_fp16)[name = tensor<string, []>("input_7_cast_fp16")];
25
+ tensor<fp16, [1030, 640]> joint_module_joint_net_2_weight_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_weight_to_fp16"), val = tensor<fp16, [1030, 640]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2132800)))];
26
+ tensor<fp16, [1030]> joint_module_joint_net_2_bias_to_fp16 = const()[name = tensor<string, []>("joint_module_joint_net_2_bias_to_fp16"), val = tensor<fp16, [1030]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(3451264)))];
27
+ tensor<fp16, [1, 188, 1, 1030]> 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, [4]> token_logits_begin_0 = const()[name = tensor<string, []>("token_logits_begin_0"), val = tensor<int32, [4]>([0, 0, 0, 0])];
29
+ tensor<int32, [4]> token_logits_end_0 = const()[name = tensor<string, []>("token_logits_end_0"), val = tensor<int32, [4]>([1, 188, 1, 1025])];
30
+ tensor<bool, [4]> token_logits_end_mask_0 = const()[name = tensor<string, []>("token_logits_end_mask_0"), val = tensor<bool, [4]>([true, true, true, false])];
31
+ tensor<fp16, [1, 188, 1, 1025]> token_logits_cast_fp16 = slice_by_index(begin = token_logits_begin_0, end = token_logits_end_0, end_mask = token_logits_end_mask_0, x = linear_2_cast_fp16)[name = tensor<string, []>("token_logits_cast_fp16")];
32
+ tensor<int32, [4]> duration_logits_begin_0 = const()[name = tensor<string, []>("duration_logits_begin_0"), val = tensor<int32, [4]>([0, 0, 0, 1025])];
33
+ tensor<int32, [4]> duration_logits_end_0 = const()[name = tensor<string, []>("duration_logits_end_0"), val = tensor<int32, [4]>([1, 188, 1, 1030])];
34
+ tensor<bool, [4]> duration_logits_end_mask_0 = const()[name = tensor<string, []>("duration_logits_end_mask_0"), val = tensor<bool, [4]>([true, true, true, true])];
35
+ tensor<fp16, [1, 188, 1, 5]> duration_logits_cast_fp16 = slice_by_index(begin = duration_logits_begin_0, end = duration_logits_end_0, end_mask = duration_logits_end_mask_0, x = linear_2_cast_fp16)[name = tensor<string, []>("duration_logits_cast_fp16")];
36
+ tensor<int32, []> var_43_axis_0 = const()[name = tensor<string, []>("op_43_axis_0"), val = tensor<int32, []>(-1)];
37
+ tensor<bool, []> var_43_keep_dims_0 = const()[name = tensor<string, []>("op_43_keep_dims_0"), val = tensor<bool, []>(false)];
38
+ tensor<string, []> var_43_output_dtype_0 = const()[name = tensor<string, []>("op_43_output_dtype_0"), val = tensor<string, []>("int32")];
39
+ tensor<int32, [1, 188, 1]> token_id = reduce_argmax(axis = var_43_axis_0, keep_dims = var_43_keep_dims_0, output_dtype = var_43_output_dtype_0, x = token_logits_cast_fp16)[name = tensor<string, []>("op_43_cast_fp16")];
40
+ tensor<int32, []> var_49 = const()[name = tensor<string, []>("op_49"), val = tensor<int32, []>(-1)];
41
+ tensor<fp16, [1, 188, 1, 1025]> token_probs_all_cast_fp16 = softmax(axis = var_49, x = token_logits_cast_fp16)[name = tensor<string, []>("token_probs_all_cast_fp16")];
42
+ tensor<int32, [1]> var_58_axes_0 = const()[name = tensor<string, []>("op_58_axes_0"), val = tensor<int32, [1]>([-1])];
43
+ tensor<int32, [1, 188, 1, 1]> var_58 = expand_dims(axes = var_58_axes_0, x = token_id)[name = tensor<string, []>("op_58")];
44
+ tensor<int32, []> var_59 = const()[name = tensor<string, []>("op_59"), val = tensor<int32, []>(-1)];
45
+ tensor<bool, []> var_61_validate_indices_0 = const()[name = tensor<string, []>("op_61_validate_indices_0"), val = tensor<bool, []>(false)];
46
+ tensor<string, []> var_58_to_int16_dtype_0 = const()[name = tensor<string, []>("op_58_to_int16_dtype_0"), val = tensor<string, []>("int16")];
47
+ tensor<int16, [1, 188, 1, 1]> var_58_to_int16 = cast(dtype = var_58_to_int16_dtype_0, x = var_58)[name = tensor<string, []>("cast_1")];
48
+ tensor<fp16, [1, 188, 1, 1]> var_61_cast_fp16_cast_int16 = gather_along_axis(axis = var_59, indices = var_58_to_int16, validate_indices = var_61_validate_indices_0, x = token_probs_all_cast_fp16)[name = tensor<string, []>("op_61_cast_fp16_cast_int16")];
49
+ tensor<int32, [1]> var_63_axes_0 = const()[name = tensor<string, []>("op_63_axes_0"), val = tensor<int32, [1]>([-1])];
50
+ tensor<fp16, [1, 188, 1]> var_63_cast_fp16 = squeeze(axes = var_63_axes_0, x = var_61_cast_fp16_cast_int16)[name = tensor<string, []>("op_63_cast_fp16")];
51
+ tensor<string, []> var_63_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("op_63_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
52
+ tensor<int32, []> var_66_axis_0 = const()[name = tensor<string, []>("op_66_axis_0"), val = tensor<int32, []>(-1)];
53
+ tensor<bool, []> var_66_keep_dims_0 = const()[name = tensor<string, []>("op_66_keep_dims_0"), val = tensor<bool, []>(false)];
54
+ tensor<string, []> var_66_output_dtype_0 = const()[name = tensor<string, []>("op_66_output_dtype_0"), val = tensor<string, []>("int32")];
55
+ tensor<int32, [1, 188, 1]> duration = reduce_argmax(axis = var_66_axis_0, keep_dims = var_66_keep_dims_0, output_dtype = var_66_output_dtype_0, x = duration_logits_cast_fp16)[name = tensor<string, []>("op_66_cast_fp16")];
56
+ tensor<fp32, [1, 188, 1]> token_prob = cast(dtype = var_63_cast_fp16_to_fp32_dtype_0, x = var_63_cast_fp16)[name = tensor<string, []>("cast_0")];
57
+ } -> (token_id, token_prob, duration);
58
+ }
JointDecision.mlmodelc/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca22a65903a05e64137677da608077578a8606090a598abf4875fa6199aaa19d
3
+ size 3453388
Preprocessor.mlmodelc/analytics/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:03ab3c1327a054c54c07a40325db967ec574f2c91dcc8192bfa44aa561bcf2d8
3
+ size 243
Preprocessor.mlmodelc/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d88ea1fc349459c9e100d6a96688c5b29a1f0d865f544be103001724b986b6d6
3
+ size 494
Preprocessor.mlmodelc/metadata.json ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "metadataOutputVersion" : "3.0",
4
+ "shortDescription" : "int8-linear quantized - preprocessor",
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" : "Int8",
28
+ "modelParameters" : [
29
+
30
+ ],
31
+ "author" : "Fluid Inference",
32
+ "specificationVersion" : 8,
33
+ "mlProgramOperationTypeHistogram" : {
34
+ "Range1d" : 2,
35
+ "Ios17.reshape" : 2,
36
+ "Ios17.matmul" : 1,
37
+ "Ios17.expandDims" : 10,
38
+ "Select" : 3,
39
+ "Ios17.add" : 4,
40
+ "Tile" : 2,
41
+ "Ios17.sliceByIndex" : 3,
42
+ "Ios16.reduceSum" : 4,
43
+ "Shape" : 3,
44
+ "Ios17.gather" : 3,
45
+ "Pad" : 1,
46
+ "Ios17.log" : 1,
47
+ "Ios16.constexprAffineDequantize" : 3,
48
+ "Ios17.conv" : 2,
49
+ "Ios17.sub" : 4,
50
+ "Ios17.pow" : 2,
51
+ "Ios17.cast" : 10,
52
+ "Ios17.realDiv" : 4,
53
+ "Stack" : 1,
54
+ "Ios17.concat" : 3,
55
+ "Ios17.floorDiv" : 1,
56
+ "Ios17.less" : 1,
57
+ "Ios17.sqrt" : 1,
58
+ "Ios17.greaterEqual" : 1,
59
+ "Ios17.mul" : 1
60
+ },
61
+ "computePrecision" : "Mixed (Float16, Float32, Int32, UInt16)",
62
+ "isUpdatable" : "0",
63
+ "stateSchema" : [
64
+
65
+ ],
66
+ "availability" : {
67
+ "macOS" : "14.0",
68
+ "tvOS" : "17.0",
69
+ "visionOS" : "1.0",
70
+ "watchOS" : "10.0",
71
+ "iOS" : "17.0",
72
+ "macCatalyst" : "17.0"
73
+ },
74
+ "modelType" : {
75
+ "name" : "MLModelType_mlProgram"
76
+ },
77
+ "inputSchema" : [
78
+ {
79
+ "dataType" : "Float32",
80
+ "hasShapeFlexibility" : "1",
81
+ "isOptional" : "0",
82
+ "shapeFlexibility" : "1 × 1...240000",
83
+ "shapeRange" : "[[1, 1], [1, 240000]]",
84
+ "formattedType" : "MultiArray (Float32 1 × 1)",
85
+ "type" : "MultiArray",
86
+ "shape" : "[1, 1]",
87
+ "name" : "audio_signal",
88
+ "shortDescription" : ""
89
+ },
90
+ {
91
+ "hasShapeFlexibility" : "0",
92
+ "isOptional" : "0",
93
+ "dataType" : "Int32",
94
+ "formattedType" : "MultiArray (Int32 1)",
95
+ "shortDescription" : "",
96
+ "shape" : "[1]",
97
+ "name" : "audio_length",
98
+ "type" : "MultiArray"
99
+ }
100
+ ],
101
+ "userDefinedMetadata" : {
102
+ "com.github.apple.coremltools.conversion_date" : "2025-09-25",
103
+ "com.github.apple.coremltools.source" : "torch==2.7.0",
104
+ "com.github.apple.coremltools.version" : "9.0b1",
105
+ "com.github.apple.coremltools.source_dialect" : "TorchScript"
106
+ },
107
+ "generatedClassName" : "parakeet_preprocessor",
108
+ "method" : "predict"
109
+ }
110
+ ]
Preprocessor.mlmodelc/model.mil ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3500.14.1"}, {"coremlc-version", "3500.32.1"}})]
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_34 = const()[name = tensor<string, []>("op_34"), val = tensor<int32, []>(512)];
8
+ tensor<int32, [1]> var_35 = add(x = audio_length, y = var_34)[name = tensor<string, []>("op_35")];
9
+ tensor<int32, []> var_36 = const()[name = tensor<string, []>("op_36"), val = tensor<int32, []>(512)];
10
+ tensor<int32, [1]> var_37 = sub(x = var_35, y = var_36)[name = tensor<string, []>("op_37")];
11
+ tensor<int32, [1]> floor_div_0 = floor_div(x = var_37, y = var_10)[name = tensor<string, []>("floor_div_0")];
12
+ tensor<string, []> var_38_to_fp16_dtype_0 = const()[name = tensor<string, []>("op_38_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
13
+ tensor<fp16, []> var_39_promoted_to_fp16 = const()[name = tensor<string, []>("op_39_promoted_to_fp16"), val = tensor<fp16, []>(0x1p+0)];
14
+ tensor<fp16, [1]> floor_div_0_to_fp16 = cast(dtype = var_38_to_fp16_dtype_0, x = floor_div_0)[name = tensor<string, []>("cast_9")];
15
+ tensor<fp16, [1]> seq_len_1_cast_fp16 = add(x = floor_div_0_to_fp16, y = var_39_promoted_to_fp16)[name = tensor<string, []>("seq_len_1_cast_fp16")];
16
+ tensor<string, []> seq_len_dtype_0 = const()[name = tensor<string, []>("seq_len_dtype_0"), val = tensor<string, []>("int32")];
17
+ tensor<int32, [2]> var_43_begin_0 = const()[name = tensor<string, []>("op_43_begin_0"), val = tensor<int32, [2]>([0, 0])];
18
+ tensor<int32, [2]> var_43_end_0 = const()[name = tensor<string, []>("op_43_end_0"), val = tensor<int32, [2]>([1, 1])];
19
+ tensor<bool, [2]> var_43_end_mask_0 = const()[name = tensor<string, []>("op_43_end_mask_0"), val = tensor<bool, [2]>([true, false])];
20
+ tensor<bool, [2]> var_43_squeeze_mask_0 = const()[name = tensor<string, []>("op_43_squeeze_mask_0"), val = tensor<bool, [2]>([false, true])];
21
+ tensor<string, []> audio_signal_to_fp16_dtype_0 = const()[name = tensor<string, []>("audio_signal_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
22
+ tensor<fp16, [1, ?]> audio_signal_to_fp16 = cast(dtype = audio_signal_to_fp16_dtype_0, x = audio_signal)[name = tensor<string, []>("cast_8")];
23
+ tensor<fp16, [1]> var_43_cast_fp16 = slice_by_index(begin = var_43_begin_0, end = var_43_end_0, end_mask = var_43_end_mask_0, squeeze_mask = var_43_squeeze_mask_0, x = audio_signal_to_fp16)[name = tensor<string, []>("op_43_cast_fp16")];
24
+ tensor<int32, [1]> var_44_axes_0 = const()[name = tensor<string, []>("op_44_axes_0"), val = tensor<int32, [1]>([1])];
25
+ tensor<fp16, [1, 1]> var_44_cast_fp16 = expand_dims(axes = var_44_axes_0, x = var_43_cast_fp16)[name = tensor<string, []>("op_44_cast_fp16")];
26
+ tensor<int32, [2]> var_46_begin_0 = const()[name = tensor<string, []>("op_46_begin_0"), val = tensor<int32, [2]>([0, 1])];
27
+ tensor<int32, [2]> var_46_end_0 = const()[name = tensor<string, []>("op_46_end_0"), val = tensor<int32, [2]>([1, 0])];
28
+ tensor<bool, [2]> var_46_end_mask_0 = const()[name = tensor<string, []>("op_46_end_mask_0"), val = tensor<bool, [2]>([true, true])];
29
+ tensor<fp16, [1, ?]> var_46_cast_fp16 = slice_by_index(begin = var_46_begin_0, end = var_46_end_0, end_mask = var_46_end_mask_0, x = audio_signal_to_fp16)[name = tensor<string, []>("op_46_cast_fp16")];
30
+ tensor<int32, [2]> var_48_begin_0 = const()[name = tensor<string, []>("op_48_begin_0"), val = tensor<int32, [2]>([0, 0])];
31
+ tensor<int32, [2]> var_48_end_0 = const()[name = tensor<string, []>("op_48_end_0"), val = tensor<int32, [2]>([1, -1])];
32
+ tensor<bool, [2]> var_48_end_mask_0 = const()[name = tensor<string, []>("op_48_end_mask_0"), val = tensor<bool, [2]>([true, false])];
33
+ 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, x = audio_signal_to_fp16)[name = tensor<string, []>("op_48_cast_fp16")];
34
+ tensor<fp16, []> var_49_to_fp16 = const()[name = tensor<string, []>("op_49_to_fp16"), val = tensor<fp16, []>(0x1.f0cp-1)];
35
+ tensor<fp16, [1, ?]> var_50_cast_fp16 = mul(x = var_48_cast_fp16, y = var_49_to_fp16)[name = tensor<string, []>("op_50_cast_fp16")];
36
+ tensor<fp16, [1, ?]> var_51_cast_fp16 = sub(x = var_46_cast_fp16, y = var_50_cast_fp16)[name = tensor<string, []>("op_51_cast_fp16")];
37
+ tensor<bool, []> input_1_interleave_0 = const()[name = tensor<string, []>("input_1_interleave_0"), val = tensor<bool, []>(false)];
38
+ tensor<fp16, [1, ?]> input_1_cast_fp16 = concat(axis = var_9, interleave = input_1_interleave_0, values = (var_44_cast_fp16, var_51_cast_fp16))[name = tensor<string, []>("input_1_cast_fp16")];
39
+ tensor<int32, [3]> concat_0x = const()[name = tensor<string, []>("concat_0x"), val = tensor<int32, [3]>([1, 1, -1])];
40
+ tensor<fp16, [1, 1, ?]> input_3_cast_fp16 = reshape(shape = concat_0x, x = input_1_cast_fp16)[name = tensor<string, []>("input_3_cast_fp16")];
41
+ 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])];
42
+ tensor<string, []> input_5_mode_0 = const()[name = tensor<string, []>("input_5_mode_0"), val = tensor<string, []>("reflect")];
43
+ tensor<fp16, []> const_1_to_fp16 = const()[name = tensor<string, []>("const_1_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
44
+ tensor<fp16, [1, 1, ?]> input_5_cast_fp16 = pad(constant_val = const_1_to_fp16, mode = input_5_mode_0, pad = input_5_pad_0, x = input_3_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
45
+ tensor<int32, [2]> concat_1x = const()[name = tensor<string, []>("concat_1x"), val = tensor<int32, [2]>([1, -1])];
46
+ tensor<fp16, [1, ?]> input_cast_fp16 = reshape(shape = concat_1x, x = input_5_cast_fp16)[name = tensor<string, []>("input_cast_fp16")];
47
+ tensor<int32, [1]> expand_dims_3 = const()[name = tensor<string, []>("expand_dims_3"), val = tensor<int32, [1]>([160])];
48
+ tensor<int32, [1]> expand_dims_4_axes_0 = const()[name = tensor<string, []>("expand_dims_4_axes_0"), val = tensor<int32, [1]>([1])];
49
+ 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")];
50
+ tensor<string, []> conv_0_pad_type_0 = const()[name = tensor<string, []>("conv_0_pad_type_0"), val = tensor<string, []>("valid")];
51
+ tensor<int32, [2]> conv_0_pad_0 = const()[name = tensor<string, []>("conv_0_pad_0"), val = tensor<int32, [2]>([0, 0])];
52
+ tensor<int32, [1]> conv_0_dilations_0 = const()[name = tensor<string, []>("conv_0_dilations_0"), val = tensor<int32, [1]>([1])];
53
+ tensor<int32, []> conv_0_groups_0 = const()[name = tensor<string, []>("conv_0_groups_0"), val = tensor<int32, []>(1)];
54
+ tensor<fp16, [257, 1, 512]> expand_dims_1_to_fp16_quantized = constexpr_affine_dequantize()[axis = tensor<int32, []>(0), name = tensor<string, []>("expand_dims_1_to_fp16_quantized"), quantized_data = tensor<int8, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64))), scale = tensor<fp16, [257]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(132096))), zero_point = tensor<int8, [257]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(131712)))];
55
+ 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_quantized, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_0_cast_fp16")];
56
+ tensor<string, []> conv_1_pad_type_0 = const()[name = tensor<string, []>("conv_1_pad_type_0"), val = tensor<string, []>("valid")];
57
+ tensor<int32, [2]> conv_1_pad_0 = const()[name = tensor<string, []>("conv_1_pad_0"), val = tensor<int32, [2]>([0, 0])];
58
+ tensor<int32, [1]> conv_1_dilations_0 = const()[name = tensor<string, []>("conv_1_dilations_0"), val = tensor<int32, [1]>([1])];
59
+ tensor<int32, []> conv_1_groups_0 = const()[name = tensor<string, []>("conv_1_groups_0"), val = tensor<int32, []>(1)];
60
+ tensor<fp16, [257, 1, 512]> expand_dims_2_to_fp16_quantized = constexpr_affine_dequantize()[axis = tensor<int32, []>(0), name = tensor<string, []>("expand_dims_2_to_fp16_quantized"), quantized_data = tensor<int8, [257, 1, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(132736))), scale = tensor<fp16, [257]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(264768))), zero_point = tensor<int8, [257]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(264384)))];
61
+ 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_quantized, x = expand_dims_4_cast_fp16)[name = tensor<string, []>("conv_1_cast_fp16")];
62
+ tensor<int32, []> stack_0_axis_0 = const()[name = tensor<string, []>("stack_0_axis_0"), val = tensor<int32, []>(-1)];
63
+ 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")];
64
+ tensor<fp16, []> var_17_promoted_to_fp16 = const()[name = tensor<string, []>("op_17_promoted_to_fp16"), val = tensor<fp16, []>(0x1p+1)];
65
+ tensor<fp16, [1, 257, ?, 2]> var_67_cast_fp16 = pow(x = stack_0_cast_fp16, y = var_17_promoted_to_fp16)[name = tensor<string, []>("op_67_cast_fp16")];
66
+ tensor<int32, [1]> var_69_axes_0 = const()[name = tensor<string, []>("op_69_axes_0"), val = tensor<int32, [1]>([-1])];
67
+ tensor<bool, []> var_69_keep_dims_0 = const()[name = tensor<string, []>("op_69_keep_dims_0"), val = tensor<bool, []>(false)];
68
+ tensor<fp16, [1, 257, ?]> var_69_cast_fp16 = reduce_sum(axes = var_69_axes_0, keep_dims = var_69_keep_dims_0, x = var_67_cast_fp16)[name = tensor<string, []>("op_69_cast_fp16")];
69
+ tensor<bool, []> x_11_transpose_x_0 = const()[name = tensor<string, []>("x_11_transpose_x_0"), val = tensor<bool, []>(false)];
70
+ tensor<bool, []> x_11_transpose_y_0 = const()[name = tensor<string, []>("x_11_transpose_y_0"), val = tensor<bool, []>(false)];
71
+ tensor<fp16, [1, 128, 257]> const_2_to_fp16_quantized = constexpr_affine_dequantize()[axis = tensor<int32, []>(1), name = tensor<string, []>("const_2_to_fp16_quantized"), quantized_data = tensor<int8, [1, 128, 257]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(265408))), scale = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(298560))), zero_point = tensor<int8, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(298368)))];
72
+ tensor<fp16, [1, 128, ?]> x_11_cast_fp16 = matmul(transpose_x = x_11_transpose_x_0, transpose_y = x_11_transpose_y_0, x = const_2_to_fp16_quantized, y = var_69_cast_fp16)[name = tensor<string, []>("x_11_cast_fp16")];
73
+ tensor<fp16, []> var_76_to_fp16 = const()[name = tensor<string, []>("op_76_to_fp16"), val = tensor<fp16, []>(0x1p-24)];
74
+ tensor<fp16, [1, 128, ?]> var_77_cast_fp16 = add(x = x_11_cast_fp16, y = var_76_to_fp16)[name = tensor<string, []>("op_77_cast_fp16")];
75
+ tensor<fp32, []> x_13_epsilon_0 = const()[name = tensor<string, []>("x_13_epsilon_0"), val = tensor<fp32, []>(0x1p-149)];
76
+ tensor<fp16, [1, 128, ?]> x_13_cast_fp16 = log(epsilon = x_13_epsilon_0, x = var_77_cast_fp16)[name = tensor<string, []>("x_13_cast_fp16")];
77
+ tensor<int32, [3]> var_79_shape_cast_fp16 = shape(x = x_13_cast_fp16)[name = tensor<string, []>("op_79_shape_cast_fp16")];
78
+ tensor<int32, []> gather_4 = const()[name = tensor<string, []>("gather_4"), val = tensor<int32, []>(1)];
79
+ tensor<int32, []> gather_5_axis_0 = const()[name = tensor<string, []>("gather_5_axis_0"), val = tensor<int32, []>(0)];
80
+ tensor<int32, []> gather_5_batch_dims_0 = const()[name = tensor<string, []>("gather_5_batch_dims_0"), val = tensor<int32, []>(0)];
81
+ tensor<bool, []> gather_5_validate_indices_0 = const()[name = tensor<string, []>("gather_5_validate_indices_0"), val = tensor<bool, []>(false)];
82
+ tensor<string, []> var_79_shape_cast_fp16_to_uint16_dtype_0 = const()[name = tensor<string, []>("op_79_shape_cast_fp16_to_uint16_dtype_0"), val = tensor<string, []>("uint16")];
83
+ tensor<uint16, []> gather_5_indices_0_to_uint16 = const()[name = tensor<string, []>("gather_5_indices_0_to_uint16"), val = tensor<uint16, []>(2)];
84
+ tensor<uint16, [3]> var_79_shape_cast_fp16_to_uint16 = cast(dtype = var_79_shape_cast_fp16_to_uint16_dtype_0, x = var_79_shape_cast_fp16)[name = tensor<string, []>("cast_7")];
85
+ tensor<uint16, []> gather_5_cast_uint16 = gather(axis = gather_5_axis_0, batch_dims = gather_5_batch_dims_0, indices = gather_5_indices_0_to_uint16, validate_indices = gather_5_validate_indices_0, x = var_79_shape_cast_fp16_to_uint16)[name = tensor<string, []>("gather_5_cast_uint16")];
86
+ 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")];
87
+ tensor<int32, []> const_3 = const()[name = tensor<string, []>("const_3"), val = tensor<int32, []>(0)];
88
+ tensor<int32, []> const_4 = const()[name = tensor<string, []>("const_4"), val = tensor<int32, []>(1)];
89
+ 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_6")];
90
+ tensor<int32, [?]> var_81 = range_1d(end = gather_5_cast_uint16_to_int32, start = const_3, step = const_4)[name = tensor<string, []>("op_81")];
91
+ tensor<int32, [1]> var_82_axes_0 = const()[name = tensor<string, []>("op_82_axes_0"), val = tensor<int32, [1]>([0])];
92
+ tensor<int32, [1, ?]> var_82 = expand_dims(axes = var_82_axes_0, x = var_81)[name = tensor<string, []>("op_82")];
93
+ tensor<int32, []> concat_2_axis_0 = const()[name = tensor<string, []>("concat_2_axis_0"), val = tensor<int32, []>(0)];
94
+ tensor<bool, []> concat_2_interleave_0 = const()[name = tensor<string, []>("concat_2_interleave_0"), val = tensor<bool, []>(false)];
95
+ tensor<int32, [2]> concat_2 = concat(axis = concat_2_axis_0, interleave = concat_2_interleave_0, values = (gather_4, gather_5_cast_uint16_to_int32))[name = tensor<string, []>("concat_2")];
96
+ tensor<int32, [2]> shape_0 = shape(x = var_82)[name = tensor<string, []>("shape_0")];
97
+ tensor<int32, [2]> real_div_0 = real_div(x = concat_2, y = shape_0)[name = tensor<string, []>("real_div_0")];
98
+ tensor<int32, [?, ?]> time_steps = tile(reps = real_div_0, x = var_82)[name = tensor<string, []>("time_steps")];
99
+ tensor<int32, [1]> var_85_axes_0 = const()[name = tensor<string, []>("op_85_axes_0"), val = tensor<int32, [1]>([1])];
100
+ tensor<int32, [1]> mel_length = cast(dtype = seq_len_dtype_0, x = seq_len_1_cast_fp16)[name = tensor<string, []>("cast_5")];
101
+ tensor<int32, [1, 1]> var_85 = expand_dims(axes = var_85_axes_0, x = mel_length)[name = tensor<string, []>("op_85")];
102
+ tensor<bool, [?, ?]> valid_mask = less(x = time_steps, y = var_85)[name = tensor<string, []>("valid_mask")];
103
+ tensor<int32, [1]> var_87_axes_0 = const()[name = tensor<string, []>("op_87_axes_0"), val = tensor<int32, [1]>([1])];
104
+ tensor<bool, [?, 1, ?]> var_87 = expand_dims(axes = var_87_axes_0, x = valid_mask)[name = tensor<string, []>("op_87")];
105
+ tensor<fp16, []> var_24_to_fp16 = const()[name = tensor<string, []>("op_24_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
106
+ tensor<fp16, [1, 128, ?]> var_88_cast_fp16 = select(a = x_13_cast_fp16, b = var_24_to_fp16, cond = var_87)[name = tensor<string, []>("op_88_cast_fp16")];
107
+ tensor<int32, [1]> x_mean_numerator_axes_0 = const()[name = tensor<string, []>("x_mean_numerator_axes_0"), val = tensor<int32, [1]>([2])];
108
+ tensor<bool, []> x_mean_numerator_keep_dims_0 = const()[name = tensor<string, []>("x_mean_numerator_keep_dims_0"), val = tensor<bool, []>(false)];
109
+ tensor<fp16, [1, 128]> x_mean_numerator_cast_fp16 = reduce_sum(axes = x_mean_numerator_axes_0, keep_dims = x_mean_numerator_keep_dims_0, x = var_88_cast_fp16)[name = tensor<string, []>("x_mean_numerator_cast_fp16")];
110
+ tensor<int32, [1]> x_mean_denominator_axes_0 = const()[name = tensor<string, []>("x_mean_denominator_axes_0"), val = tensor<int32, [1]>([1])];
111
+ tensor<bool, []> x_mean_denominator_keep_dims_0 = const()[name = tensor<string, []>("x_mean_denominator_keep_dims_0"), val = tensor<bool, []>(false)];
112
+ tensor<string, []> cast_3_to_fp16_dtype_0 = const()[name = tensor<string, []>("cast_3_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
113
+ tensor<fp16, [?, ?]> valid_mask_to_fp16 = cast(dtype = cast_3_to_fp16_dtype_0, x = valid_mask)[name = tensor<string, []>("cast_4")];
114
+ tensor<fp16, [?]> x_mean_denominator_cast_fp16 = reduce_sum(axes = x_mean_denominator_axes_0, keep_dims = x_mean_denominator_keep_dims_0, x = valid_mask_to_fp16)[name = tensor<string, []>("x_mean_denominator_cast_fp16")];
115
+ tensor<int32, [1]> var_93_axes_0 = const()[name = tensor<string, []>("op_93_axes_0"), val = tensor<int32, [1]>([1])];
116
+ tensor<fp16, [?, 1]> var_93_cast_fp16 = expand_dims(axes = var_93_axes_0, x = x_mean_denominator_cast_fp16)[name = tensor<string, []>("op_93_cast_fp16")];
117
+ tensor<fp16, [?, 128]> x_mean_cast_fp16 = real_div(x = x_mean_numerator_cast_fp16, y = var_93_cast_fp16)[name = tensor<string, []>("x_mean_cast_fp16")];
118
+ tensor<int32, [1]> var_96_axes_0 = const()[name = tensor<string, []>("op_96_axes_0"), val = tensor<int32, [1]>([2])];
119
+ tensor<fp16, [?, 128, 1]> var_96_cast_fp16 = expand_dims(axes = var_96_axes_0, x = x_mean_cast_fp16)[name = tensor<string, []>("op_96_cast_fp16")];
120
+ tensor<fp16, [?, 128, ?]> var_97_cast_fp16 = sub(x = x_13_cast_fp16, y = var_96_cast_fp16)[name = tensor<string, []>("op_97_cast_fp16")];
121
+ tensor<fp16, [?, 128, ?]> var_98_cast_fp16 = select(a = var_97_cast_fp16, b = var_24_to_fp16, cond = var_87)[name = tensor<string, []>("op_98_cast_fp16")];
122
+ tensor<fp16, []> var_17_promoted_1_to_fp16 = const()[name = tensor<string, []>("op_17_promoted_1_to_fp16"), val = tensor<fp16, []>(0x1p+1)];
123
+ tensor<fp16, [?, 128, ?]> var_99_cast_fp16 = pow(x = var_98_cast_fp16, y = var_17_promoted_1_to_fp16)[name = tensor<string, []>("op_99_cast_fp16")];
124
+ tensor<int32, [1]> var_101_axes_0 = const()[name = tensor<string, []>("op_101_axes_0"), val = tensor<int32, [1]>([2])];
125
+ tensor<bool, []> var_101_keep_dims_0 = const()[name = tensor<string, []>("op_101_keep_dims_0"), val = tensor<bool, []>(false)];
126
+ tensor<fp16, [?, 128]> var_101_cast_fp16 = reduce_sum(axes = var_101_axes_0, keep_dims = var_101_keep_dims_0, x = var_99_cast_fp16)[name = tensor<string, []>("op_101_cast_fp16")];
127
+ tensor<fp16, []> var_103_to_fp16 = const()[name = tensor<string, []>("op_103_to_fp16"), val = tensor<fp16, []>(0x1p+0)];
128
+ tensor<fp16, [?, 1]> var_104_cast_fp16 = sub(x = var_93_cast_fp16, y = var_103_to_fp16)[name = tensor<string, []>("op_104_cast_fp16")];
129
+ tensor<fp16, [?, 128]> var_105_cast_fp16 = real_div(x = var_101_cast_fp16, y = var_104_cast_fp16)[name = tensor<string, []>("op_105_cast_fp16")];
130
+ tensor<fp16, [?, 128]> x_std_1_cast_fp16 = sqrt(x = var_105_cast_fp16)[name = tensor<string, []>("x_std_1_cast_fp16")];
131
+ tensor<fp16, []> var_25_to_fp16 = const()[name = tensor<string, []>("op_25_to_fp16"), val = tensor<fp16, []>(0x1.5p-17)];
132
+ tensor<fp16, [?, 128]> x_std_cast_fp16 = add(x = x_std_1_cast_fp16, y = var_25_to_fp16)[name = tensor<string, []>("x_std_cast_fp16")];
133
+ tensor<int32, [1]> var_110_axes_0 = const()[name = tensor<string, []>("op_110_axes_0"), val = tensor<int32, [1]>([2])];
134
+ tensor<fp16, [?, 128, 1]> var_110_cast_fp16 = expand_dims(axes = var_110_axes_0, x = x_std_cast_fp16)[name = tensor<string, []>("op_110_cast_fp16")];
135
+ tensor<fp16, [?, 128, ?]> x_cast_fp16 = real_div(x = var_97_cast_fp16, y = var_110_cast_fp16)[name = tensor<string, []>("x_cast_fp16")];
136
+ tensor<int32, [3]> var_112_shape_cast_fp16 = shape(x = x_cast_fp16)[name = tensor<string, []>("op_112_shape_cast_fp16")];
137
+ tensor<int32, []> gather_6_batch_dims_0 = const()[name = tensor<string, []>("gather_6_batch_dims_0"), val = tensor<int32, []>(0)];
138
+ tensor<bool, []> gather_6_validate_indices_0 = const()[name = tensor<string, []>("gather_6_validate_indices_0"), val = tensor<bool, []>(false)];
139
+ tensor<string, []> var_112_shape_cast_fp16_to_uint16_dtype_0 = const()[name = tensor<string, []>("op_112_shape_cast_fp16_to_uint16_dtype_0"), val = tensor<string, []>("uint16")];
140
+ tensor<int32, []> gather_6_cast_uint16_axis_0 = const()[name = tensor<string, []>("gather_6_cast_uint16_axis_0"), val = tensor<int32, []>(0)];
141
+ tensor<uint16, []> select_0_to_uint16 = const()[name = tensor<string, []>("select_0_to_uint16"), val = tensor<uint16, []>(2)];
142
+ tensor<uint16, [3]> var_112_shape_cast_fp16_to_uint16 = cast(dtype = var_112_shape_cast_fp16_to_uint16_dtype_0, x = var_112_shape_cast_fp16)[name = tensor<string, []>("cast_3")];
143
+ tensor<uint16, []> gather_6_cast_uint16_cast_uint16 = gather(axis = gather_6_cast_uint16_axis_0, batch_dims = gather_6_batch_dims_0, indices = select_0_to_uint16, validate_indices = gather_6_validate_indices_0, x = var_112_shape_cast_fp16_to_uint16)[name = tensor<string, []>("gather_6_cast_uint16_cast_uint16")];
144
+ tensor<string, []> gather_6_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_6_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
145
+ tensor<int32, []> const_5 = const()[name = tensor<string, []>("const_5"), val = tensor<int32, []>(0)];
146
+ tensor<int32, []> const_6 = const()[name = tensor<string, []>("const_6"), val = tensor<int32, []>(1)];
147
+ tensor<int32, []> gather_6_cast_uint16_to_int32 = cast(dtype = gather_6_cast_uint16_to_int32_dtype_0, x = gather_6_cast_uint16_cast_uint16)[name = tensor<string, []>("cast_2")];
148
+ tensor<int32, [?]> mask_1 = range_1d(end = gather_6_cast_uint16_to_int32, start = const_5, step = const_6)[name = tensor<string, []>("mask_1")];
149
+ tensor<int32, []> gather_7_axis_0 = const()[name = tensor<string, []>("gather_7_axis_0"), val = tensor<int32, []>(0)];
150
+ tensor<int32, []> gather_7_batch_dims_0 = const()[name = tensor<string, []>("gather_7_batch_dims_0"), val = tensor<int32, []>(0)];
151
+ tensor<bool, []> gather_7_validate_indices_0 = const()[name = tensor<string, []>("gather_7_validate_indices_0"), val = tensor<bool, []>(false)];
152
+ tensor<uint16, []> gather_7_indices_0_to_uint16 = const()[name = tensor<string, []>("gather_7_indices_0_to_uint16"), val = tensor<uint16, []>(0)];
153
+ tensor<uint16, []> gather_7_cast_uint16 = gather(axis = gather_7_axis_0, batch_dims = gather_7_batch_dims_0, indices = gather_7_indices_0_to_uint16, validate_indices = gather_7_validate_indices_0, x = var_112_shape_cast_fp16_to_uint16)[name = tensor<string, []>("gather_7_cast_uint16")];
154
+ tensor<string, []> gather_7_cast_uint16_to_int32_dtype_0 = const()[name = tensor<string, []>("gather_7_cast_uint16_to_int32_dtype_0"), val = tensor<string, []>("int32")];
155
+ tensor<int32, []> concat_3_axis_0 = const()[name = tensor<string, []>("concat_3_axis_0"), val = tensor<int32, []>(0)];
156
+ tensor<bool, []> concat_3_interleave_0 = const()[name = tensor<string, []>("concat_3_interleave_0"), val = tensor<bool, []>(false)];
157
+ tensor<int32, []> gather_7_cast_uint16_to_int32 = cast(dtype = gather_7_cast_uint16_to_int32_dtype_0, x = gather_7_cast_uint16)[name = tensor<string, []>("cast_1")];
158
+ tensor<int32, [2]> concat_3 = concat(axis = concat_3_axis_0, interleave = concat_3_interleave_0, values = (gather_7_cast_uint16_to_int32, var_9))[name = tensor<string, []>("concat_3")];
159
+ tensor<int32, [1]> expand_dims_0_axes_0 = const()[name = tensor<string, []>("expand_dims_0_axes_0"), val = tensor<int32, [1]>([0])];
160
+ tensor<int32, [1, ?]> expand_dims_0 = expand_dims(axes = expand_dims_0_axes_0, x = mask_1)[name = tensor<string, []>("expand_dims_0")];
161
+ tensor<int32, [?, ?]> var_116 = tile(reps = concat_3, x = expand_dims_0)[name = tensor<string, []>("op_116")];
162
+ tensor<bool, [?, ?]> mask = greater_equal(x = var_116, y = var_85)[name = tensor<string, []>("mask")];
163
+ tensor<int32, [1]> var_119_axes_0 = const()[name = tensor<string, []>("op_119_axes_0"), val = tensor<int32, [1]>([1])];
164
+ tensor<bool, [?, 1, ?]> var_119 = expand_dims(axes = var_119_axes_0, x = mask)[name = tensor<string, []>("op_119")];
165
+ tensor<fp16, [?, 128, ?]> processed_signal_cast_fp16 = select(a = var_24_to_fp16, b = x_cast_fp16, cond = var_119)[name = tensor<string, []>("processed_signal_cast_fp16")];
166
+ 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")];
167
+ tensor<fp32, [?, 128, ?]> mel = cast(dtype = processed_signal_cast_fp16_to_fp32_dtype_0, x = processed_signal_cast_fp16)[name = tensor<string, []>("cast_0")];
168
+ } -> (mel, mel_length);
169
+ }
Preprocessor.mlmodelc/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a5f7df6c7f47147ae9486fe18cc7792f9a44d093ec3c6a11e91ef2dc363c48dc
3
+ size 298880