bweng commited on
Commit
a26ed29
·
verified ·
1 Parent(s): 836572e

With normalization and batching

Browse files
Embedding.mlmodelc/analytics/coremldata.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:3a887d7ac3ba52d42b7281b8739d01cfbc9d21862e1544d6892e49c039cd6f1d
3
  size 243
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1f5edc9b97ea81d5d526c4190bb546a83b6d3cb3c861a2caf8f296d6d7cc96c1
3
  size 243
Embedding.mlmodelc/coremldata.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:9a95bbb1ada5d3da7c7d72e10103f579cbafa4e21d1777979bc1442858226caf
3
- size 557
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3eedfaf32d775ddf6f06ae784b21177d7683ab647509b7ce4857548cbd112a73
3
+ size 603
Embedding.mlmodelc/metadata.json CHANGED
@@ -1,6 +1,6 @@
1
  [
2
  {
3
- "shortDescription" : "pyannote community-1 speaker embedding (5 s WeSpeaker ResNet34 with weighted pooling)",
4
  "metadataOutputVersion" : "3.0",
5
  "outputSchema" : [
6
  {
@@ -23,11 +23,13 @@
23
  "storagePrecision" : "Float32",
24
  "license" : "CC-BY-4.0",
25
  "mlProgramOperationTypeHistogram" : {
 
26
  "Ios17.reshape" : 1,
27
  "Ios16.reduceMean" : 2,
28
  "Ios17.transpose" : 2,
29
  "Ios17.expandDims" : 8,
30
- "Ios17.add" : 19,
 
31
  "Ios17.sliceByIndex" : 1,
32
  "Ios16.reduceSum" : 4,
33
  "Ios17.squeeze" : 4,
@@ -36,13 +38,13 @@
36
  "Ios17.sqrt" : 1,
37
  "Ios17.sub" : 5,
38
  "Ios17.conv" : 37,
39
- "Ios17.clip" : 2,
40
  "Ios16.relu" : 33,
41
  "Ios17.linear" : 4,
42
- "Ios17.concat" : 1,
43
  "Ios17.pow" : 2,
44
- "Ios17.realDiv" : 3,
45
- "Ios17.mul" : 7
 
46
  },
47
  "computePrecision" : "Mixed (Float32, Int32)",
48
  "stateSchema" : [
@@ -65,9 +67,9 @@
65
  "hasShapeFlexibility" : "0",
66
  "isOptional" : "0",
67
  "dataType" : "Float32",
68
- "formattedType" : "MultiArray (Float32 1 × 1 × 80000)",
69
  "shortDescription" : "",
70
- "shape" : "[1, 1, 80000]",
71
  "name" : "audio",
72
  "type" : "MultiArray"
73
  },
@@ -75,15 +77,15 @@
75
  "hasShapeFlexibility" : "0",
76
  "isOptional" : "0",
77
  "dataType" : "Float32",
78
- "formattedType" : "MultiArray (Float32 1 × 63)",
79
  "shortDescription" : "",
80
- "shape" : "[1, 63]",
81
  "name" : "weights",
82
  "type" : "MultiArray"
83
  }
84
  ],
85
  "userDefinedMetadata" : {
86
- "com.github.apple.coremltools.conversion_date" : "2025-10-01",
87
  "com.github.apple.coremltools.source" : "torch==2.8.0",
88
  "com.github.apple.coremltools.version" : "9.0b1",
89
  "com.github.apple.coremltools.source_dialect" : "TorchScript"
 
1
  [
2
  {
3
+ "shortDescription" : "pyannote community-1 speaker embedding (10 s WeSpeaker ResNet34, interpolates 589-frame weights to pooling layer size internally)",
4
  "metadataOutputVersion" : "3.0",
5
  "outputSchema" : [
6
  {
 
23
  "storagePrecision" : "Float32",
24
  "license" : "CC-BY-4.0",
25
  "mlProgramOperationTypeHistogram" : {
26
+ "Ios16.reduceL2Norm" : 1,
27
  "Ios17.reshape" : 1,
28
  "Ios16.reduceMean" : 2,
29
  "Ios17.transpose" : 2,
30
  "Ios17.expandDims" : 8,
31
+ "Ios17.add" : 20,
32
+ "Ios17.gatherAlongAxis" : 2,
33
  "Ios17.sliceByIndex" : 1,
34
  "Ios16.reduceSum" : 4,
35
  "Ios17.squeeze" : 4,
 
38
  "Ios17.sqrt" : 1,
39
  "Ios17.sub" : 5,
40
  "Ios17.conv" : 37,
41
+ "Ios17.clip" : 3,
42
  "Ios16.relu" : 33,
43
  "Ios17.linear" : 4,
 
44
  "Ios17.pow" : 2,
45
+ "Ios17.realDiv" : 4,
46
+ "Ios17.concat" : 1,
47
+ "Ios17.mul" : 9
48
  },
49
  "computePrecision" : "Mixed (Float32, Int32)",
50
  "stateSchema" : [
 
67
  "hasShapeFlexibility" : "0",
68
  "isOptional" : "0",
69
  "dataType" : "Float32",
70
+ "formattedType" : "MultiArray (Float32 1 × 1 × 160000)",
71
  "shortDescription" : "",
72
+ "shape" : "[1, 1, 160000]",
73
  "name" : "audio",
74
  "type" : "MultiArray"
75
  },
 
77
  "hasShapeFlexibility" : "0",
78
  "isOptional" : "0",
79
  "dataType" : "Float32",
80
+ "formattedType" : "MultiArray (Float32 1 × 589)",
81
  "shortDescription" : "",
82
+ "shape" : "[1, 589]",
83
  "name" : "weights",
84
  "type" : "MultiArray"
85
  }
86
  ],
87
  "userDefinedMetadata" : {
88
+ "com.github.apple.coremltools.conversion_date" : "2025-10-03",
89
  "com.github.apple.coremltools.source" : "torch==2.8.0",
90
  "com.github.apple.coremltools.version" : "9.0b1",
91
  "com.github.apple.coremltools.source_dialect" : "TorchScript"
Embedding.mlmodelc/model.mil CHANGED
The diff for this file is too large to render. See raw diff
 
Embedding.mlmodelc/weights/weight.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:5ca0210483a70a9a8e05dbddea0a49394c1df2ca705a01eb0f3df15774e4b7b9
3
- size 28303488
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9a771617a3a551b18874c78ae5f92f6f660a14e84e55c0121e6402725f88d6e2
3
+ size 28304640
PldaRho.mlmodelc/analytics/coremldata.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:0be6ce8767cc572779215d3a442a93b029c39ff34ecee9beb176999555547da2
3
  size 243
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e16fefb0b66565e7883ada5be64887942904d173684d8912ac3f610d9487faa7
3
  size 243
PldaRho.mlmodelc/coremldata.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:a2a06352a5114b37e1e9f5b472a6551b169a263c16d4b7aca43281b3eadbfe1a
3
- size 525
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7dadf982dbddb8c2ae6a787edd156973e260bd0f42248fb68635638371024ba0
3
+ size 535
PldaRho.mlmodelc/metadata.json CHANGED
@@ -1,15 +1,15 @@
1
  [
2
  {
3
- "shortDescription" : "pyannote community-1 PLDA rho (features scaled by sqrt(phi) for VBx clustering)",
4
  "metadataOutputVersion" : "3.0",
5
  "outputSchema" : [
6
  {
7
  "hasShapeFlexibility" : "0",
8
  "isOptional" : "0",
9
  "dataType" : "Float32",
10
- "formattedType" : "MultiArray (Float32 1 × 128)",
11
  "shortDescription" : "",
12
- "shape" : "[1, 128]",
13
  "name" : "rho",
14
  "type" : "MultiArray"
15
  }
@@ -52,15 +52,15 @@
52
  "hasShapeFlexibility" : "0",
53
  "isOptional" : "0",
54
  "dataType" : "Float32",
55
- "formattedType" : "MultiArray (Float32 1 × 256)",
56
  "shortDescription" : "",
57
- "shape" : "[1, 256]",
58
  "name" : "embeddings",
59
  "type" : "MultiArray"
60
  }
61
  ],
62
  "userDefinedMetadata" : {
63
- "com.github.apple.coremltools.conversion_date" : "2025-10-02",
64
  "com.github.apple.coremltools.source" : "torch==2.8.0",
65
  "com.github.apple.coremltools.version" : "9.0b1",
66
  "com.github.apple.coremltools.source_dialect" : "TorchScript"
 
1
  [
2
  {
3
+ "shortDescription" : "pyannote community-1 PLDA rho (features scaled by sqrt(phi) for VBx clustering, batch=32)",
4
  "metadataOutputVersion" : "3.0",
5
  "outputSchema" : [
6
  {
7
  "hasShapeFlexibility" : "0",
8
  "isOptional" : "0",
9
  "dataType" : "Float32",
10
+ "formattedType" : "MultiArray (Float32 32 × 128)",
11
  "shortDescription" : "",
12
+ "shape" : "[32, 128]",
13
  "name" : "rho",
14
  "type" : "MultiArray"
15
  }
 
52
  "hasShapeFlexibility" : "0",
53
  "isOptional" : "0",
54
  "dataType" : "Float32",
55
+ "formattedType" : "MultiArray (Float32 32 × 256)",
56
  "shortDescription" : "",
57
+ "shape" : "[32, 256]",
58
  "name" : "embeddings",
59
  "type" : "MultiArray"
60
  }
61
  ],
62
  "userDefinedMetadata" : {
63
+ "com.github.apple.coremltools.conversion_date" : "2025-10-03",
64
  "com.github.apple.coremltools.source" : "torch==2.8.0",
65
  "com.github.apple.coremltools.version" : "9.0b1",
66
  "com.github.apple.coremltools.source_dialect" : "TorchScript"
PldaRho.mlmodelc/model.mil CHANGED
@@ -1,7 +1,7 @@
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.8.0"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "9.0b1"}})]
3
  {
4
- func main<ios17>(tensor<fp32, [1, 256]> embeddings) {
5
  tensor<fp32, [128]> sqrt_phi = const()[name = tensor<string, []>("sqrt_phi"), val = tensor<fp32, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
6
  tensor<fp32, [128, 128]> transform_plda_tr = const()[name = tensor<string, []>("transform_plda_tr"), val = tensor<fp32, [128, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(640)))];
7
  tensor<fp32, [128]> transform_mu = const()[name = tensor<string, []>("transform_mu"), val = tensor<fp32, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(66240)))];
@@ -10,31 +10,31 @@ program(1.0)
10
  tensor<fp32, []> transform_lda_scale = const()[name = tensor<string, []>("transform_lda_scale"), val = tensor<fp32, []>(0x1p+4)];
11
  tensor<fp32, [256]> transform_mean1 = const()[name = tensor<string, []>("transform_mean1"), val = tensor<fp32, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(67392)))];
12
  tensor<fp32, []> var_4 = const()[name = tensor<string, []>("op_4"), val = tensor<fp32, []>(0x1.197998p-40)];
13
- tensor<fp32, [1, 256]> x_1 = sub(x = embeddings, y = transform_mean1)[name = tensor<string, []>("x_1")];
14
- tensor<fp32, [1, 256]> var_17 = mul(x = x_1, y = x_1)[name = tensor<string, []>("op_17")];
15
  tensor<int32, [1]> var_19_axes_0 = const()[name = tensor<string, []>("op_19_axes_0"), val = tensor<int32, [1]>([-1])];
16
  tensor<bool, []> var_19_keep_dims_0 = const()[name = tensor<string, []>("op_19_keep_dims_0"), val = tensor<bool, []>(true)];
17
- tensor<fp32, [1, 1]> var_19 = reduce_sum(axes = var_19_axes_0, keep_dims = var_19_keep_dims_0, x = var_17)[name = tensor<string, []>("op_19")];
18
  tensor<fp32, []> const_0 = const()[name = tensor<string, []>("const_0"), val = tensor<fp32, []>(0x1.fffffep+127)];
19
- tensor<fp32, [1, 1]> clip_0 = clip(alpha = var_4, beta = const_0, x = var_19)[name = tensor<string, []>("clip_0")];
20
- tensor<fp32, [1, 1]> norm_1 = sqrt(x = clip_0)[name = tensor<string, []>("norm_1")];
21
- tensor<fp32, [1, 256]> normalized1 = real_div(x = x_1, y = norm_1)[name = tensor<string, []>("normalized1")];
22
  tensor<fp32, [128, 256]> transpose_0 = const()[name = tensor<string, []>("transpose_0"), val = tensor<fp32, [128, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(68480)))];
23
  tensor<fp32, [128]> var_23_bias_0 = const()[name = tensor<string, []>("op_23_bias_0"), val = tensor<fp32, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(199616)))];
24
- tensor<fp32, [1, 128]> var_23 = linear(bias = var_23_bias_0, weight = transpose_0, x = normalized1)[name = tensor<string, []>("op_23")];
25
- tensor<fp32, [1, 128]> projected = mul(x = var_23, y = transform_lda_scale)[name = tensor<string, []>("projected")];
26
- tensor<fp32, [1, 128]> x = sub(x = projected, y = transform_mean2)[name = tensor<string, []>("x")];
27
- tensor<fp32, [1, 128]> var_26 = mul(x = x, y = x)[name = tensor<string, []>("op_26")];
28
  tensor<int32, [1]> var_28_axes_0 = const()[name = tensor<string, []>("op_28_axes_0"), val = tensor<int32, [1]>([-1])];
29
  tensor<bool, []> var_28_keep_dims_0 = const()[name = tensor<string, []>("op_28_keep_dims_0"), val = tensor<bool, []>(true)];
30
- tensor<fp32, [1, 1]> var_28 = reduce_sum(axes = var_28_axes_0, keep_dims = var_28_keep_dims_0, x = var_26)[name = tensor<string, []>("op_28")];
31
  tensor<fp32, []> const_1 = const()[name = tensor<string, []>("const_1"), val = tensor<fp32, []>(0x1.fffffep+127)];
32
- tensor<fp32, [1, 1]> clip_1 = clip(alpha = var_4, beta = const_1, x = var_28)[name = tensor<string, []>("clip_1")];
33
- tensor<fp32, [1, 1]> norm = sqrt(x = clip_1)[name = tensor<string, []>("norm")];
34
- tensor<fp32, [1, 128]> var_31 = real_div(x = x, y = norm)[name = tensor<string, []>("op_31")];
35
- tensor<fp32, [1, 128]> normalized2 = mul(x = var_31, y = transform_lda_dim_scale)[name = tensor<string, []>("normalized2")];
36
- tensor<fp32, [1, 128]> plda_centered = sub(x = normalized2, y = transform_mu)[name = tensor<string, []>("plda_centered")];
37
- tensor<fp32, [1, 128]> features = linear(bias = var_23_bias_0, weight = transform_plda_tr, x = plda_centered)[name = tensor<string, []>("features")];
38
- tensor<fp32, [1, 128]> rho = mul(x = features, y = sqrt_phi)[name = tensor<string, []>("op_36")];
39
  } -> (rho);
40
  }
 
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.8.0"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "9.0b1"}})]
3
  {
4
+ func main<ios17>(tensor<fp32, [32, 256]> embeddings) {
5
  tensor<fp32, [128]> sqrt_phi = const()[name = tensor<string, []>("sqrt_phi"), val = tensor<fp32, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
6
  tensor<fp32, [128, 128]> transform_plda_tr = const()[name = tensor<string, []>("transform_plda_tr"), val = tensor<fp32, [128, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(640)))];
7
  tensor<fp32, [128]> transform_mu = const()[name = tensor<string, []>("transform_mu"), val = tensor<fp32, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(66240)))];
 
10
  tensor<fp32, []> transform_lda_scale = const()[name = tensor<string, []>("transform_lda_scale"), val = tensor<fp32, []>(0x1p+4)];
11
  tensor<fp32, [256]> transform_mean1 = const()[name = tensor<string, []>("transform_mean1"), val = tensor<fp32, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(67392)))];
12
  tensor<fp32, []> var_4 = const()[name = tensor<string, []>("op_4"), val = tensor<fp32, []>(0x1.197998p-40)];
13
+ tensor<fp32, [32, 256]> x_1 = sub(x = embeddings, y = transform_mean1)[name = tensor<string, []>("x_1")];
14
+ tensor<fp32, [32, 256]> var_17 = mul(x = x_1, y = x_1)[name = tensor<string, []>("op_17")];
15
  tensor<int32, [1]> var_19_axes_0 = const()[name = tensor<string, []>("op_19_axes_0"), val = tensor<int32, [1]>([-1])];
16
  tensor<bool, []> var_19_keep_dims_0 = const()[name = tensor<string, []>("op_19_keep_dims_0"), val = tensor<bool, []>(true)];
17
+ tensor<fp32, [32, 1]> var_19 = reduce_sum(axes = var_19_axes_0, keep_dims = var_19_keep_dims_0, x = var_17)[name = tensor<string, []>("op_19")];
18
  tensor<fp32, []> const_0 = const()[name = tensor<string, []>("const_0"), val = tensor<fp32, []>(0x1.fffffep+127)];
19
+ tensor<fp32, [32, 1]> clip_0 = clip(alpha = var_4, beta = const_0, x = var_19)[name = tensor<string, []>("clip_0")];
20
+ tensor<fp32, [32, 1]> norm_1 = sqrt(x = clip_0)[name = tensor<string, []>("norm_1")];
21
+ tensor<fp32, [32, 256]> normalized1 = real_div(x = x_1, y = norm_1)[name = tensor<string, []>("normalized1")];
22
  tensor<fp32, [128, 256]> transpose_0 = const()[name = tensor<string, []>("transpose_0"), val = tensor<fp32, [128, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(68480)))];
23
  tensor<fp32, [128]> var_23_bias_0 = const()[name = tensor<string, []>("op_23_bias_0"), val = tensor<fp32, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(199616)))];
24
+ tensor<fp32, [32, 128]> var_23 = linear(bias = var_23_bias_0, weight = transpose_0, x = normalized1)[name = tensor<string, []>("op_23")];
25
+ tensor<fp32, [32, 128]> projected = mul(x = var_23, y = transform_lda_scale)[name = tensor<string, []>("projected")];
26
+ tensor<fp32, [32, 128]> x = sub(x = projected, y = transform_mean2)[name = tensor<string, []>("x")];
27
+ tensor<fp32, [32, 128]> var_26 = mul(x = x, y = x)[name = tensor<string, []>("op_26")];
28
  tensor<int32, [1]> var_28_axes_0 = const()[name = tensor<string, []>("op_28_axes_0"), val = tensor<int32, [1]>([-1])];
29
  tensor<bool, []> var_28_keep_dims_0 = const()[name = tensor<string, []>("op_28_keep_dims_0"), val = tensor<bool, []>(true)];
30
+ tensor<fp32, [32, 1]> var_28 = reduce_sum(axes = var_28_axes_0, keep_dims = var_28_keep_dims_0, x = var_26)[name = tensor<string, []>("op_28")];
31
  tensor<fp32, []> const_1 = const()[name = tensor<string, []>("const_1"), val = tensor<fp32, []>(0x1.fffffep+127)];
32
+ tensor<fp32, [32, 1]> clip_1 = clip(alpha = var_4, beta = const_1, x = var_28)[name = tensor<string, []>("clip_1")];
33
+ tensor<fp32, [32, 1]> norm = sqrt(x = clip_1)[name = tensor<string, []>("norm")];
34
+ tensor<fp32, [32, 128]> var_31 = real_div(x = x, y = norm)[name = tensor<string, []>("op_31")];
35
+ tensor<fp32, [32, 128]> normalized2 = mul(x = var_31, y = transform_lda_dim_scale)[name = tensor<string, []>("normalized2")];
36
+ tensor<fp32, [32, 128]> plda_centered = sub(x = normalized2, y = transform_mu)[name = tensor<string, []>("plda_centered")];
37
+ tensor<fp32, [32, 128]> features = linear(bias = var_23_bias_0, weight = transform_plda_tr, x = plda_centered)[name = tensor<string, []>("features")];
38
+ tensor<fp32, [32, 128]> rho = mul(x = features, y = sqrt_phi)[name = tensor<string, []>("op_36")];
39
  } -> (rho);
40
  }
Segmentation.mlmodelc/analytics/coremldata.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:5577f213018ef32868bba35561cb6cca3f001936dd6286ce62ae1e8d50635b28
3
  size 243
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:916b9f96e72ca7db5acfd23e23758a2e3723926ae1bd0c19fe00fbd804ef2057
3
  size 243
Segmentation.mlmodelc/coremldata.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:5b174c84069af006e896a586e50ff76c5a37eda9cc3840a3e1c2350407abcbd2
3
- size 511
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3d92bee5c56657c2c93cd0ac21906fbafd2a3089955ce27d13aa5b43bebff512
3
+ size 812
Segmentation.mlmodelc/metadata.json CHANGED
@@ -1,15 +1,15 @@
1
  [
2
  {
3
- "shortDescription" : "pyannote community-1 segmentation (10 s powerset diarization)",
4
  "metadataOutputVersion" : "3.0",
5
  "outputSchema" : [
6
  {
7
  "hasShapeFlexibility" : "0",
8
  "isOptional" : "0",
9
  "dataType" : "Float32",
10
- "formattedType" : "MultiArray (Float32 1 × 589 × 7)",
11
  "shortDescription" : "",
12
- "shape" : "[1, 589, 7]",
13
  "name" : "log_probs",
14
  "type" : "MultiArray"
15
  }
@@ -23,16 +23,22 @@
23
  "storagePrecision" : "Float32",
24
  "license" : "CC-BY-4.0",
25
  "mlProgramOperationTypeHistogram" : {
26
- "Ios17.instanceNorm" : 4,
27
- "Ios17.abs" : 1,
 
 
 
28
  "Ios17.leakyRelu" : 5,
 
 
 
 
 
29
  "Ios17.lstm" : 4,
30
- "Ios17.conv" : 3,
31
- "Ios17.transpose" : 2,
32
- "Ios17.linear" : 3,
33
  "Ios16.softmax" : 1,
34
- "Ios16.maxPool" : 3,
35
- "Ios17.log" : 1
 
36
  },
37
  "computePrecision" : "Mixed (Float32, Int32)",
38
  "stateSchema" : [
@@ -52,18 +58,20 @@
52
  },
53
  "inputSchema" : [
54
  {
55
- "hasShapeFlexibility" : "0",
56
- "isOptional" : "0",
57
- "dataType" : "Float32",
58
- "formattedType" : "MultiArray (Float32 1 × 1 × 160000)",
59
  "shortDescription" : "",
60
- "shape" : "[1, 1, 160000]",
 
 
 
 
 
 
61
  "name" : "audio",
62
- "type" : "MultiArray"
63
  }
64
  ],
65
  "userDefinedMetadata" : {
66
- "com.github.apple.coremltools.conversion_date" : "2025-10-01",
67
  "com.github.apple.coremltools.source" : "torch==2.8.0",
68
  "com.github.apple.coremltools.version" : "9.0b1",
69
  "com.github.apple.coremltools.source_dialect" : "TorchScript"
 
1
  [
2
  {
3
+ "shortDescription" : "pyannote community-1 segmentation (10 s powerset diarization, batch 1-32)",
4
  "metadataOutputVersion" : "3.0",
5
  "outputSchema" : [
6
  {
7
  "hasShapeFlexibility" : "0",
8
  "isOptional" : "0",
9
  "dataType" : "Float32",
10
+ "formattedType" : "MultiArray (Float32)",
11
  "shortDescription" : "",
12
+ "shape" : "[]",
13
  "name" : "log_probs",
14
  "type" : "MultiArray"
15
  }
 
23
  "storagePrecision" : "Float32",
24
  "license" : "CC-BY-4.0",
25
  "mlProgramOperationTypeHistogram" : {
26
+ "Ios17.linear" : 3,
27
+ "Ios17.transpose" : 3,
28
+ "Ios17.conv" : 3,
29
+ "Ios17.log" : 1,
30
+ "Shape" : 1,
31
  "Ios17.leakyRelu" : 5,
32
+ "Ios17.gather" : 1,
33
+ "Ios17.concat" : 9,
34
+ "Fill" : 1,
35
+ "Ios17.abs" : 1,
36
+ "Ios16.maxPool" : 3,
37
  "Ios17.lstm" : 4,
 
 
 
38
  "Ios16.softmax" : 1,
39
+ "Ios17.instanceNorm" : 4,
40
+ "Split" : 10,
41
+ "Ios17.squeeze" : 8
42
  },
43
  "computePrecision" : "Mixed (Float32, Int32)",
44
  "stateSchema" : [
 
58
  },
59
  "inputSchema" : [
60
  {
 
 
 
 
61
  "shortDescription" : "",
62
+ "dataType" : "Float32",
63
+ "hasShapeFlexibility" : "1",
64
+ "isOptional" : "0",
65
+ "shapeFlexibility" : "32 × 1 × 160000 | 1 × 1 × 160000 | 2 × 1 × 160000 | 3 × 1 × 160000 | 4 × 1 × 160000 | 5 × 1 × 160000 | 6 × 1 × 160000 | 7 × 1 × 160000 | 8 × 1 × 160000 | 9 × 1 × 160000 | 10 × 1 × 160000 | 11 × 1 × 160000 | 12 × 1 × 160000 | 13 × 1 × 160000 | 14 × 1 × 160000 | 15 × 1 × 160000 | 16 × 1 × 160000 | 17 × 1 × 160000 | 18 × 1 × 160000 | 19 × 1 × 160000 | 20 × 1 × 160000 | 21 × 1 × 160000 | 22 × 1 × 160000 | 23 × 1 × 160000 | 24 × 1 × 160000 | 25 × 1 × 160000 | 26 × 1 × 160000 | 27 × 1 × 160000 | 28 × 1 × 160000 | 29 × 1 × 160000 | 30 × 1 × 160000 | 31 × 1 × 160000",
66
+ "formattedType" : "MultiArray (Float32 32 × 1 × 160000)",
67
+ "type" : "MultiArray",
68
+ "shape" : "[32, 1, 160000]",
69
  "name" : "audio",
70
+ "enumeratedShapes" : "[[32, 1, 160000], [1, 1, 160000], [2, 1, 160000], [3, 1, 160000], [4, 1, 160000], [5, 1, 160000], [6, 1, 160000], [7, 1, 160000], [8, 1, 160000], [9, 1, 160000], [10, 1, 160000], [11, 1, 160000], [12, 1, 160000], [13, 1, 160000], [14, 1, 160000], [15, 1, 160000], [16, 1, 160000], [17, 1, 160000], [18, 1, 160000], [19, 1, 160000], [20, 1, 160000], [21, 1, 160000], [22, 1, 160000], [23, 1, 160000], [24, 1, 160000], [25, 1, 160000], [26, 1, 160000], [27, 1, 160000], [28, 1, 160000], [29, 1, 160000], [30, 1, 160000], [31, 1, 160000]]"
71
  }
72
  ],
73
  "userDefinedMetadata" : {
74
+ "com.github.apple.coremltools.conversion_date" : "2025-10-03",
75
  "com.github.apple.coremltools.source" : "torch==2.8.0",
76
  "com.github.apple.coremltools.version" : "9.0b1",
77
  "com.github.apple.coremltools.source_dialect" : "TorchScript"
Segmentation.mlmodelc/model.mil CHANGED
@@ -1,7 +1,7 @@
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.8.0"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "9.0b1"}})]
3
  {
4
- func main<ios17>(tensor<fp32, [1, 1, 160000]> audio) {
5
  tensor<fp32, [1]> sincnet_wav_norm1d_bias = const()[name = tensor<string, []>("sincnet_wav_norm1d_bias"), val = tensor<fp32, [1]>([0x1.73505ep-5])];
6
  tensor<fp32, [1]> sincnet_wav_norm1d_weight = const()[name = tensor<string, []>("sincnet_wav_norm1d_weight"), val = tensor<fp32, [1]>([0x1.43f862p-7])];
7
  tensor<fp32, [80]> sincnet_norm1d_0_bias = const()[name = tensor<string, []>("sincnet_norm1d_0_bias"), val = tensor<fp32, [80]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
@@ -22,114 +22,198 @@ program(1.0)
22
  tensor<fp32, [7, 128]> classifier_weight = const()[name = tensor<string, []>("classifier_weight"), val = tensor<fp32, [7, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(368768)))];
23
  tensor<fp32, []> var_9 = const()[name = tensor<string, []>("op_9"), val = tensor<fp32, []>(0x1.47ae14p-7)];
24
  tensor<fp32, []> var_24 = const()[name = tensor<string, []>("op_24"), val = tensor<fp32, []>(0x1.4f8b58p-17)];
25
- tensor<fp32, [1, 1, 160000]> waveform = instance_norm(beta = sincnet_wav_norm1d_bias, epsilon = var_24, gamma = sincnet_wav_norm1d_weight, x = audio)[name = tensor<string, []>("waveform")];
26
  tensor<fp32, [80, 1, 251]> filters = const()[name = tensor<string, []>("filters"), val = tensor<fp32, [80, 1, 251]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(372416)))];
27
  tensor<string, []> outputs_pad_type_0 = const()[name = tensor<string, []>("outputs_pad_type_0"), val = tensor<string, []>("valid")];
28
  tensor<int32, [1]> outputs_strides_0 = const()[name = tensor<string, []>("outputs_strides_0"), val = tensor<int32, [1]>([10])];
29
  tensor<int32, [2]> outputs_pad_0 = const()[name = tensor<string, []>("outputs_pad_0"), val = tensor<int32, [2]>([0, 0])];
30
  tensor<int32, [1]> outputs_dilations_0 = const()[name = tensor<string, []>("outputs_dilations_0"), val = tensor<int32, [1]>([1])];
31
  tensor<int32, []> outputs_groups_0 = const()[name = tensor<string, []>("outputs_groups_0"), val = tensor<int32, []>(1)];
32
- tensor<fp32, [1, 80, 15975]> outputs = conv(dilations = outputs_dilations_0, groups = outputs_groups_0, pad = outputs_pad_0, pad_type = outputs_pad_type_0, strides = outputs_strides_0, weight = filters, x = waveform)[name = tensor<string, []>("outputs")];
33
- tensor<fp32, [1, 80, 15975]> input_1 = abs(x = outputs)[name = tensor<string, []>("input_1")];
34
  tensor<int32, [1]> var_119 = const()[name = tensor<string, []>("op_119"), val = tensor<int32, [1]>([3])];
35
  tensor<int32, [1]> var_120 = const()[name = tensor<string, []>("op_120"), val = tensor<int32, [1]>([3])];
36
  tensor<string, []> input_3_pad_type_0 = const()[name = tensor<string, []>("input_3_pad_type_0"), val = tensor<string, []>("custom")];
37
  tensor<int32, [2]> input_3_pad_0 = const()[name = tensor<string, []>("input_3_pad_0"), val = tensor<int32, [2]>([0, 0])];
38
  tensor<bool, []> input_3_ceil_mode_0 = const()[name = tensor<string, []>("input_3_ceil_mode_0"), val = tensor<bool, []>(false)];
39
- tensor<fp32, [1, 80, 5325]> input_3 = max_pool(ceil_mode = input_3_ceil_mode_0, kernel_sizes = var_119, pad = input_3_pad_0, pad_type = input_3_pad_type_0, strides = var_120, x = input_1)[name = tensor<string, []>("input_3")];
40
- tensor<fp32, [1, 80, 5325]> input_5 = instance_norm(beta = sincnet_norm1d_0_bias, epsilon = var_24, gamma = sincnet_norm1d_0_weight, x = input_3)[name = tensor<string, []>("input_5")];
41
- tensor<fp32, [1, 80, 5325]> input_7 = leaky_relu(alpha = var_9, x = input_5)[name = tensor<string, []>("input_7")];
42
  tensor<string, []> input_9_pad_type_0 = const()[name = tensor<string, []>("input_9_pad_type_0"), val = tensor<string, []>("valid")];
43
  tensor<int32, [1]> input_9_strides_0 = const()[name = tensor<string, []>("input_9_strides_0"), val = tensor<int32, [1]>([1])];
44
  tensor<int32, [2]> input_9_pad_0 = const()[name = tensor<string, []>("input_9_pad_0"), val = tensor<int32, [2]>([0, 0])];
45
  tensor<int32, [1]> input_9_dilations_0 = const()[name = tensor<string, []>("input_9_dilations_0"), val = tensor<int32, [1]>([1])];
46
  tensor<int32, []> input_9_groups_0 = const()[name = tensor<string, []>("input_9_groups_0"), val = tensor<int32, []>(1)];
47
- tensor<fp32, [1, 60, 5321]> input_9 = conv(bias = sincnet_conv1d_1_bias, dilations = input_9_dilations_0, groups = input_9_groups_0, pad = input_9_pad_0, pad_type = input_9_pad_type_0, strides = input_9_strides_0, weight = sincnet_conv1d_1_weight, x = input_7)[name = tensor<string, []>("input_9")];
48
  tensor<int32, [1]> var_135 = const()[name = tensor<string, []>("op_135"), val = tensor<int32, [1]>([3])];
49
  tensor<int32, [1]> var_136 = const()[name = tensor<string, []>("op_136"), val = tensor<int32, [1]>([3])];
50
  tensor<string, []> input_11_pad_type_0 = const()[name = tensor<string, []>("input_11_pad_type_0"), val = tensor<string, []>("custom")];
51
  tensor<int32, [2]> input_11_pad_0 = const()[name = tensor<string, []>("input_11_pad_0"), val = tensor<int32, [2]>([0, 0])];
52
  tensor<bool, []> input_11_ceil_mode_0 = const()[name = tensor<string, []>("input_11_ceil_mode_0"), val = tensor<bool, []>(false)];
53
- tensor<fp32, [1, 60, 1773]> input_11 = max_pool(ceil_mode = input_11_ceil_mode_0, kernel_sizes = var_135, pad = input_11_pad_0, pad_type = input_11_pad_type_0, strides = var_136, x = input_9)[name = tensor<string, []>("input_11")];
54
- tensor<fp32, [1, 60, 1773]> input_13 = instance_norm(beta = sincnet_norm1d_1_bias, epsilon = var_24, gamma = sincnet_norm1d_1_weight, x = input_11)[name = tensor<string, []>("input_13")];
55
- tensor<fp32, [1, 60, 1773]> input_15 = leaky_relu(alpha = var_9, x = input_13)[name = tensor<string, []>("input_15")];
56
  tensor<string, []> input_17_pad_type_0 = const()[name = tensor<string, []>("input_17_pad_type_0"), val = tensor<string, []>("valid")];
57
  tensor<int32, [1]> input_17_strides_0 = const()[name = tensor<string, []>("input_17_strides_0"), val = tensor<int32, [1]>([1])];
58
  tensor<int32, [2]> input_17_pad_0 = const()[name = tensor<string, []>("input_17_pad_0"), val = tensor<int32, [2]>([0, 0])];
59
  tensor<int32, [1]> input_17_dilations_0 = const()[name = tensor<string, []>("input_17_dilations_0"), val = tensor<int32, [1]>([1])];
60
  tensor<int32, []> input_17_groups_0 = const()[name = tensor<string, []>("input_17_groups_0"), val = tensor<int32, []>(1)];
61
- tensor<fp32, [1, 60, 1769]> input_17 = conv(bias = sincnet_conv1d_2_bias, dilations = input_17_dilations_0, groups = input_17_groups_0, pad = input_17_pad_0, pad_type = input_17_pad_type_0, strides = input_17_strides_0, weight = sincnet_conv1d_2_weight, x = input_15)[name = tensor<string, []>("input_17")];
62
  tensor<int32, [1]> var_151 = const()[name = tensor<string, []>("op_151"), val = tensor<int32, [1]>([3])];
63
  tensor<int32, [1]> var_152 = const()[name = tensor<string, []>("op_152"), val = tensor<int32, [1]>([3])];
64
  tensor<string, []> input_19_pad_type_0 = const()[name = tensor<string, []>("input_19_pad_type_0"), val = tensor<string, []>("custom")];
65
  tensor<int32, [2]> input_19_pad_0 = const()[name = tensor<string, []>("input_19_pad_0"), val = tensor<int32, [2]>([0, 0])];
66
  tensor<bool, []> input_19_ceil_mode_0 = const()[name = tensor<string, []>("input_19_ceil_mode_0"), val = tensor<bool, []>(false)];
67
- tensor<fp32, [1, 60, 589]> input_19 = max_pool(ceil_mode = input_19_ceil_mode_0, kernel_sizes = var_151, pad = input_19_pad_0, pad_type = input_19_pad_type_0, strides = var_152, x = input_17)[name = tensor<string, []>("input_19")];
68
- tensor<fp32, [1, 60, 589]> input_21 = instance_norm(beta = sincnet_norm1d_2_bias, epsilon = var_24, gamma = sincnet_norm1d_2_weight, x = input_19)[name = tensor<string, []>("input_21")];
69
- tensor<fp32, [1, 60, 589]> x = leaky_relu(alpha = var_9, x = input_21)[name = tensor<string, []>("x")];
70
- tensor<int32, [3]> transpose_4_perm_0 = const()[name = tensor<string, []>("transpose_4_perm_0"), val = tensor<int32, [3]>([2, 0, 1])];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  tensor<fp32, [512]> add_0 = const()[name = tensor<string, []>("add_0"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(452800)))];
72
  tensor<fp32, [512]> add_1 = const()[name = tensor<string, []>("add_1"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(454912)))];
73
- tensor<fp32, [512, 60]> concat_4 = const()[name = tensor<string, []>("concat_4"), val = tensor<fp32, [512, 60]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(457024)))];
74
- tensor<fp32, [512, 128]> concat_5 = const()[name = tensor<string, []>("concat_5"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(579968)))];
75
- tensor<fp32, [512, 60]> concat_6 = const()[name = tensor<string, []>("concat_6"), val = tensor<fp32, [512, 60]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(842176)))];
76
- tensor<fp32, [512, 128]> concat_7 = const()[name = tensor<string, []>("concat_7"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(965120)))];
77
- tensor<fp32, [1, 256]> input_25_lstm_layer_0_lstm_h0_reshaped = const()[name = tensor<string, []>("input_25_lstm_layer_0_lstm_h0_reshaped"), val = tensor<fp32, [1, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1227328)))];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  tensor<string, []> input_25_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_direction_0"), val = tensor<string, []>("bidirectional")];
79
  tensor<bool, []> input_25_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
80
  tensor<string, []> input_25_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
81
  tensor<string, []> input_25_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
82
  tensor<string, []> input_25_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
83
- tensor<fp32, [589, 1, 60]> transpose_4 = transpose(perm = transpose_4_perm_0, x = x)[name = tensor<string, []>("transpose_6")];
84
- tensor<fp32, [589, 1, 256]> input_25_lstm_layer_0_0, tensor<fp32, [1, 256]> input_25_lstm_layer_0_1, tensor<fp32, [1, 256]> input_25_lstm_layer_0_2 = lstm(activation = input_25_lstm_layer_0_activation_0, bias = add_0, bias_back = add_1, cell_activation = input_25_lstm_layer_0_cell_activation_0, direction = input_25_lstm_layer_0_direction_0, initial_c = input_25_lstm_layer_0_lstm_h0_reshaped, initial_h = input_25_lstm_layer_0_lstm_h0_reshaped, output_sequence = input_25_lstm_layer_0_output_sequence_0, recurrent_activation = input_25_lstm_layer_0_recurrent_activation_0, weight_hh = concat_5, weight_hh_back = concat_7, weight_ih = concat_4, weight_ih_back = concat_6, x = transpose_4)[name = tensor<string, []>("input_25_lstm_layer_0")];
85
- tensor<fp32, [512]> add_2 = const()[name = tensor<string, []>("add_2"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1228416)))];
86
- tensor<fp32, [512]> add_3 = const()[name = tensor<string, []>("add_3"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1230528)))];
87
- tensor<fp32, [512, 256]> concat_14 = const()[name = tensor<string, []>("concat_14"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1232640)))];
88
- tensor<fp32, [512, 128]> concat_15 = const()[name = tensor<string, []>("concat_15"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1756992)))];
89
- tensor<fp32, [512, 256]> concat_16 = const()[name = tensor<string, []>("concat_16"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2019200)))];
90
- tensor<fp32, [512, 128]> concat_17 = const()[name = tensor<string, []>("concat_17"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2543552)))];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  tensor<string, []> input_25_lstm_layer_1_direction_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_direction_0"), val = tensor<string, []>("bidirectional")];
92
  tensor<bool, []> input_25_lstm_layer_1_output_sequence_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_output_sequence_0"), val = tensor<bool, []>(true)];
93
  tensor<string, []> input_25_lstm_layer_1_recurrent_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
94
  tensor<string, []> input_25_lstm_layer_1_cell_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_cell_activation_0"), val = tensor<string, []>("tanh")];
95
  tensor<string, []> input_25_lstm_layer_1_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_activation_0"), val = tensor<string, []>("tanh")];
96
- tensor<fp32, [589, 1, 256]> input_25_lstm_layer_1_0, tensor<fp32, [1, 256]> input_25_lstm_layer_1_1, tensor<fp32, [1, 256]> input_25_lstm_layer_1_2 = lstm(activation = input_25_lstm_layer_1_activation_0, bias = add_2, bias_back = add_3, cell_activation = input_25_lstm_layer_1_cell_activation_0, direction = input_25_lstm_layer_1_direction_0, initial_c = input_25_lstm_layer_0_lstm_h0_reshaped, initial_h = input_25_lstm_layer_0_lstm_h0_reshaped, output_sequence = input_25_lstm_layer_1_output_sequence_0, recurrent_activation = input_25_lstm_layer_1_recurrent_activation_0, weight_hh = concat_15, weight_hh_back = concat_17, weight_ih = concat_14, weight_ih_back = concat_16, x = input_25_lstm_layer_0_0)[name = tensor<string, []>("input_25_lstm_layer_1")];
97
- tensor<fp32, [512]> add_4 = const()[name = tensor<string, []>("add_4"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2805760)))];
98
- tensor<fp32, [512]> add_5 = const()[name = tensor<string, []>("add_5"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2807872)))];
99
- tensor<fp32, [512, 256]> concat_24 = const()[name = tensor<string, []>("concat_24"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2809984)))];
100
- tensor<fp32, [512, 128]> concat_25 = const()[name = tensor<string, []>("concat_25"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(3334336)))];
101
- tensor<fp32, [512, 256]> concat_26 = const()[name = tensor<string, []>("concat_26"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(3596544)))];
102
- tensor<fp32, [512, 128]> concat_27 = const()[name = tensor<string, []>("concat_27"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4120896)))];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  tensor<string, []> input_25_lstm_layer_2_direction_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_direction_0"), val = tensor<string, []>("bidirectional")];
104
  tensor<bool, []> input_25_lstm_layer_2_output_sequence_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_output_sequence_0"), val = tensor<bool, []>(true)];
105
  tensor<string, []> input_25_lstm_layer_2_recurrent_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
106
  tensor<string, []> input_25_lstm_layer_2_cell_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_cell_activation_0"), val = tensor<string, []>("tanh")];
107
  tensor<string, []> input_25_lstm_layer_2_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_activation_0"), val = tensor<string, []>("tanh")];
108
- tensor<fp32, [589, 1, 256]> input_25_lstm_layer_2_0, tensor<fp32, [1, 256]> input_25_lstm_layer_2_1, tensor<fp32, [1, 256]> input_25_lstm_layer_2_2 = lstm(activation = input_25_lstm_layer_2_activation_0, bias = add_4, bias_back = add_5, cell_activation = input_25_lstm_layer_2_cell_activation_0, direction = input_25_lstm_layer_2_direction_0, initial_c = input_25_lstm_layer_0_lstm_h0_reshaped, initial_h = input_25_lstm_layer_0_lstm_h0_reshaped, output_sequence = input_25_lstm_layer_2_output_sequence_0, recurrent_activation = input_25_lstm_layer_2_recurrent_activation_0, weight_hh = concat_25, weight_hh_back = concat_27, weight_ih = concat_24, weight_ih_back = concat_26, x = input_25_lstm_layer_1_0)[name = tensor<string, []>("input_25_lstm_layer_2")];
109
- tensor<fp32, [512]> add_6 = const()[name = tensor<string, []>("add_6"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4383104)))];
110
- tensor<fp32, [512]> add_7 = const()[name = tensor<string, []>("add_7"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4385216)))];
111
- tensor<fp32, [512, 256]> concat_34 = const()[name = tensor<string, []>("concat_34"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4387328)))];
112
- tensor<fp32, [512, 128]> concat_35 = const()[name = tensor<string, []>("concat_35"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4911680)))];
113
- tensor<fp32, [512, 256]> concat_36 = const()[name = tensor<string, []>("concat_36"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(5173888)))];
114
- tensor<fp32, [512, 128]> concat_37 = const()[name = tensor<string, []>("concat_37"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(5698240)))];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  tensor<string, []> input_25_batch_first_direction_0 = const()[name = tensor<string, []>("input_25_batch_first_direction_0"), val = tensor<string, []>("bidirectional")];
116
  tensor<bool, []> input_25_batch_first_output_sequence_0 = const()[name = tensor<string, []>("input_25_batch_first_output_sequence_0"), val = tensor<bool, []>(true)];
117
  tensor<string, []> input_25_batch_first_recurrent_activation_0 = const()[name = tensor<string, []>("input_25_batch_first_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
118
  tensor<string, []> input_25_batch_first_cell_activation_0 = const()[name = tensor<string, []>("input_25_batch_first_cell_activation_0"), val = tensor<string, []>("tanh")];
119
  tensor<string, []> input_25_batch_first_activation_0 = const()[name = tensor<string, []>("input_25_batch_first_activation_0"), val = tensor<string, []>("tanh")];
120
- tensor<fp32, [589, 1, 256]> input_25_batch_first_0, tensor<fp32, [1, 256]> input_25_batch_first_1, tensor<fp32, [1, 256]> input_25_batch_first_2 = lstm(activation = input_25_batch_first_activation_0, bias = add_6, bias_back = add_7, cell_activation = input_25_batch_first_cell_activation_0, direction = input_25_batch_first_direction_0, initial_c = input_25_lstm_layer_0_lstm_h0_reshaped, initial_h = input_25_lstm_layer_0_lstm_h0_reshaped, output_sequence = input_25_batch_first_output_sequence_0, recurrent_activation = input_25_batch_first_recurrent_activation_0, weight_hh = concat_35, weight_hh_back = concat_37, weight_ih = concat_34, weight_ih_back = concat_36, x = input_25_lstm_layer_2_0)[name = tensor<string, []>("input_25_batch_first")];
121
  tensor<int32, [3]> input_25_perm_0 = const()[name = tensor<string, []>("input_25_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
122
- tensor<fp32, [1, 589, 256]> input_25 = transpose(perm = input_25_perm_0, x = input_25_batch_first_0)[name = tensor<string, []>("transpose_5")];
123
- tensor<fp32, [1, 589, 128]> input_27 = linear(bias = linear_0_bias, weight = linear_0_weight, x = input_25)[name = tensor<string, []>("linear_0")];
124
  tensor<fp32, []> var_220 = const()[name = tensor<string, []>("op_220"), val = tensor<fp32, []>(0x1.47ae14p-7)];
125
- tensor<fp32, [1, 589, 128]> input_29 = leaky_relu(alpha = var_220, x = input_27)[name = tensor<string, []>("input_29")];
126
- tensor<fp32, [1, 589, 128]> input_31 = linear(bias = linear_1_bias, weight = linear_1_weight, x = input_29)[name = tensor<string, []>("linear_1")];
127
  tensor<fp32, []> var_225 = const()[name = tensor<string, []>("op_225"), val = tensor<fp32, []>(0x1.47ae14p-7)];
128
- tensor<fp32, [1, 589, 128]> input_33 = leaky_relu(alpha = var_225, x = input_31)[name = tensor<string, []>("input_33")];
129
- tensor<fp32, [1, 589, 7]> input = linear(bias = classifier_bias, weight = classifier_weight, x = input_33)[name = tensor<string, []>("linear_2")];
130
  tensor<int32, []> var_231 = const()[name = tensor<string, []>("op_231"), val = tensor<int32, []>(-1)];
131
- tensor<fp32, [1, 589, 7]> var_232_softmax = softmax(axis = var_231, x = input)[name = tensor<string, []>("op_232_softmax")];
132
  tensor<fp32, []> var_232_epsilon_0 = const()[name = tensor<string, []>("op_232_epsilon_0"), val = tensor<fp32, []>(0x1p-149)];
133
- tensor<fp32, [1, 589, 7]> log_probs = log(epsilon = var_232_epsilon_0, x = var_232_softmax)[name = tensor<string, []>("op_232")];
134
  } -> (log_probs);
135
  }
 
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.8.0"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "9.0b1"}})]
3
  {
4
+ func main<ios17>(tensor<fp32, [?, 1, 160000]> audio) [FlexibleShapeInformation = tuple<tuple<tensor<string, []>, dict<tensor<string, []>, tensor<int32, [?]>>>, tuple<tensor<string, []>, dict<tensor<string, []>, dict<tensor<string, []>, tensor<int32, [?]>>>>>((("DefaultShapes", {{"audio", [32, 1, 160000]}}), ("EnumeratedShapes", {{"audio_1_1_10_1_160000_", {{"audio", [10, 1, 160000]}}}, {"audio_1_1_11_1_160000_", {{"audio", [11, 1, 160000]}}}, {"audio_1_1_12_1_160000_", {{"audio", [12, 1, 160000]}}}, {"audio_1_1_13_1_160000_", {{"audio", [13, 1, 160000]}}}, {"audio_1_1_14_1_160000_", {{"audio", [14, 1, 160000]}}}, {"audio_1_1_15_1_160000_", {{"audio", [15, 1, 160000]}}}, {"audio_1_1_16_1_160000_", {{"audio", [16, 1, 160000]}}}, {"audio_1_1_17_1_160000_", {{"audio", [17, 1, 160000]}}}, {"audio_1_1_18_1_160000_", {{"audio", [18, 1, 160000]}}}, {"audio_1_1_19_1_160000_", {{"audio", [19, 1, 160000]}}}, {"audio_1_1_1_1_160000_", {{"audio", [1, 1, 160000]}}}, {"audio_1_1_20_1_160000_", {{"audio", [20, 1, 160000]}}}, {"audio_1_1_21_1_160000_", {{"audio", [21, 1, 160000]}}}, {"audio_1_1_22_1_160000_", {{"audio", [22, 1, 160000]}}}, {"audio_1_1_23_1_160000_", {{"audio", [23, 1, 160000]}}}, {"audio_1_1_24_1_160000_", {{"audio", [24, 1, 160000]}}}, {"audio_1_1_25_1_160000_", {{"audio", [25, 1, 160000]}}}, {"audio_1_1_26_1_160000_", {{"audio", [26, 1, 160000]}}}, {"audio_1_1_27_1_160000_", {{"audio", [27, 1, 160000]}}}, {"audio_1_1_28_1_160000_", {{"audio", [28, 1, 160000]}}}, {"audio_1_1_29_1_160000_", {{"audio", [29, 1, 160000]}}}, {"audio_1_1_2_1_160000_", {{"audio", [2, 1, 160000]}}}, {"audio_1_1_30_1_160000_", {{"audio", [30, 1, 160000]}}}, {"audio_1_1_31_1_160000_", {{"audio", [31, 1, 160000]}}}, {"audio_1_1_32_1_160000_", {{"audio", [32, 1, 160000]}}}, {"audio_1_1_3_1_160000_", {{"audio", [3, 1, 160000]}}}, {"audio_1_1_4_1_160000_", {{"audio", [4, 1, 160000]}}}, {"audio_1_1_5_1_160000_", {{"audio", [5, 1, 160000]}}}, {"audio_1_1_6_1_160000_", {{"audio", [6, 1, 160000]}}}, {"audio_1_1_7_1_160000_", {{"audio", [7, 1, 160000]}}}, {"audio_1_1_8_1_160000_", {{"audio", [8, 1, 160000]}}}, {"audio_1_1_9_1_160000_", {{"audio", [9, 1, 160000]}}}})))] {
5
  tensor<fp32, [1]> sincnet_wav_norm1d_bias = const()[name = tensor<string, []>("sincnet_wav_norm1d_bias"), val = tensor<fp32, [1]>([0x1.73505ep-5])];
6
  tensor<fp32, [1]> sincnet_wav_norm1d_weight = const()[name = tensor<string, []>("sincnet_wav_norm1d_weight"), val = tensor<fp32, [1]>([0x1.43f862p-7])];
7
  tensor<fp32, [80]> sincnet_norm1d_0_bias = const()[name = tensor<string, []>("sincnet_norm1d_0_bias"), val = tensor<fp32, [80]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
 
22
  tensor<fp32, [7, 128]> classifier_weight = const()[name = tensor<string, []>("classifier_weight"), val = tensor<fp32, [7, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(368768)))];
23
  tensor<fp32, []> var_9 = const()[name = tensor<string, []>("op_9"), val = tensor<fp32, []>(0x1.47ae14p-7)];
24
  tensor<fp32, []> var_24 = const()[name = tensor<string, []>("op_24"), val = tensor<fp32, []>(0x1.4f8b58p-17)];
25
+ tensor<fp32, [?, 1, 160000]> waveform = instance_norm(beta = sincnet_wav_norm1d_bias, epsilon = var_24, gamma = sincnet_wav_norm1d_weight, x = audio)[name = tensor<string, []>("waveform")];
26
  tensor<fp32, [80, 1, 251]> filters = const()[name = tensor<string, []>("filters"), val = tensor<fp32, [80, 1, 251]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(372416)))];
27
  tensor<string, []> outputs_pad_type_0 = const()[name = tensor<string, []>("outputs_pad_type_0"), val = tensor<string, []>("valid")];
28
  tensor<int32, [1]> outputs_strides_0 = const()[name = tensor<string, []>("outputs_strides_0"), val = tensor<int32, [1]>([10])];
29
  tensor<int32, [2]> outputs_pad_0 = const()[name = tensor<string, []>("outputs_pad_0"), val = tensor<int32, [2]>([0, 0])];
30
  tensor<int32, [1]> outputs_dilations_0 = const()[name = tensor<string, []>("outputs_dilations_0"), val = tensor<int32, [1]>([1])];
31
  tensor<int32, []> outputs_groups_0 = const()[name = tensor<string, []>("outputs_groups_0"), val = tensor<int32, []>(1)];
32
+ tensor<fp32, [?, 80, 15975]> outputs = conv(dilations = outputs_dilations_0, groups = outputs_groups_0, pad = outputs_pad_0, pad_type = outputs_pad_type_0, strides = outputs_strides_0, weight = filters, x = waveform)[name = tensor<string, []>("outputs")];
33
+ tensor<fp32, [?, 80, 15975]> input_1 = abs(x = outputs)[name = tensor<string, []>("input_1")];
34
  tensor<int32, [1]> var_119 = const()[name = tensor<string, []>("op_119"), val = tensor<int32, [1]>([3])];
35
  tensor<int32, [1]> var_120 = const()[name = tensor<string, []>("op_120"), val = tensor<int32, [1]>([3])];
36
  tensor<string, []> input_3_pad_type_0 = const()[name = tensor<string, []>("input_3_pad_type_0"), val = tensor<string, []>("custom")];
37
  tensor<int32, [2]> input_3_pad_0 = const()[name = tensor<string, []>("input_3_pad_0"), val = tensor<int32, [2]>([0, 0])];
38
  tensor<bool, []> input_3_ceil_mode_0 = const()[name = tensor<string, []>("input_3_ceil_mode_0"), val = tensor<bool, []>(false)];
39
+ tensor<fp32, [?, 80, 5325]> input_3 = max_pool(ceil_mode = input_3_ceil_mode_0, kernel_sizes = var_119, pad = input_3_pad_0, pad_type = input_3_pad_type_0, strides = var_120, x = input_1)[name = tensor<string, []>("input_3")];
40
+ tensor<fp32, [?, 80, 5325]> input_5 = instance_norm(beta = sincnet_norm1d_0_bias, epsilon = var_24, gamma = sincnet_norm1d_0_weight, x = input_3)[name = tensor<string, []>("input_5")];
41
+ tensor<fp32, [?, 80, 5325]> input_7 = leaky_relu(alpha = var_9, x = input_5)[name = tensor<string, []>("input_7")];
42
  tensor<string, []> input_9_pad_type_0 = const()[name = tensor<string, []>("input_9_pad_type_0"), val = tensor<string, []>("valid")];
43
  tensor<int32, [1]> input_9_strides_0 = const()[name = tensor<string, []>("input_9_strides_0"), val = tensor<int32, [1]>([1])];
44
  tensor<int32, [2]> input_9_pad_0 = const()[name = tensor<string, []>("input_9_pad_0"), val = tensor<int32, [2]>([0, 0])];
45
  tensor<int32, [1]> input_9_dilations_0 = const()[name = tensor<string, []>("input_9_dilations_0"), val = tensor<int32, [1]>([1])];
46
  tensor<int32, []> input_9_groups_0 = const()[name = tensor<string, []>("input_9_groups_0"), val = tensor<int32, []>(1)];
47
+ tensor<fp32, [?, 60, 5321]> input_9 = conv(bias = sincnet_conv1d_1_bias, dilations = input_9_dilations_0, groups = input_9_groups_0, pad = input_9_pad_0, pad_type = input_9_pad_type_0, strides = input_9_strides_0, weight = sincnet_conv1d_1_weight, x = input_7)[name = tensor<string, []>("input_9")];
48
  tensor<int32, [1]> var_135 = const()[name = tensor<string, []>("op_135"), val = tensor<int32, [1]>([3])];
49
  tensor<int32, [1]> var_136 = const()[name = tensor<string, []>("op_136"), val = tensor<int32, [1]>([3])];
50
  tensor<string, []> input_11_pad_type_0 = const()[name = tensor<string, []>("input_11_pad_type_0"), val = tensor<string, []>("custom")];
51
  tensor<int32, [2]> input_11_pad_0 = const()[name = tensor<string, []>("input_11_pad_0"), val = tensor<int32, [2]>([0, 0])];
52
  tensor<bool, []> input_11_ceil_mode_0 = const()[name = tensor<string, []>("input_11_ceil_mode_0"), val = tensor<bool, []>(false)];
53
+ tensor<fp32, [?, 60, 1773]> input_11 = max_pool(ceil_mode = input_11_ceil_mode_0, kernel_sizes = var_135, pad = input_11_pad_0, pad_type = input_11_pad_type_0, strides = var_136, x = input_9)[name = tensor<string, []>("input_11")];
54
+ tensor<fp32, [?, 60, 1773]> input_13 = instance_norm(beta = sincnet_norm1d_1_bias, epsilon = var_24, gamma = sincnet_norm1d_1_weight, x = input_11)[name = tensor<string, []>("input_13")];
55
+ tensor<fp32, [?, 60, 1773]> input_15 = leaky_relu(alpha = var_9, x = input_13)[name = tensor<string, []>("input_15")];
56
  tensor<string, []> input_17_pad_type_0 = const()[name = tensor<string, []>("input_17_pad_type_0"), val = tensor<string, []>("valid")];
57
  tensor<int32, [1]> input_17_strides_0 = const()[name = tensor<string, []>("input_17_strides_0"), val = tensor<int32, [1]>([1])];
58
  tensor<int32, [2]> input_17_pad_0 = const()[name = tensor<string, []>("input_17_pad_0"), val = tensor<int32, [2]>([0, 0])];
59
  tensor<int32, [1]> input_17_dilations_0 = const()[name = tensor<string, []>("input_17_dilations_0"), val = tensor<int32, [1]>([1])];
60
  tensor<int32, []> input_17_groups_0 = const()[name = tensor<string, []>("input_17_groups_0"), val = tensor<int32, []>(1)];
61
+ tensor<fp32, [?, 60, 1769]> input_17 = conv(bias = sincnet_conv1d_2_bias, dilations = input_17_dilations_0, groups = input_17_groups_0, pad = input_17_pad_0, pad_type = input_17_pad_type_0, strides = input_17_strides_0, weight = sincnet_conv1d_2_weight, x = input_15)[name = tensor<string, []>("input_17")];
62
  tensor<int32, [1]> var_151 = const()[name = tensor<string, []>("op_151"), val = tensor<int32, [1]>([3])];
63
  tensor<int32, [1]> var_152 = const()[name = tensor<string, []>("op_152"), val = tensor<int32, [1]>([3])];
64
  tensor<string, []> input_19_pad_type_0 = const()[name = tensor<string, []>("input_19_pad_type_0"), val = tensor<string, []>("custom")];
65
  tensor<int32, [2]> input_19_pad_0 = const()[name = tensor<string, []>("input_19_pad_0"), val = tensor<int32, [2]>([0, 0])];
66
  tensor<bool, []> input_19_ceil_mode_0 = const()[name = tensor<string, []>("input_19_ceil_mode_0"), val = tensor<bool, []>(false)];
67
+ tensor<fp32, [?, 60, 589]> input_19 = max_pool(ceil_mode = input_19_ceil_mode_0, kernel_sizes = var_151, pad = input_19_pad_0, pad_type = input_19_pad_type_0, strides = var_152, x = input_17)[name = tensor<string, []>("input_19")];
68
+ tensor<fp32, [?, 60, 589]> input_21 = instance_norm(beta = sincnet_norm1d_2_bias, epsilon = var_24, gamma = sincnet_norm1d_2_weight, x = input_19)[name = tensor<string, []>("input_21")];
69
+ tensor<fp32, [?, 60, 589]> x = leaky_relu(alpha = var_9, x = input_21)[name = tensor<string, []>("x")];
70
+ tensor<int32, [3]> var_163 = const()[name = tensor<string, []>("op_163"), val = tensor<int32, [3]>([0, 2, 1])];
71
+ tensor<int32, []> var_172 = const()[name = tensor<string, []>("op_172"), val = tensor<int32, []>(128)];
72
+ tensor<int32, []> var_173 = const()[name = tensor<string, []>("op_173"), val = tensor<int32, []>(8)];
73
+ tensor<fp32, [?, 589, 60]> input_23 = transpose(perm = var_163, x = x)[name = tensor<string, []>("transpose_6")];
74
+ tensor<int32, [3]> var_207_shape = shape(x = input_23)[name = tensor<string, []>("op_207_shape")];
75
+ tensor<int32, []> gather_0_batch_dims_0 = const()[name = tensor<string, []>("gather_0_batch_dims_0"), val = tensor<int32, []>(0)];
76
+ tensor<bool, []> gather_0_validate_indices_0 = const()[name = tensor<string, []>("gather_0_validate_indices_0"), val = tensor<bool, []>(false)];
77
+ tensor<int32, []> select_0 = const()[name = tensor<string, []>("select_0"), val = tensor<int32, []>(0)];
78
+ tensor<int32, []> gather_0_axis_1 = const()[name = tensor<string, []>("gather_0_axis_1"), val = tensor<int32, []>(0)];
79
+ tensor<int32, []> gather_0 = gather(axis = gather_0_axis_1, batch_dims = gather_0_batch_dims_0, indices = select_0, validate_indices = gather_0_validate_indices_0, x = var_207_shape)[name = tensor<string, []>("gather_0")];
80
+ tensor<int32, []> concat_0_axis_0 = const()[name = tensor<string, []>("concat_0_axis_0"), val = tensor<int32, []>(0)];
81
+ tensor<bool, []> concat_0_interleave_0 = const()[name = tensor<string, []>("concat_0_interleave_0"), val = tensor<bool, []>(false)];
82
+ tensor<int32, [3]> concat_0 = concat(axis = concat_0_axis_0, interleave = concat_0_interleave_0, values = (var_173, gather_0, var_172))[name = tensor<string, []>("concat_0")];
83
+ tensor<fp32, []> hx_1_value_0 = const()[name = tensor<string, []>("hx_1_value_0"), val = tensor<fp32, []>(0x0p+0)];
84
+ tensor<fp32, [8, ?, 128]> hx_1 = fill(shape = concat_0, value = hx_1_value_0)[name = tensor<string, []>("hx_1")];
85
+ tensor<int32, [3]> input_23_batch_first_transpose_perm_0 = const()[name = tensor<string, []>("input_23_batch_first_transpose_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
86
+ tensor<int32, []> split_0_num_splits_0 = const()[name = tensor<string, []>("split_0_num_splits_0"), val = tensor<int32, []>(4)];
87
+ tensor<int32, []> split_0_axis_0 = const()[name = tensor<string, []>("split_0_axis_0"), val = tensor<int32, []>(0)];
88
+ tensor<fp32, [2, ?, 128]> split_0_0, tensor<fp32, [2, ?, 128]> split_0_1, tensor<fp32, [2, ?, 128]> split_0_2, tensor<fp32, [2, ?, 128]> split_0_3 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = hx_1)[name = tensor<string, []>("split_0")];
89
+ tensor<int32, []> split_1_num_splits_0 = const()[name = tensor<string, []>("split_1_num_splits_0"), val = tensor<int32, []>(4)];
90
+ tensor<int32, []> split_1_axis_0 = const()[name = tensor<string, []>("split_1_axis_0"), val = tensor<int32, []>(0)];
91
+ tensor<fp32, [2, ?, 128]> split_1_0, tensor<fp32, [2, ?, 128]> split_1_1, tensor<fp32, [2, ?, 128]> split_1_2, tensor<fp32, [2, ?, 128]> split_1_3 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = hx_1)[name = tensor<string, []>("split_1")];
92
  tensor<fp32, [512]> add_0 = const()[name = tensor<string, []>("add_0"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(452800)))];
93
  tensor<fp32, [512]> add_1 = const()[name = tensor<string, []>("add_1"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(454912)))];
94
+ tensor<fp32, [512, 60]> concat_6 = const()[name = tensor<string, []>("concat_6"), val = tensor<fp32, [512, 60]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(457024)))];
95
+ tensor<fp32, [512, 128]> concat_7 = const()[name = tensor<string, []>("concat_7"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(579968)))];
96
+ tensor<fp32, [512, 60]> concat_8 = const()[name = tensor<string, []>("concat_8"), val = tensor<fp32, [512, 60]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(842176)))];
97
+ tensor<fp32, [512, 128]> concat_9 = const()[name = tensor<string, []>("concat_9"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(965120)))];
98
+ tensor<int32, [2]> split_10_split_sizes_0 = const()[name = tensor<string, []>("split_10_split_sizes_0"), val = tensor<int32, [2]>([1, 1])];
99
+ tensor<int32, []> split_10_axis_0 = const()[name = tensor<string, []>("split_10_axis_0"), val = tensor<int32, []>(0)];
100
+ tensor<fp32, [1, ?, 128]> split_10_0, tensor<fp32, [1, ?, 128]> split_10_1 = split(axis = split_10_axis_0, split_sizes = split_10_split_sizes_0, x = split_0_0)[name = tensor<string, []>("split_10")];
101
+ tensor<int32, []> concat_10_axis_0 = const()[name = tensor<string, []>("concat_10_axis_0"), val = tensor<int32, []>(2)];
102
+ tensor<bool, []> concat_10_interleave_0 = const()[name = tensor<string, []>("concat_10_interleave_0"), val = tensor<bool, []>(false)];
103
+ tensor<fp32, [1, ?, 256]> concat_10 = concat(axis = concat_10_axis_0, interleave = concat_10_interleave_0, values = (split_10_0, split_10_1))[name = tensor<string, []>("concat_10")];
104
+ tensor<int32, [1]> input_25_lstm_layer_0_lstm_h0_reshaped_axes_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_lstm_h0_reshaped_axes_0"), val = tensor<int32, [1]>([0])];
105
+ tensor<fp32, [?, 256]> input_25_lstm_layer_0_lstm_h0_reshaped = squeeze(axes = input_25_lstm_layer_0_lstm_h0_reshaped_axes_0, x = concat_10)[name = tensor<string, []>("input_25_lstm_layer_0_lstm_h0_reshaped")];
106
+ tensor<int32, [2]> split_11_split_sizes_0 = const()[name = tensor<string, []>("split_11_split_sizes_0"), val = tensor<int32, [2]>([1, 1])];
107
+ tensor<int32, []> split_11_axis_0 = const()[name = tensor<string, []>("split_11_axis_0"), val = tensor<int32, []>(0)];
108
+ tensor<fp32, [1, ?, 128]> split_11_0, tensor<fp32, [1, ?, 128]> split_11_1 = split(axis = split_11_axis_0, split_sizes = split_11_split_sizes_0, x = split_1_0)[name = tensor<string, []>("split_11")];
109
+ tensor<int32, []> concat_11_axis_0 = const()[name = tensor<string, []>("concat_11_axis_0"), val = tensor<int32, []>(2)];
110
+ tensor<bool, []> concat_11_interleave_0 = const()[name = tensor<string, []>("concat_11_interleave_0"), val = tensor<bool, []>(false)];
111
+ tensor<fp32, [1, ?, 256]> concat_11 = concat(axis = concat_11_axis_0, interleave = concat_11_interleave_0, values = (split_11_0, split_11_1))[name = tensor<string, []>("concat_11")];
112
+ tensor<int32, [1]> input_25_lstm_layer_0_lstm_c0_reshaped_axes_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_lstm_c0_reshaped_axes_0"), val = tensor<int32, [1]>([0])];
113
+ tensor<fp32, [?, 256]> input_25_lstm_layer_0_lstm_c0_reshaped = squeeze(axes = input_25_lstm_layer_0_lstm_c0_reshaped_axes_0, x = concat_11)[name = tensor<string, []>("input_25_lstm_layer_0_lstm_c0_reshaped")];
114
  tensor<string, []> input_25_lstm_layer_0_direction_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_direction_0"), val = tensor<string, []>("bidirectional")];
115
  tensor<bool, []> input_25_lstm_layer_0_output_sequence_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_output_sequence_0"), val = tensor<bool, []>(true)];
116
  tensor<string, []> input_25_lstm_layer_0_recurrent_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
117
  tensor<string, []> input_25_lstm_layer_0_cell_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_cell_activation_0"), val = tensor<string, []>("tanh")];
118
  tensor<string, []> input_25_lstm_layer_0_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_0_activation_0"), val = tensor<string, []>("tanh")];
119
+ tensor<fp32, [589, ?, 60]> input_23_batch_first_transpose = transpose(perm = input_23_batch_first_transpose_perm_0, x = input_23)[name = tensor<string, []>("transpose_5")];
120
+ tensor<fp32, [589, ?, 256]> input_25_lstm_layer_0_0, tensor<fp32, [?, 256]> input_25_lstm_layer_0_1, tensor<fp32, [?, 256]> input_25_lstm_layer_0_2 = lstm(activation = input_25_lstm_layer_0_activation_0, bias = add_0, bias_back = add_1, cell_activation = input_25_lstm_layer_0_cell_activation_0, direction = input_25_lstm_layer_0_direction_0, initial_c = input_25_lstm_layer_0_lstm_c0_reshaped, initial_h = input_25_lstm_layer_0_lstm_h0_reshaped, output_sequence = input_25_lstm_layer_0_output_sequence_0, recurrent_activation = input_25_lstm_layer_0_recurrent_activation_0, weight_hh = concat_7, weight_hh_back = concat_9, weight_ih = concat_6, weight_ih_back = concat_8, x = input_23_batch_first_transpose)[name = tensor<string, []>("input_25_lstm_layer_0")];
121
+ tensor<fp32, [512]> add_2 = const()[name = tensor<string, []>("add_2"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1227328)))];
122
+ tensor<fp32, [512]> add_3 = const()[name = tensor<string, []>("add_3"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1229440)))];
123
+ tensor<fp32, [512, 256]> concat_16 = const()[name = tensor<string, []>("concat_16"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1231552)))];
124
+ tensor<fp32, [512, 128]> concat_17 = const()[name = tensor<string, []>("concat_17"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1755904)))];
125
+ tensor<fp32, [512, 256]> concat_18 = const()[name = tensor<string, []>("concat_18"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2018112)))];
126
+ tensor<fp32, [512, 128]> concat_19 = const()[name = tensor<string, []>("concat_19"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2542464)))];
127
+ tensor<int32, [2]> split_20_split_sizes_0 = const()[name = tensor<string, []>("split_20_split_sizes_0"), val = tensor<int32, [2]>([1, 1])];
128
+ tensor<int32, []> split_20_axis_0 = const()[name = tensor<string, []>("split_20_axis_0"), val = tensor<int32, []>(0)];
129
+ tensor<fp32, [1, ?, 128]> split_20_0, tensor<fp32, [1, ?, 128]> split_20_1 = split(axis = split_20_axis_0, split_sizes = split_20_split_sizes_0, x = split_0_1)[name = tensor<string, []>("split_20")];
130
+ tensor<int32, []> concat_20_axis_0 = const()[name = tensor<string, []>("concat_20_axis_0"), val = tensor<int32, []>(2)];
131
+ tensor<bool, []> concat_20_interleave_0 = const()[name = tensor<string, []>("concat_20_interleave_0"), val = tensor<bool, []>(false)];
132
+ tensor<fp32, [1, ?, 256]> concat_20 = concat(axis = concat_20_axis_0, interleave = concat_20_interleave_0, values = (split_20_0, split_20_1))[name = tensor<string, []>("concat_20")];
133
+ tensor<int32, [1]> input_25_lstm_layer_1_lstm_h0_reshaped_axes_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_lstm_h0_reshaped_axes_0"), val = tensor<int32, [1]>([0])];
134
+ tensor<fp32, [?, 256]> input_25_lstm_layer_1_lstm_h0_reshaped = squeeze(axes = input_25_lstm_layer_1_lstm_h0_reshaped_axes_0, x = concat_20)[name = tensor<string, []>("input_25_lstm_layer_1_lstm_h0_reshaped")];
135
+ tensor<int32, [2]> split_21_split_sizes_0 = const()[name = tensor<string, []>("split_21_split_sizes_0"), val = tensor<int32, [2]>([1, 1])];
136
+ tensor<int32, []> split_21_axis_0 = const()[name = tensor<string, []>("split_21_axis_0"), val = tensor<int32, []>(0)];
137
+ tensor<fp32, [1, ?, 128]> split_21_0, tensor<fp32, [1, ?, 128]> split_21_1 = split(axis = split_21_axis_0, split_sizes = split_21_split_sizes_0, x = split_1_1)[name = tensor<string, []>("split_21")];
138
+ tensor<int32, []> concat_21_axis_0 = const()[name = tensor<string, []>("concat_21_axis_0"), val = tensor<int32, []>(2)];
139
+ tensor<bool, []> concat_21_interleave_0 = const()[name = tensor<string, []>("concat_21_interleave_0"), val = tensor<bool, []>(false)];
140
+ tensor<fp32, [1, ?, 256]> concat_21 = concat(axis = concat_21_axis_0, interleave = concat_21_interleave_0, values = (split_21_0, split_21_1))[name = tensor<string, []>("concat_21")];
141
+ tensor<int32, [1]> input_25_lstm_layer_1_lstm_c0_reshaped_axes_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_lstm_c0_reshaped_axes_0"), val = tensor<int32, [1]>([0])];
142
+ tensor<fp32, [?, 256]> input_25_lstm_layer_1_lstm_c0_reshaped = squeeze(axes = input_25_lstm_layer_1_lstm_c0_reshaped_axes_0, x = concat_21)[name = tensor<string, []>("input_25_lstm_layer_1_lstm_c0_reshaped")];
143
  tensor<string, []> input_25_lstm_layer_1_direction_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_direction_0"), val = tensor<string, []>("bidirectional")];
144
  tensor<bool, []> input_25_lstm_layer_1_output_sequence_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_output_sequence_0"), val = tensor<bool, []>(true)];
145
  tensor<string, []> input_25_lstm_layer_1_recurrent_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
146
  tensor<string, []> input_25_lstm_layer_1_cell_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_cell_activation_0"), val = tensor<string, []>("tanh")];
147
  tensor<string, []> input_25_lstm_layer_1_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_1_activation_0"), val = tensor<string, []>("tanh")];
148
+ tensor<fp32, [589, ?, 256]> input_25_lstm_layer_1_0, tensor<fp32, [?, 256]> input_25_lstm_layer_1_1, tensor<fp32, [?, 256]> input_25_lstm_layer_1_2 = lstm(activation = input_25_lstm_layer_1_activation_0, bias = add_2, bias_back = add_3, cell_activation = input_25_lstm_layer_1_cell_activation_0, direction = input_25_lstm_layer_1_direction_0, initial_c = input_25_lstm_layer_1_lstm_c0_reshaped, initial_h = input_25_lstm_layer_1_lstm_h0_reshaped, output_sequence = input_25_lstm_layer_1_output_sequence_0, recurrent_activation = input_25_lstm_layer_1_recurrent_activation_0, weight_hh = concat_17, weight_hh_back = concat_19, weight_ih = concat_16, weight_ih_back = concat_18, x = input_25_lstm_layer_0_0)[name = tensor<string, []>("input_25_lstm_layer_1")];
149
+ tensor<fp32, [512]> add_4 = const()[name = tensor<string, []>("add_4"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2804672)))];
150
+ tensor<fp32, [512]> add_5 = const()[name = tensor<string, []>("add_5"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2806784)))];
151
+ tensor<fp32, [512, 256]> concat_26 = const()[name = tensor<string, []>("concat_26"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(2808896)))];
152
+ tensor<fp32, [512, 128]> concat_27 = const()[name = tensor<string, []>("concat_27"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(3333248)))];
153
+ tensor<fp32, [512, 256]> concat_28 = const()[name = tensor<string, []>("concat_28"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(3595456)))];
154
+ tensor<fp32, [512, 128]> concat_29 = const()[name = tensor<string, []>("concat_29"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4119808)))];
155
+ tensor<int32, [2]> split_30_split_sizes_0 = const()[name = tensor<string, []>("split_30_split_sizes_0"), val = tensor<int32, [2]>([1, 1])];
156
+ tensor<int32, []> split_30_axis_0 = const()[name = tensor<string, []>("split_30_axis_0"), val = tensor<int32, []>(0)];
157
+ tensor<fp32, [1, ?, 128]> split_30_0, tensor<fp32, [1, ?, 128]> split_30_1 = split(axis = split_30_axis_0, split_sizes = split_30_split_sizes_0, x = split_0_2)[name = tensor<string, []>("split_30")];
158
+ tensor<int32, []> concat_30_axis_0 = const()[name = tensor<string, []>("concat_30_axis_0"), val = tensor<int32, []>(2)];
159
+ tensor<bool, []> concat_30_interleave_0 = const()[name = tensor<string, []>("concat_30_interleave_0"), val = tensor<bool, []>(false)];
160
+ tensor<fp32, [1, ?, 256]> concat_30 = concat(axis = concat_30_axis_0, interleave = concat_30_interleave_0, values = (split_30_0, split_30_1))[name = tensor<string, []>("concat_30")];
161
+ tensor<int32, [1]> input_25_lstm_layer_2_lstm_h0_reshaped_axes_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_lstm_h0_reshaped_axes_0"), val = tensor<int32, [1]>([0])];
162
+ tensor<fp32, [?, 256]> input_25_lstm_layer_2_lstm_h0_reshaped = squeeze(axes = input_25_lstm_layer_2_lstm_h0_reshaped_axes_0, x = concat_30)[name = tensor<string, []>("input_25_lstm_layer_2_lstm_h0_reshaped")];
163
+ tensor<int32, [2]> split_31_split_sizes_0 = const()[name = tensor<string, []>("split_31_split_sizes_0"), val = tensor<int32, [2]>([1, 1])];
164
+ tensor<int32, []> split_31_axis_0 = const()[name = tensor<string, []>("split_31_axis_0"), val = tensor<int32, []>(0)];
165
+ tensor<fp32, [1, ?, 128]> split_31_0, tensor<fp32, [1, ?, 128]> split_31_1 = split(axis = split_31_axis_0, split_sizes = split_31_split_sizes_0, x = split_1_2)[name = tensor<string, []>("split_31")];
166
+ tensor<int32, []> concat_31_axis_0 = const()[name = tensor<string, []>("concat_31_axis_0"), val = tensor<int32, []>(2)];
167
+ tensor<bool, []> concat_31_interleave_0 = const()[name = tensor<string, []>("concat_31_interleave_0"), val = tensor<bool, []>(false)];
168
+ tensor<fp32, [1, ?, 256]> concat_31 = concat(axis = concat_31_axis_0, interleave = concat_31_interleave_0, values = (split_31_0, split_31_1))[name = tensor<string, []>("concat_31")];
169
+ tensor<int32, [1]> input_25_lstm_layer_2_lstm_c0_reshaped_axes_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_lstm_c0_reshaped_axes_0"), val = tensor<int32, [1]>([0])];
170
+ tensor<fp32, [?, 256]> input_25_lstm_layer_2_lstm_c0_reshaped = squeeze(axes = input_25_lstm_layer_2_lstm_c0_reshaped_axes_0, x = concat_31)[name = tensor<string, []>("input_25_lstm_layer_2_lstm_c0_reshaped")];
171
  tensor<string, []> input_25_lstm_layer_2_direction_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_direction_0"), val = tensor<string, []>("bidirectional")];
172
  tensor<bool, []> input_25_lstm_layer_2_output_sequence_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_output_sequence_0"), val = tensor<bool, []>(true)];
173
  tensor<string, []> input_25_lstm_layer_2_recurrent_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
174
  tensor<string, []> input_25_lstm_layer_2_cell_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_cell_activation_0"), val = tensor<string, []>("tanh")];
175
  tensor<string, []> input_25_lstm_layer_2_activation_0 = const()[name = tensor<string, []>("input_25_lstm_layer_2_activation_0"), val = tensor<string, []>("tanh")];
176
+ tensor<fp32, [589, ?, 256]> input_25_lstm_layer_2_0, tensor<fp32, [?, 256]> input_25_lstm_layer_2_1, tensor<fp32, [?, 256]> input_25_lstm_layer_2_2 = lstm(activation = input_25_lstm_layer_2_activation_0, bias = add_4, bias_back = add_5, cell_activation = input_25_lstm_layer_2_cell_activation_0, direction = input_25_lstm_layer_2_direction_0, initial_c = input_25_lstm_layer_2_lstm_c0_reshaped, initial_h = input_25_lstm_layer_2_lstm_h0_reshaped, output_sequence = input_25_lstm_layer_2_output_sequence_0, recurrent_activation = input_25_lstm_layer_2_recurrent_activation_0, weight_hh = concat_27, weight_hh_back = concat_29, weight_ih = concat_26, weight_ih_back = concat_28, x = input_25_lstm_layer_1_0)[name = tensor<string, []>("input_25_lstm_layer_2")];
177
+ tensor<fp32, [512]> add_6 = const()[name = tensor<string, []>("add_6"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4382016)))];
178
+ tensor<fp32, [512]> add_7 = const()[name = tensor<string, []>("add_7"), val = tensor<fp32, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4384128)))];
179
+ tensor<fp32, [512, 256]> concat_36 = const()[name = tensor<string, []>("concat_36"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4386240)))];
180
+ tensor<fp32, [512, 128]> concat_37 = const()[name = tensor<string, []>("concat_37"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4910592)))];
181
+ tensor<fp32, [512, 256]> concat_38 = const()[name = tensor<string, []>("concat_38"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(5172800)))];
182
+ tensor<fp32, [512, 128]> concat_39 = const()[name = tensor<string, []>("concat_39"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(5697152)))];
183
+ tensor<int32, [2]> split_40_split_sizes_0 = const()[name = tensor<string, []>("split_40_split_sizes_0"), val = tensor<int32, [2]>([1, 1])];
184
+ tensor<int32, []> split_40_axis_0 = const()[name = tensor<string, []>("split_40_axis_0"), val = tensor<int32, []>(0)];
185
+ tensor<fp32, [1, ?, 128]> split_40_0, tensor<fp32, [1, ?, 128]> split_40_1 = split(axis = split_40_axis_0, split_sizes = split_40_split_sizes_0, x = split_0_3)[name = tensor<string, []>("split_40")];
186
+ tensor<int32, []> concat_40_axis_0 = const()[name = tensor<string, []>("concat_40_axis_0"), val = tensor<int32, []>(2)];
187
+ tensor<bool, []> concat_40_interleave_0 = const()[name = tensor<string, []>("concat_40_interleave_0"), val = tensor<bool, []>(false)];
188
+ tensor<fp32, [1, ?, 256]> concat_40 = concat(axis = concat_40_axis_0, interleave = concat_40_interleave_0, values = (split_40_0, split_40_1))[name = tensor<string, []>("concat_40")];
189
+ tensor<int32, [1]> input_25_batch_first_lstm_h0_reshaped_axes_0 = const()[name = tensor<string, []>("input_25_batch_first_lstm_h0_reshaped_axes_0"), val = tensor<int32, [1]>([0])];
190
+ tensor<fp32, [?, 256]> input_25_batch_first_lstm_h0_reshaped = squeeze(axes = input_25_batch_first_lstm_h0_reshaped_axes_0, x = concat_40)[name = tensor<string, []>("input_25_batch_first_lstm_h0_reshaped")];
191
+ tensor<int32, [2]> split_41_split_sizes_0 = const()[name = tensor<string, []>("split_41_split_sizes_0"), val = tensor<int32, [2]>([1, 1])];
192
+ tensor<int32, []> split_41_axis_0 = const()[name = tensor<string, []>("split_41_axis_0"), val = tensor<int32, []>(0)];
193
+ tensor<fp32, [1, ?, 128]> split_41_0, tensor<fp32, [1, ?, 128]> split_41_1 = split(axis = split_41_axis_0, split_sizes = split_41_split_sizes_0, x = split_1_3)[name = tensor<string, []>("split_41")];
194
+ tensor<int32, []> concat_41_axis_0 = const()[name = tensor<string, []>("concat_41_axis_0"), val = tensor<int32, []>(2)];
195
+ tensor<bool, []> concat_41_interleave_0 = const()[name = tensor<string, []>("concat_41_interleave_0"), val = tensor<bool, []>(false)];
196
+ tensor<fp32, [1, ?, 256]> concat_41 = concat(axis = concat_41_axis_0, interleave = concat_41_interleave_0, values = (split_41_0, split_41_1))[name = tensor<string, []>("concat_41")];
197
+ tensor<int32, [1]> input_25_batch_first_lstm_c0_reshaped_axes_0 = const()[name = tensor<string, []>("input_25_batch_first_lstm_c0_reshaped_axes_0"), val = tensor<int32, [1]>([0])];
198
+ tensor<fp32, [?, 256]> input_25_batch_first_lstm_c0_reshaped = squeeze(axes = input_25_batch_first_lstm_c0_reshaped_axes_0, x = concat_41)[name = tensor<string, []>("input_25_batch_first_lstm_c0_reshaped")];
199
  tensor<string, []> input_25_batch_first_direction_0 = const()[name = tensor<string, []>("input_25_batch_first_direction_0"), val = tensor<string, []>("bidirectional")];
200
  tensor<bool, []> input_25_batch_first_output_sequence_0 = const()[name = tensor<string, []>("input_25_batch_first_output_sequence_0"), val = tensor<bool, []>(true)];
201
  tensor<string, []> input_25_batch_first_recurrent_activation_0 = const()[name = tensor<string, []>("input_25_batch_first_recurrent_activation_0"), val = tensor<string, []>("sigmoid")];
202
  tensor<string, []> input_25_batch_first_cell_activation_0 = const()[name = tensor<string, []>("input_25_batch_first_cell_activation_0"), val = tensor<string, []>("tanh")];
203
  tensor<string, []> input_25_batch_first_activation_0 = const()[name = tensor<string, []>("input_25_batch_first_activation_0"), val = tensor<string, []>("tanh")];
204
+ tensor<fp32, [589, ?, 256]> input_25_batch_first_0, tensor<fp32, [?, 256]> input_25_batch_first_1, tensor<fp32, [?, 256]> input_25_batch_first_2 = lstm(activation = input_25_batch_first_activation_0, bias = add_6, bias_back = add_7, cell_activation = input_25_batch_first_cell_activation_0, direction = input_25_batch_first_direction_0, initial_c = input_25_batch_first_lstm_c0_reshaped, initial_h = input_25_batch_first_lstm_h0_reshaped, output_sequence = input_25_batch_first_output_sequence_0, recurrent_activation = input_25_batch_first_recurrent_activation_0, weight_hh = concat_37, weight_hh_back = concat_39, weight_ih = concat_36, weight_ih_back = concat_38, x = input_25_lstm_layer_2_0)[name = tensor<string, []>("input_25_batch_first")];
205
  tensor<int32, [3]> input_25_perm_0 = const()[name = tensor<string, []>("input_25_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
206
+ tensor<fp32, [?, 589, 256]> input_25 = transpose(perm = input_25_perm_0, x = input_25_batch_first_0)[name = tensor<string, []>("transpose_4")];
207
+ tensor<fp32, [?, 589, 128]> input_27 = linear(bias = linear_0_bias, weight = linear_0_weight, x = input_25)[name = tensor<string, []>("linear_0")];
208
  tensor<fp32, []> var_220 = const()[name = tensor<string, []>("op_220"), val = tensor<fp32, []>(0x1.47ae14p-7)];
209
+ tensor<fp32, [?, 589, 128]> input_29 = leaky_relu(alpha = var_220, x = input_27)[name = tensor<string, []>("input_29")];
210
+ tensor<fp32, [?, 589, 128]> input_31 = linear(bias = linear_1_bias, weight = linear_1_weight, x = input_29)[name = tensor<string, []>("linear_1")];
211
  tensor<fp32, []> var_225 = const()[name = tensor<string, []>("op_225"), val = tensor<fp32, []>(0x1.47ae14p-7)];
212
+ tensor<fp32, [?, 589, 128]> input_33 = leaky_relu(alpha = var_225, x = input_31)[name = tensor<string, []>("input_33")];
213
+ tensor<fp32, [?, 589, 7]> input = linear(bias = classifier_bias, weight = classifier_weight, x = input_33)[name = tensor<string, []>("linear_2")];
214
  tensor<int32, []> var_231 = const()[name = tensor<string, []>("op_231"), val = tensor<int32, []>(-1)];
215
+ tensor<fp32, [?, 589, 7]> var_232_softmax = softmax(axis = var_231, x = input)[name = tensor<string, []>("op_232_softmax")];
216
  tensor<fp32, []> var_232_epsilon_0 = const()[name = tensor<string, []>("op_232_epsilon_0"), val = tensor<fp32, []>(0x1p-149)];
217
+ tensor<fp32, [?, 589, 7]> log_probs = log(epsilon = var_232_epsilon_0, x = var_232_softmax)[name = tensor<string, []>("op_232")];
218
  } -> (log_probs);
219
  }
Segmentation.mlmodelc/weights/weight.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:a847db3ca569feb6ed3f3f998a4525bee7481d170a8804cd1b47d28823b5bcc0
3
- size 5960448
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c3189a64946c75bc24fcb98afe89ad78c52bdbadfdf65e857fb1b81e2cc9fbb2
3
+ size 5959360