Add optional ANE-gather variant with 98.2 percent ANE placement
Browse filesPreserve int32 inputs and all trained weights while moving embedding lookup onto ANE. 196/196 reference decisions pass in Python and Swift; maximum probability error 0.002336. Matched median latency is 0.970 ms versus 0.915 ms for the unchanged default, so this variant is opt-in.
- README.md +42 -0
- ane-gather/conversion.json +36 -0
- ane-gather/cua_s1_forms_fp16_options32.mlmodelc/analytics/coremldata.bin +3 -0
- ane-gather/cua_s1_forms_fp16_options32.mlmodelc/coremldata.bin +3 -0
- ane-gather/cua_s1_forms_fp16_options32.mlmodelc/model.mil +404 -0
- ane-gather/cua_s1_forms_fp16_options32.mlmodelc/weights/weight.bin +3 -0
- ane-gather/cua_s1_forms_fp16_options32.mlpackage/Data/com.apple.CoreML/model.mlmodel +3 -0
- ane-gather/cua_s1_forms_fp16_options32.mlpackage/Data/com.apple.CoreML/weights/weight.bin +3 -0
- ane-gather/cua_s1_forms_fp16_options32.mlpackage/Manifest.json +18 -0
- checksums.json +14 -1
- reports/ane-comparison.json +784 -0
- reports/ane-gather-fallback.json +38 -0
- reports/ane-gather-profile.json +0 -0
- reports/ane-gather-verification.json +3314 -0
- reports/swift-ane-validation.json +12 -0
README.md
CHANGED
|
@@ -177,6 +177,48 @@ assignments, individual timings, hashes, and the protocol;
|
|
| 177 |
Reproduce with `uv run --frozen python profile-coreml.py` in the
|
| 178 |
[Mobius conversion directory](https://github.com/FluidInference/mobius/tree/codex/cua-s1-forms/models/computer-use/cua-s1-forms/coreml).
|
| 179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 180 |
## Application responsibilities
|
| 181 |
|
| 182 |
The application must extract document entities, describe UI elements, build
|
|
|
|
| 177 |
Reproduce with `uv run --frozen python profile-coreml.py` in the
|
| 178 |
[Mobius conversion directory](https://github.com/FluidInference/mobius/tree/codex/cua-s1-forms/models/computer-use/cua-s1-forms/coreml).
|
| 179 |
|
| 180 |
+
## Optional higher-ANE variant
|
| 181 |
+
|
| 182 |
+
The `ane-gather/` directory contains an alternative portable package and compiled
|
| 183 |
+
bundle with the **same int32 inputs and float32 outputs** and all trained weights.
|
| 184 |
+
The variant uses shared float16 mask inputs and unsigned 16-bit embedding indices
|
| 185 |
+
to eliminate negative-index correction and place the gathers on ANE. Valid byte
|
| 186 |
+
IDs 0–256 remain exact. It is **1,509,491 bytes** as a portable package.
|
| 187 |
+
|
| 188 |
+
On this M5 Pro, the scheduler plan is **162 ANE operations and 3 CPU input casts
|
| 189 |
+
(98.2% ANE)** for both `CPU_AND_NE` and `ALL`. The default model has 149 ANE and
|
| 190 |
+
24 CPU operations (86.1%) under `CPU_AND_NE`. Counts are not runtime or energy
|
| 191 |
+
shares, and host byte encoding still runs outside the model.
|
| 192 |
+
|
| 193 |
+
The optional variant passes **196/196 decisions** against upstream on `ALL` and
|
| 194 |
+
`CPU_AND_NE`, with maximum probability error **0.002336** under the unchanged
|
| 195 |
+
0.005 tolerance. **28 Python regression tests** pass, including all byte-ID
|
| 196 |
+
boundaries, full option capacity, truncation, and reordered choices. The Swift
|
| 197 |
+
manager independently passes all 196 reference decisions, compiled-cache loading,
|
| 198 |
+
and concurrent/reordered requests; the native demo passes its three-form checks.
|
| 199 |
+
|
| 200 |
+
A matched same-process ABBA comparison uses three real inputs and 60 timed calls
|
| 201 |
+
per model after warmup:
|
| 202 |
+
|
| 203 |
+
| Artifact | CPU ops | ANE ops | Warm p50 | Warm p95 |
|
| 204 |
+
| --- | ---: | ---: | ---: | ---: |
|
| 205 |
+
| Root/default | 24 | 149 | 0.915 ms | 0.968 ms |
|
| 206 |
+
| `ane-gather/` | 3 | 162 | 0.970 ms | 0.988 ms |
|
| 207 |
+
|
| 208 |
+
Higher ANE placement is about **6% slower** in this local comparison, so the
|
| 209 |
+
root/default artifact remains unchanged. No energy or CPU-time saving is claimed.
|
| 210 |
+
The original input names, dtypes, shapes, and byte encoding still apply. Load
|
| 211 |
+
`ane-gather/cua_s1_forms_fp16_options32.mlpackage` with the existing Python or
|
| 212 |
+
Swift APIs, or pass its local path to the Swift demo's `--model` argument.
|
| 213 |
+
|
| 214 |
+
Reports: [parity](reports/ane-gather-verification.json),
|
| 215 |
+
[Swift validation](reports/swift-ane-validation.json),
|
| 216 |
+
[compute plans](reports/ane-gather-profile.json),
|
| 217 |
+
[fallbacks](reports/ane-gather-fallback.json), and
|
| 218 |
+
[matched comparison](reports/ane-comparison.json). Reproduce with
|
| 219 |
+
`uv run --frozen python convert-coreml.py --optimization ane-gather --output-dir build/ane-gather`
|
| 220 |
+
in the [Mobius conversion directory](https://github.com/FluidInference/mobius/tree/codex/cua-s1-forms/models/computer-use/cua-s1-forms/coreml#optional-higher-ane-variant).
|
| 221 |
+
|
| 222 |
## Application responsibilities
|
| 223 |
|
| 224 |
The application must extract document entities, describe UI elements, build
|
ane-gather/conversion.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": "cua_s1_forms_fp16_options32.mlpackage",
|
| 3 |
+
"precision": "float16",
|
| 4 |
+
"optimization": "ane-gather",
|
| 5 |
+
"minimum_target": "iOS17/macOS14",
|
| 6 |
+
"limits": {
|
| 7 |
+
"context_bytes": 224,
|
| 8 |
+
"option_bytes": 96,
|
| 9 |
+
"max_options": 32
|
| 10 |
+
},
|
| 11 |
+
"model_config": {
|
| 12 |
+
"context_tokens": 224,
|
| 13 |
+
"encoder": "tinyx",
|
| 14 |
+
"heads": 4,
|
| 15 |
+
"hf_model": "Qwen/Qwen2.5-0.5B",
|
| 16 |
+
"layers": 2,
|
| 17 |
+
"option_tokens": 96,
|
| 18 |
+
"rank": 128,
|
| 19 |
+
"width": 128
|
| 20 |
+
},
|
| 21 |
+
"parameters": 706048,
|
| 22 |
+
"assets_lock_sha256": "8e65ad70af6bb814b571cdcfe828ba4bc339147da2d2211cbeac416163ef18ba",
|
| 23 |
+
"model_revision": "f54adbf447f4ca6ec259f529ee3f2e3e09f8cc71",
|
| 24 |
+
"source_revision": "83f142c4290a0f7d9ed545ae8532858c6e4f8145",
|
| 25 |
+
"trace_row": 0,
|
| 26 |
+
"trace_dataset_revision": "8273f34778b99ac2e12d9f6e7d57dad99ae20845",
|
| 27 |
+
"export_seconds": 0.6771400420111604,
|
| 28 |
+
"python": "3.11.11",
|
| 29 |
+
"torch": "2.7.0",
|
| 30 |
+
"coremltools": "9.0",
|
| 31 |
+
"package_files": {
|
| 32 |
+
"Data/com.apple.CoreML/model.mlmodel": "de18e313c3b625e35d008ed8b6b24108edc6df7bf2fae9533af03519eca11b63",
|
| 33 |
+
"Data/com.apple.CoreML/weights/weight.bin": "4da9259f798e44f5a1b50769ee1916fd3747c4d723dd9997b516c7fe238c7895",
|
| 34 |
+
"Manifest.json": "38f812a04eb2322080634ba788c61df362336168466ca67e5549058d346ac793"
|
| 35 |
+
}
|
| 36 |
+
}
|
ane-gather/cua_s1_forms_fp16_options32.mlmodelc/analytics/coremldata.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:526dccb87bdc036df1e8add0b50dd6540db534808fc2f8caa97cd897b4fc1fa3
|
| 3 |
+
size 243
|
ane-gather/cua_s1_forms_fp16_options32.mlmodelc/coremldata.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0f2a8ed9fe8abcc39c7ee0575e2562d589d459683b92708fa9788b533be3038b
|
| 3 |
+
size 876
|
ane-gather/cua_s1_forms_fp16_options32.mlmodelc/model.mil
ADDED
|
@@ -0,0 +1,404 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
program(1.0)
|
| 2 |
+
[buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3600.16.1"}, {"coremlc-version", "3600.25.2"}, {"coremltools-component-milinternal", ""}, {"coremltools-version", "9.0"}})]
|
| 3 |
+
{
|
| 4 |
+
func main<ios17>(tensor<int32, [1, 224]> context_ids, tensor<int32, [1, 32, 96]> option_ids, tensor<int32, [1, 32]> option_mask) {
|
| 5 |
+
tensor<string, []> mask_options_to_fp16_dtype_0 = const()[name = tensor<string, []>("mask_options_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
|
| 6 |
+
tensor<fp16, []> var_29_promoted_to_fp16 = const()[name = tensor<string, []>("op_29_promoted_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
|
| 7 |
+
tensor<fp16, [1, 32]> option_mask_to_fp16 = cast(dtype = mask_options_to_fp16_dtype_0, x = option_mask)[name = tensor<string, []>("cast_68")];
|
| 8 |
+
tensor<bool, [1, 32]> option_mask_cast_fp16 = not_equal(x = option_mask_to_fp16, y = var_29_promoted_to_fp16)[name = tensor<string, []>("option_mask_cast_fp16")];
|
| 9 |
+
tensor<string, []> mask_context_ids_to_fp16_dtype_0 = const()[name = tensor<string, []>("mask_context_ids_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
|
| 10 |
+
tensor<fp16, []> var_31_promoted_to_fp16 = const()[name = tensor<string, []>("op_31_promoted_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
|
| 11 |
+
tensor<fp16, [1, 224]> context_ids_to_fp16 = cast(dtype = mask_context_ids_to_fp16_dtype_0, x = context_ids)[name = tensor<string, []>("cast_67")];
|
| 12 |
+
tensor<bool, [1, 224]> context_mask_cast_fp16 = not_equal(x = context_ids_to_fp16, y = var_31_promoted_to_fp16)[name = tensor<string, []>("context_mask_cast_fp16")];
|
| 13 |
+
tensor<int32, [2]> var_42_begin_0 = const()[name = tensor<string, []>("op_42_begin_0"), val = tensor<int32, [2]>([0, 0])];
|
| 14 |
+
tensor<int32, [2]> var_42_end_0 = const()[name = tensor<string, []>("op_42_end_0"), val = tensor<int32, [2]>([1, 1])];
|
| 15 |
+
tensor<bool, [2]> var_42_end_mask_0 = const()[name = tensor<string, []>("op_42_end_mask_0"), val = tensor<bool, [2]>([true, false])];
|
| 16 |
+
tensor<fp16, [1, 1]> var_42_cast_fp16 = slice_by_index(begin = var_42_begin_0, end = var_42_end_0, end_mask = var_42_end_mask_0, x = context_ids_to_fp16)[name = tensor<string, []>("op_42_cast_fp16")];
|
| 17 |
+
tensor<fp16, []> fill_like_0_value_0_to_fp16 = const()[name = tensor<string, []>("fill_like_0_value_0_to_fp16"), val = tensor<fp16, []>(0x1p+0)];
|
| 18 |
+
tensor<fp16, [1, 1]> fill_like_0_cast_fp16 = fill_like(ref_tensor = var_42_cast_fp16, value = fill_like_0_value_0_to_fp16)[name = tensor<string, []>("fill_like_0_cast_fp16")];
|
| 19 |
+
tensor<int32, [2]> var_58_begin_0 = const()[name = tensor<string, []>("op_58_begin_0"), val = tensor<int32, [2]>([0, 1])];
|
| 20 |
+
tensor<int32, [2]> var_58_end_0 = const()[name = tensor<string, []>("op_58_end_0"), val = tensor<int32, [2]>([1, 224])];
|
| 21 |
+
tensor<bool, [2]> var_58_end_mask_0 = const()[name = tensor<string, []>("op_58_end_mask_0"), val = tensor<bool, [2]>([true, true])];
|
| 22 |
+
tensor<fp16, [1, 223]> var_58_cast_fp16 = slice_by_index(begin = var_58_begin_0, end = var_58_end_0, end_mask = var_58_end_mask_0, x = context_ids_to_fp16)[name = tensor<string, []>("op_58_cast_fp16")];
|
| 23 |
+
tensor<int32, []> var_60 = const()[name = tensor<string, []>("op_60"), val = tensor<int32, []>(1)];
|
| 24 |
+
tensor<bool, []> safe_context_ids_interleave_0 = const()[name = tensor<string, []>("safe_context_ids_interleave_0"), val = tensor<bool, []>(false)];
|
| 25 |
+
tensor<fp16, [1, 224]> safe_context_ids_cast_fp16 = concat(axis = var_60, interleave = safe_context_ids_interleave_0, values = (fill_like_0_cast_fp16, var_58_cast_fp16))[name = tensor<string, []>("safe_context_ids_cast_fp16")];
|
| 26 |
+
tensor<fp16, [257, 128]> model_embedding_weight_to_fp16 = const()[name = tensor<string, []>("model_embedding_weight_to_fp16"), val = tensor<fp16, [257, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64)))];
|
| 27 |
+
tensor<string, []> cast_0_dtype_0 = const()[name = tensor<string, []>("cast_0_dtype_0"), val = tensor<string, []>("uint16")];
|
| 28 |
+
tensor<uint16, [1, 224]> cast_0 = cast(dtype = cast_0_dtype_0, x = context_ids_to_fp16)[name = tensor<string, []>("cast_0")];
|
| 29 |
+
tensor<int32, []> gather_0_axis_0 = const()[name = tensor<string, []>("gather_0_axis_0"), val = tensor<int32, []>(0)];
|
| 30 |
+
tensor<int32, []> gather_0_batch_dims_0 = const()[name = tensor<string, []>("gather_0_batch_dims_0"), val = tensor<int32, []>(0)];
|
| 31 |
+
tensor<bool, []> gather_0_validate_indices_0 = const()[name = tensor<string, []>("gather_0_validate_indices_0"), val = tensor<bool, []>(false)];
|
| 32 |
+
tensor<fp16, [1, 224, 128]> gather_0 = gather(axis = gather_0_axis_0, batch_dims = gather_0_batch_dims_0, indices = cast_0, validate_indices = gather_0_validate_indices_0, x = model_embedding_weight_to_fp16)[name = tensor<string, []>("gather_0")];
|
| 33 |
+
tensor<fp16, [224, 128]> model_position_weight_to_fp16 = const()[name = tensor<string, []>("model_position_weight_to_fp16"), val = tensor<fp16, [224, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(65920)))];
|
| 34 |
+
tensor<fp16, [1, 224, 128]> src_1_cast_fp16 = add(x = gather_0, y = model_position_weight_to_fp16)[name = tensor<string, []>("src_1_cast_fp16")];
|
| 35 |
+
tensor<fp16, []> var_81_promoted_to_fp16 = const()[name = tensor<string, []>("op_81_promoted_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
|
| 36 |
+
tensor<bool, [1, 224]> mask_1_cast_fp16 = equal(x = safe_context_ids_cast_fp16, y = var_81_promoted_to_fp16)[name = tensor<string, []>("mask_1_cast_fp16")];
|
| 37 |
+
tensor<fp16, []> var_97_to_fp16 = const()[name = tensor<string, []>("op_97_to_fp16"), val = tensor<fp16, []>(-inf)];
|
| 38 |
+
tensor<fp16, [1, 224]> var_105_to_fp16 = const()[name = tensor<string, []>("op_105_to_fp16"), val = tensor<fp16, [1, 224]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(123328)))];
|
| 39 |
+
tensor<fp16, [1, 224]> key_padding_mask_1_cast_fp16 = select(a = var_97_to_fp16, b = var_105_to_fp16, cond = mask_1_cast_fp16)[name = tensor<string, []>("key_padding_mask_1_cast_fp16")];
|
| 40 |
+
tensor<int32, [1]> query_1_axes_0 = const()[name = tensor<string, []>("query_1_axes_0"), val = tensor<int32, [1]>([-1])];
|
| 41 |
+
tensor<fp16, [128]> model_encoder_layers_0_norm1_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_norm1_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(123840)))];
|
| 42 |
+
tensor<fp16, [128]> model_encoder_layers_0_norm1_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_norm1_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(124160)))];
|
| 43 |
+
tensor<fp16, []> var_84_to_fp16 = const()[name = tensor<string, []>("op_84_to_fp16"), val = tensor<fp16, []>(0x1.5p-17)];
|
| 44 |
+
tensor<fp16, [1, 224, 128]> query_1_cast_fp16 = layer_norm(axes = query_1_axes_0, beta = model_encoder_layers_0_norm1_bias_to_fp16, epsilon = var_84_to_fp16, gamma = model_encoder_layers_0_norm1_weight_to_fp16, x = src_1_cast_fp16)[name = tensor<string, []>("query_1_cast_fp16")];
|
| 45 |
+
tensor<int32, [3]> query_3_perm_0 = const()[name = tensor<string, []>("query_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 46 |
+
tensor<fp16, [384, 128]> model_encoder_layers_0_self_attn_in_proj_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_self_attn_in_proj_weight_to_fp16"), val = tensor<fp16, [384, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(124480)))];
|
| 47 |
+
tensor<fp16, [384]> model_encoder_layers_0_self_attn_in_proj_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_self_attn_in_proj_bias_to_fp16"), val = tensor<fp16, [384]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(222848)))];
|
| 48 |
+
tensor<fp16, [224, 1, 128]> query_3_cast_fp16 = transpose(perm = query_3_perm_0, x = query_1_cast_fp16)[name = tensor<string, []>("transpose_24")];
|
| 49 |
+
tensor<fp16, [224, 1, 384]> linear_0_cast_fp16 = linear(bias = model_encoder_layers_0_self_attn_in_proj_bias_to_fp16, weight = model_encoder_layers_0_self_attn_in_proj_weight_to_fp16, x = query_3_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
|
| 50 |
+
tensor<int32, [4]> concat_0 = const()[name = tensor<string, []>("concat_0"), val = tensor<int32, [4]>([224, 1, 3, 128])];
|
| 51 |
+
tensor<fp16, [224, 1, 3, 128]> var_139_cast_fp16 = reshape(shape = concat_0, x = linear_0_cast_fp16)[name = tensor<string, []>("op_139_cast_fp16")];
|
| 52 |
+
tensor<int32, [1]> var_140_axes_0 = const()[name = tensor<string, []>("op_140_axes_0"), val = tensor<int32, [1]>([0])];
|
| 53 |
+
tensor<fp16, [1, 224, 1, 3, 128]> var_140_cast_fp16 = expand_dims(axes = var_140_axes_0, x = var_139_cast_fp16)[name = tensor<string, []>("op_140_cast_fp16")];
|
| 54 |
+
tensor<int32, [5]> var_141_perm_0 = const()[name = tensor<string, []>("op_141_perm_0"), val = tensor<int32, [5]>([-2, 1, 2, 0, 4])];
|
| 55 |
+
tensor<int32, [1]> var_142_axes_0 = const()[name = tensor<string, []>("op_142_axes_0"), val = tensor<int32, [1]>([-2])];
|
| 56 |
+
tensor<fp16, [3, 224, 1, 1, 128]> var_141_cast_fp16 = transpose(perm = var_141_perm_0, x = var_140_cast_fp16)[name = tensor<string, []>("transpose_23")];
|
| 57 |
+
tensor<fp16, [3, 224, 1, 128]> var_142_cast_fp16 = squeeze(axes = var_142_axes_0, x = var_141_cast_fp16)[name = tensor<string, []>("op_142_cast_fp16")];
|
| 58 |
+
tensor<int32, [4]> q_1_begin_0 = const()[name = tensor<string, []>("q_1_begin_0"), val = tensor<int32, [4]>([0, 0, 0, 0])];
|
| 59 |
+
tensor<int32, [4]> q_1_end_0 = const()[name = tensor<string, []>("q_1_end_0"), val = tensor<int32, [4]>([1, 224, 1, 128])];
|
| 60 |
+
tensor<bool, [4]> q_1_end_mask_0 = const()[name = tensor<string, []>("q_1_end_mask_0"), val = tensor<bool, [4]>([false, true, true, true])];
|
| 61 |
+
tensor<bool, [4]> q_1_squeeze_mask_0 = const()[name = tensor<string, []>("q_1_squeeze_mask_0"), val = tensor<bool, [4]>([true, false, false, false])];
|
| 62 |
+
tensor<fp16, [224, 1, 128]> q_1_cast_fp16 = slice_by_index(begin = q_1_begin_0, end = q_1_end_0, end_mask = q_1_end_mask_0, squeeze_mask = q_1_squeeze_mask_0, x = var_142_cast_fp16)[name = tensor<string, []>("q_1_cast_fp16")];
|
| 63 |
+
tensor<int32, [4]> k_1_begin_0 = const()[name = tensor<string, []>("k_1_begin_0"), val = tensor<int32, [4]>([1, 0, 0, 0])];
|
| 64 |
+
tensor<int32, [4]> k_1_end_0 = const()[name = tensor<string, []>("k_1_end_0"), val = tensor<int32, [4]>([2, 224, 1, 128])];
|
| 65 |
+
tensor<bool, [4]> k_1_end_mask_0 = const()[name = tensor<string, []>("k_1_end_mask_0"), val = tensor<bool, [4]>([false, true, true, true])];
|
| 66 |
+
tensor<bool, [4]> k_1_squeeze_mask_0 = const()[name = tensor<string, []>("k_1_squeeze_mask_0"), val = tensor<bool, [4]>([true, false, false, false])];
|
| 67 |
+
tensor<fp16, [224, 1, 128]> k_1_cast_fp16 = slice_by_index(begin = k_1_begin_0, end = k_1_end_0, end_mask = k_1_end_mask_0, squeeze_mask = k_1_squeeze_mask_0, x = var_142_cast_fp16)[name = tensor<string, []>("k_1_cast_fp16")];
|
| 68 |
+
tensor<int32, [4]> v_1_begin_0 = const()[name = tensor<string, []>("v_1_begin_0"), val = tensor<int32, [4]>([2, 0, 0, 0])];
|
| 69 |
+
tensor<int32, [4]> v_1_end_0 = const()[name = tensor<string, []>("v_1_end_0"), val = tensor<int32, [4]>([3, 224, 1, 128])];
|
| 70 |
+
tensor<bool, [4]> v_1_end_mask_0 = const()[name = tensor<string, []>("v_1_end_mask_0"), val = tensor<bool, [4]>([false, true, true, true])];
|
| 71 |
+
tensor<bool, [4]> v_1_squeeze_mask_0 = const()[name = tensor<string, []>("v_1_squeeze_mask_0"), val = tensor<bool, [4]>([true, false, false, false])];
|
| 72 |
+
tensor<fp16, [224, 1, 128]> v_1_cast_fp16 = slice_by_index(begin = v_1_begin_0, end = v_1_end_0, end_mask = v_1_end_mask_0, squeeze_mask = v_1_squeeze_mask_0, x = var_142_cast_fp16)[name = tensor<string, []>("v_1_cast_fp16")];
|
| 73 |
+
tensor<int32, [3]> var_150 = const()[name = tensor<string, []>("op_150"), val = tensor<int32, [3]>([224, 4, 32])];
|
| 74 |
+
tensor<fp16, [224, 4, 32]> var_151_cast_fp16 = reshape(shape = var_150, x = q_1_cast_fp16)[name = tensor<string, []>("op_151_cast_fp16")];
|
| 75 |
+
tensor<int32, [3]> q_3_perm_0 = const()[name = tensor<string, []>("q_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 76 |
+
tensor<int32, [3]> var_157 = const()[name = tensor<string, []>("op_157"), val = tensor<int32, [3]>([224, 4, 32])];
|
| 77 |
+
tensor<fp16, [224, 4, 32]> var_158_cast_fp16 = reshape(shape = var_157, x = k_1_cast_fp16)[name = tensor<string, []>("op_158_cast_fp16")];
|
| 78 |
+
tensor<int32, [3]> k_3_perm_0 = const()[name = tensor<string, []>("k_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 79 |
+
tensor<int32, [3]> var_164 = const()[name = tensor<string, []>("op_164"), val = tensor<int32, [3]>([224, 4, 32])];
|
| 80 |
+
tensor<fp16, [224, 4, 32]> var_165_cast_fp16 = reshape(shape = var_164, x = v_1_cast_fp16)[name = tensor<string, []>("op_165_cast_fp16")];
|
| 81 |
+
tensor<int32, [3]> v_3_perm_0 = const()[name = tensor<string, []>("v_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 82 |
+
tensor<int32, [4]> var_168 = const()[name = tensor<string, []>("op_168"), val = tensor<int32, [4]>([1, 1, 1, 224])];
|
| 83 |
+
tensor<fp16, [1, 1, 1, 224]> var_169_cast_fp16 = reshape(shape = var_168, x = key_padding_mask_1_cast_fp16)[name = tensor<string, []>("op_169_cast_fp16")];
|
| 84 |
+
tensor<int32, [4]> var_171_reps_0 = const()[name = tensor<string, []>("op_171_reps_0"), val = tensor<int32, [4]>([1, 4, 1, 1])];
|
| 85 |
+
tensor<fp16, [1, 4, 1, 224]> var_171_cast_fp16 = tile(reps = var_171_reps_0, x = var_169_cast_fp16)[name = tensor<string, []>("op_171_cast_fp16")];
|
| 86 |
+
tensor<int32, [4]> var_179 = const()[name = tensor<string, []>("op_179"), val = tensor<int32, [4]>([1, 4, 224, 32])];
|
| 87 |
+
tensor<fp16, [4, 224, 32]> q_3_cast_fp16 = transpose(perm = q_3_perm_0, x = var_151_cast_fp16)[name = tensor<string, []>("transpose_22")];
|
| 88 |
+
tensor<fp16, [1, 4, 224, 32]> q_5_cast_fp16 = reshape(shape = var_179, x = q_3_cast_fp16)[name = tensor<string, []>("q_5_cast_fp16")];
|
| 89 |
+
tensor<int32, [4]> var_181 = const()[name = tensor<string, []>("op_181"), val = tensor<int32, [4]>([1, 4, 224, 32])];
|
| 90 |
+
tensor<fp16, [4, 224, 32]> k_3_cast_fp16 = transpose(perm = k_3_perm_0, x = var_158_cast_fp16)[name = tensor<string, []>("transpose_21")];
|
| 91 |
+
tensor<fp16, [1, 4, 224, 32]> k_5_cast_fp16 = reshape(shape = var_181, x = k_3_cast_fp16)[name = tensor<string, []>("k_5_cast_fp16")];
|
| 92 |
+
tensor<int32, [4]> var_183 = const()[name = tensor<string, []>("op_183"), val = tensor<int32, [4]>([1, 4, 224, 32])];
|
| 93 |
+
tensor<fp16, [4, 224, 32]> v_3_cast_fp16 = transpose(perm = v_3_perm_0, x = var_165_cast_fp16)[name = tensor<string, []>("transpose_20")];
|
| 94 |
+
tensor<fp16, [1, 4, 224, 32]> v_5_cast_fp16 = reshape(shape = var_183, x = v_3_cast_fp16)[name = tensor<string, []>("v_5_cast_fp16")];
|
| 95 |
+
tensor<fp16, []> mul_1_y_0_to_fp16 = const()[name = tensor<string, []>("mul_1_y_0_to_fp16"), val = tensor<fp16, []>(0x1.6ap-3)];
|
| 96 |
+
tensor<fp16, [1, 4, 224, 32]> mul_1_cast_fp16 = mul(x = q_5_cast_fp16, y = mul_1_y_0_to_fp16)[name = tensor<string, []>("mul_1_cast_fp16")];
|
| 97 |
+
tensor<bool, []> matmul_0_transpose_y_0 = const()[name = tensor<string, []>("matmul_0_transpose_y_0"), val = tensor<bool, []>(true)];
|
| 98 |
+
tensor<bool, []> matmul_0_transpose_x_0 = const()[name = tensor<string, []>("matmul_0_transpose_x_0"), val = tensor<bool, []>(false)];
|
| 99 |
+
tensor<fp16, [1, 4, 224, 224]> matmul_0_cast_fp16 = matmul(transpose_x = matmul_0_transpose_x_0, transpose_y = matmul_0_transpose_y_0, x = mul_1_cast_fp16, y = k_5_cast_fp16)[name = tensor<string, []>("matmul_0_cast_fp16")];
|
| 100 |
+
tensor<fp16, [1, 4, 224, 224]> add_0_cast_fp16 = add(x = matmul_0_cast_fp16, y = var_171_cast_fp16)[name = tensor<string, []>("add_0_cast_fp16")];
|
| 101 |
+
tensor<int32, []> softmax_0_axis_0 = const()[name = tensor<string, []>("softmax_0_axis_0"), val = tensor<int32, []>(-1)];
|
| 102 |
+
tensor<fp16, [1, 4, 224, 224]> softmax_0_cast_fp16 = softmax(axis = softmax_0_axis_0, x = add_0_cast_fp16)[name = tensor<string, []>("softmax_0_cast_fp16")];
|
| 103 |
+
tensor<bool, []> attn_output_1_transpose_x_0 = const()[name = tensor<string, []>("attn_output_1_transpose_x_0"), val = tensor<bool, []>(false)];
|
| 104 |
+
tensor<bool, []> attn_output_1_transpose_y_0 = const()[name = tensor<string, []>("attn_output_1_transpose_y_0"), val = tensor<bool, []>(false)];
|
| 105 |
+
tensor<fp16, [1, 4, 224, 32]> attn_output_1_cast_fp16 = matmul(transpose_x = attn_output_1_transpose_x_0, transpose_y = attn_output_1_transpose_y_0, x = softmax_0_cast_fp16, y = v_5_cast_fp16)[name = tensor<string, []>("attn_output_1_cast_fp16")];
|
| 106 |
+
tensor<int32, [4]> var_186 = const()[name = tensor<string, []>("op_186"), val = tensor<int32, [4]>([2, 0, 1, 3])];
|
| 107 |
+
tensor<int32, [2]> var_191 = const()[name = tensor<string, []>("op_191"), val = tensor<int32, [2]>([224, 128])];
|
| 108 |
+
tensor<fp16, [224, 1, 4, 32]> var_187_cast_fp16 = transpose(perm = var_186, x = attn_output_1_cast_fp16)[name = tensor<string, []>("transpose_19")];
|
| 109 |
+
tensor<fp16, [224, 128]> attn_output_3_cast_fp16 = reshape(shape = var_191, x = var_187_cast_fp16)[name = tensor<string, []>("attn_output_3_cast_fp16")];
|
| 110 |
+
tensor<fp16, [128, 128]> model_encoder_layers_0_self_attn_out_proj_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_self_attn_out_proj_weight_to_fp16"), val = tensor<fp16, [128, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(223680)))];
|
| 111 |
+
tensor<fp16, [128]> model_encoder_layers_0_self_attn_out_proj_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_self_attn_out_proj_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(256512)))];
|
| 112 |
+
tensor<fp16, [224, 128]> linear_1_cast_fp16 = linear(bias = model_encoder_layers_0_self_attn_out_proj_bias_to_fp16, weight = model_encoder_layers_0_self_attn_out_proj_weight_to_fp16, x = attn_output_3_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
|
| 113 |
+
tensor<int32, [3]> var_195 = const()[name = tensor<string, []>("op_195"), val = tensor<int32, [3]>([224, 1, 128])];
|
| 114 |
+
tensor<fp16, [224, 1, 128]> attn_output_7_cast_fp16 = reshape(shape = var_195, x = linear_1_cast_fp16)[name = tensor<string, []>("attn_output_7_cast_fp16")];
|
| 115 |
+
tensor<int32, [3]> input_3_perm_0 = const()[name = tensor<string, []>("input_3_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 116 |
+
tensor<fp16, [1, 224, 128]> input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = attn_output_7_cast_fp16)[name = tensor<string, []>("transpose_18")];
|
| 117 |
+
tensor<fp16, [1, 224, 128]> input_5_cast_fp16 = add(x = src_1_cast_fp16, y = input_3_cast_fp16)[name = tensor<string, []>("input_5_cast_fp16")];
|
| 118 |
+
tensor<int32, [1]> input_7_axes_0 = const()[name = tensor<string, []>("input_7_axes_0"), val = tensor<int32, [1]>([-1])];
|
| 119 |
+
tensor<fp16, [128]> model_encoder_layers_0_norm2_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_norm2_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(256832)))];
|
| 120 |
+
tensor<fp16, [128]> model_encoder_layers_0_norm2_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_norm2_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(257152)))];
|
| 121 |
+
tensor<fp16, [1, 224, 128]> input_7_cast_fp16 = layer_norm(axes = input_7_axes_0, beta = model_encoder_layers_0_norm2_bias_to_fp16, epsilon = var_84_to_fp16, gamma = model_encoder_layers_0_norm2_weight_to_fp16, x = input_5_cast_fp16)[name = tensor<string, []>("input_7_cast_fp16")];
|
| 122 |
+
tensor<fp16, [512, 128]> model_encoder_layers_0_linear1_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_linear1_weight_to_fp16"), val = tensor<fp16, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(257472)))];
|
| 123 |
+
tensor<fp16, [512]> model_encoder_layers_0_linear1_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_linear1_bias_to_fp16"), val = tensor<fp16, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(388608)))];
|
| 124 |
+
tensor<fp16, [1, 224, 512]> linear_2_cast_fp16 = linear(bias = model_encoder_layers_0_linear1_bias_to_fp16, weight = model_encoder_layers_0_linear1_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
|
| 125 |
+
tensor<fp16, [1, 224, 512]> input_11_cast_fp16 = relu(x = linear_2_cast_fp16)[name = tensor<string, []>("input_11_cast_fp16")];
|
| 126 |
+
tensor<fp16, [128, 512]> model_encoder_layers_0_linear2_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_linear2_weight_to_fp16"), val = tensor<fp16, [128, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(389696)))];
|
| 127 |
+
tensor<fp16, [128]> model_encoder_layers_0_linear2_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_0_linear2_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(520832)))];
|
| 128 |
+
tensor<fp16, [1, 224, 128]> linear_3_cast_fp16 = linear(bias = model_encoder_layers_0_linear2_bias_to_fp16, weight = model_encoder_layers_0_linear2_weight_to_fp16, x = input_11_cast_fp16)[name = tensor<string, []>("linear_3_cast_fp16")];
|
| 129 |
+
tensor<fp16, [1, 224, 128]> input_17_cast_fp16 = add(x = input_5_cast_fp16, y = linear_3_cast_fp16)[name = tensor<string, []>("input_17_cast_fp16")];
|
| 130 |
+
tensor<int32, [1]> query_5_axes_0 = const()[name = tensor<string, []>("query_5_axes_0"), val = tensor<int32, [1]>([-1])];
|
| 131 |
+
tensor<fp16, [128]> model_encoder_layers_1_norm1_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_norm1_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(521152)))];
|
| 132 |
+
tensor<fp16, [128]> model_encoder_layers_1_norm1_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_norm1_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(521472)))];
|
| 133 |
+
tensor<fp16, [1, 224, 128]> query_5_cast_fp16 = layer_norm(axes = query_5_axes_0, beta = model_encoder_layers_1_norm1_bias_to_fp16, epsilon = var_84_to_fp16, gamma = model_encoder_layers_1_norm1_weight_to_fp16, x = input_17_cast_fp16)[name = tensor<string, []>("query_5_cast_fp16")];
|
| 134 |
+
tensor<int32, [3]> query_7_perm_0 = const()[name = tensor<string, []>("query_7_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 135 |
+
tensor<fp16, [384, 128]> model_encoder_layers_1_self_attn_in_proj_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_self_attn_in_proj_weight_to_fp16"), val = tensor<fp16, [384, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(521792)))];
|
| 136 |
+
tensor<fp16, [384]> model_encoder_layers_1_self_attn_in_proj_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_self_attn_in_proj_bias_to_fp16"), val = tensor<fp16, [384]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(620160)))];
|
| 137 |
+
tensor<fp16, [224, 1, 128]> query_7_cast_fp16 = transpose(perm = query_7_perm_0, x = query_5_cast_fp16)[name = tensor<string, []>("transpose_17")];
|
| 138 |
+
tensor<fp16, [224, 1, 384]> linear_4_cast_fp16 = linear(bias = model_encoder_layers_1_self_attn_in_proj_bias_to_fp16, weight = model_encoder_layers_1_self_attn_in_proj_weight_to_fp16, x = query_7_cast_fp16)[name = tensor<string, []>("linear_4_cast_fp16")];
|
| 139 |
+
tensor<int32, [4]> concat_2 = const()[name = tensor<string, []>("concat_2"), val = tensor<int32, [4]>([224, 1, 3, 128])];
|
| 140 |
+
tensor<fp16, [224, 1, 3, 128]> var_246_cast_fp16 = reshape(shape = concat_2, x = linear_4_cast_fp16)[name = tensor<string, []>("op_246_cast_fp16")];
|
| 141 |
+
tensor<int32, [1]> var_247_axes_0 = const()[name = tensor<string, []>("op_247_axes_0"), val = tensor<int32, [1]>([0])];
|
| 142 |
+
tensor<fp16, [1, 224, 1, 3, 128]> var_247_cast_fp16 = expand_dims(axes = var_247_axes_0, x = var_246_cast_fp16)[name = tensor<string, []>("op_247_cast_fp16")];
|
| 143 |
+
tensor<int32, [5]> var_248_perm_0 = const()[name = tensor<string, []>("op_248_perm_0"), val = tensor<int32, [5]>([-2, 1, 2, 0, 4])];
|
| 144 |
+
tensor<int32, [1]> var_249_axes_0 = const()[name = tensor<string, []>("op_249_axes_0"), val = tensor<int32, [1]>([-2])];
|
| 145 |
+
tensor<fp16, [3, 224, 1, 1, 128]> var_248_cast_fp16 = transpose(perm = var_248_perm_0, x = var_247_cast_fp16)[name = tensor<string, []>("transpose_16")];
|
| 146 |
+
tensor<fp16, [3, 224, 1, 128]> var_249_cast_fp16 = squeeze(axes = var_249_axes_0, x = var_248_cast_fp16)[name = tensor<string, []>("op_249_cast_fp16")];
|
| 147 |
+
tensor<int32, [4]> q_7_begin_0 = const()[name = tensor<string, []>("q_7_begin_0"), val = tensor<int32, [4]>([0, 0, 0, 0])];
|
| 148 |
+
tensor<int32, [4]> q_7_end_0 = const()[name = tensor<string, []>("q_7_end_0"), val = tensor<int32, [4]>([1, 224, 1, 128])];
|
| 149 |
+
tensor<bool, [4]> q_7_end_mask_0 = const()[name = tensor<string, []>("q_7_end_mask_0"), val = tensor<bool, [4]>([false, true, true, true])];
|
| 150 |
+
tensor<bool, [4]> q_7_squeeze_mask_0 = const()[name = tensor<string, []>("q_7_squeeze_mask_0"), val = tensor<bool, [4]>([true, false, false, false])];
|
| 151 |
+
tensor<fp16, [224, 1, 128]> q_7_cast_fp16 = slice_by_index(begin = q_7_begin_0, end = q_7_end_0, end_mask = q_7_end_mask_0, squeeze_mask = q_7_squeeze_mask_0, x = var_249_cast_fp16)[name = tensor<string, []>("q_7_cast_fp16")];
|
| 152 |
+
tensor<int32, [4]> k_7_begin_0 = const()[name = tensor<string, []>("k_7_begin_0"), val = tensor<int32, [4]>([1, 0, 0, 0])];
|
| 153 |
+
tensor<int32, [4]> k_7_end_0 = const()[name = tensor<string, []>("k_7_end_0"), val = tensor<int32, [4]>([2, 224, 1, 128])];
|
| 154 |
+
tensor<bool, [4]> k_7_end_mask_0 = const()[name = tensor<string, []>("k_7_end_mask_0"), val = tensor<bool, [4]>([false, true, true, true])];
|
| 155 |
+
tensor<bool, [4]> k_7_squeeze_mask_0 = const()[name = tensor<string, []>("k_7_squeeze_mask_0"), val = tensor<bool, [4]>([true, false, false, false])];
|
| 156 |
+
tensor<fp16, [224, 1, 128]> k_7_cast_fp16 = slice_by_index(begin = k_7_begin_0, end = k_7_end_0, end_mask = k_7_end_mask_0, squeeze_mask = k_7_squeeze_mask_0, x = var_249_cast_fp16)[name = tensor<string, []>("k_7_cast_fp16")];
|
| 157 |
+
tensor<int32, [4]> v_7_begin_0 = const()[name = tensor<string, []>("v_7_begin_0"), val = tensor<int32, [4]>([2, 0, 0, 0])];
|
| 158 |
+
tensor<int32, [4]> v_7_end_0 = const()[name = tensor<string, []>("v_7_end_0"), val = tensor<int32, [4]>([3, 224, 1, 128])];
|
| 159 |
+
tensor<bool, [4]> v_7_end_mask_0 = const()[name = tensor<string, []>("v_7_end_mask_0"), val = tensor<bool, [4]>([false, true, true, true])];
|
| 160 |
+
tensor<bool, [4]> v_7_squeeze_mask_0 = const()[name = tensor<string, []>("v_7_squeeze_mask_0"), val = tensor<bool, [4]>([true, false, false, false])];
|
| 161 |
+
tensor<fp16, [224, 1, 128]> v_7_cast_fp16 = slice_by_index(begin = v_7_begin_0, end = v_7_end_0, end_mask = v_7_end_mask_0, squeeze_mask = v_7_squeeze_mask_0, x = var_249_cast_fp16)[name = tensor<string, []>("v_7_cast_fp16")];
|
| 162 |
+
tensor<int32, [3]> var_257 = const()[name = tensor<string, []>("op_257"), val = tensor<int32, [3]>([224, 4, 32])];
|
| 163 |
+
tensor<fp16, [224, 4, 32]> var_258_cast_fp16 = reshape(shape = var_257, x = q_7_cast_fp16)[name = tensor<string, []>("op_258_cast_fp16")];
|
| 164 |
+
tensor<int32, [3]> q_9_perm_0 = const()[name = tensor<string, []>("q_9_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 165 |
+
tensor<int32, [3]> var_264 = const()[name = tensor<string, []>("op_264"), val = tensor<int32, [3]>([224, 4, 32])];
|
| 166 |
+
tensor<fp16, [224, 4, 32]> var_265_cast_fp16 = reshape(shape = var_264, x = k_7_cast_fp16)[name = tensor<string, []>("op_265_cast_fp16")];
|
| 167 |
+
tensor<int32, [3]> k_9_perm_0 = const()[name = tensor<string, []>("k_9_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 168 |
+
tensor<int32, [3]> var_271 = const()[name = tensor<string, []>("op_271"), val = tensor<int32, [3]>([224, 4, 32])];
|
| 169 |
+
tensor<fp16, [224, 4, 32]> var_272_cast_fp16 = reshape(shape = var_271, x = v_7_cast_fp16)[name = tensor<string, []>("op_272_cast_fp16")];
|
| 170 |
+
tensor<int32, [3]> v_9_perm_0 = const()[name = tensor<string, []>("v_9_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 171 |
+
tensor<int32, [4]> var_286 = const()[name = tensor<string, []>("op_286"), val = tensor<int32, [4]>([1, 4, 224, 32])];
|
| 172 |
+
tensor<fp16, [4, 224, 32]> q_9_cast_fp16 = transpose(perm = q_9_perm_0, x = var_258_cast_fp16)[name = tensor<string, []>("transpose_15")];
|
| 173 |
+
tensor<fp16, [1, 4, 224, 32]> q_11_cast_fp16 = reshape(shape = var_286, x = q_9_cast_fp16)[name = tensor<string, []>("q_11_cast_fp16")];
|
| 174 |
+
tensor<int32, [4]> var_288 = const()[name = tensor<string, []>("op_288"), val = tensor<int32, [4]>([1, 4, 224, 32])];
|
| 175 |
+
tensor<fp16, [4, 224, 32]> k_9_cast_fp16 = transpose(perm = k_9_perm_0, x = var_265_cast_fp16)[name = tensor<string, []>("transpose_14")];
|
| 176 |
+
tensor<fp16, [1, 4, 224, 32]> k_11_cast_fp16 = reshape(shape = var_288, x = k_9_cast_fp16)[name = tensor<string, []>("k_11_cast_fp16")];
|
| 177 |
+
tensor<int32, [4]> var_290 = const()[name = tensor<string, []>("op_290"), val = tensor<int32, [4]>([1, 4, 224, 32])];
|
| 178 |
+
tensor<fp16, [4, 224, 32]> v_9_cast_fp16 = transpose(perm = v_9_perm_0, x = var_272_cast_fp16)[name = tensor<string, []>("transpose_13")];
|
| 179 |
+
tensor<fp16, [1, 4, 224, 32]> v_11_cast_fp16 = reshape(shape = var_290, x = v_9_cast_fp16)[name = tensor<string, []>("v_11_cast_fp16")];
|
| 180 |
+
tensor<fp16, []> mul_3_y_0_to_fp16 = const()[name = tensor<string, []>("mul_3_y_0_to_fp16"), val = tensor<fp16, []>(0x1.6ap-3)];
|
| 181 |
+
tensor<fp16, [1, 4, 224, 32]> mul_3_cast_fp16 = mul(x = q_11_cast_fp16, y = mul_3_y_0_to_fp16)[name = tensor<string, []>("mul_3_cast_fp16")];
|
| 182 |
+
tensor<bool, []> matmul_1_transpose_y_0 = const()[name = tensor<string, []>("matmul_1_transpose_y_0"), val = tensor<bool, []>(true)];
|
| 183 |
+
tensor<bool, []> matmul_1_transpose_x_0 = const()[name = tensor<string, []>("matmul_1_transpose_x_0"), val = tensor<bool, []>(false)];
|
| 184 |
+
tensor<fp16, [1, 4, 224, 224]> matmul_1_cast_fp16 = matmul(transpose_x = matmul_1_transpose_x_0, transpose_y = matmul_1_transpose_y_0, x = mul_3_cast_fp16, y = k_11_cast_fp16)[name = tensor<string, []>("matmul_1_cast_fp16")];
|
| 185 |
+
tensor<fp16, [1, 4, 224, 224]> add_1_cast_fp16 = add(x = matmul_1_cast_fp16, y = var_171_cast_fp16)[name = tensor<string, []>("add_1_cast_fp16")];
|
| 186 |
+
tensor<int32, []> softmax_1_axis_0 = const()[name = tensor<string, []>("softmax_1_axis_0"), val = tensor<int32, []>(-1)];
|
| 187 |
+
tensor<fp16, [1, 4, 224, 224]> softmax_1_cast_fp16 = softmax(axis = softmax_1_axis_0, x = add_1_cast_fp16)[name = tensor<string, []>("softmax_1_cast_fp16")];
|
| 188 |
+
tensor<bool, []> attn_output_9_transpose_x_0 = const()[name = tensor<string, []>("attn_output_9_transpose_x_0"), val = tensor<bool, []>(false)];
|
| 189 |
+
tensor<bool, []> attn_output_9_transpose_y_0 = const()[name = tensor<string, []>("attn_output_9_transpose_y_0"), val = tensor<bool, []>(false)];
|
| 190 |
+
tensor<fp16, [1, 4, 224, 32]> attn_output_9_cast_fp16 = matmul(transpose_x = attn_output_9_transpose_x_0, transpose_y = attn_output_9_transpose_y_0, x = softmax_1_cast_fp16, y = v_11_cast_fp16)[name = tensor<string, []>("attn_output_9_cast_fp16")];
|
| 191 |
+
tensor<int32, [4]> var_293 = const()[name = tensor<string, []>("op_293"), val = tensor<int32, [4]>([2, 0, 1, 3])];
|
| 192 |
+
tensor<int32, [2]> var_298 = const()[name = tensor<string, []>("op_298"), val = tensor<int32, [2]>([224, 128])];
|
| 193 |
+
tensor<fp16, [224, 1, 4, 32]> var_294_cast_fp16 = transpose(perm = var_293, x = attn_output_9_cast_fp16)[name = tensor<string, []>("transpose_12")];
|
| 194 |
+
tensor<fp16, [224, 128]> attn_output_11_cast_fp16 = reshape(shape = var_298, x = var_294_cast_fp16)[name = tensor<string, []>("attn_output_11_cast_fp16")];
|
| 195 |
+
tensor<fp16, [128, 128]> model_encoder_layers_1_self_attn_out_proj_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_self_attn_out_proj_weight_to_fp16"), val = tensor<fp16, [128, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(620992)))];
|
| 196 |
+
tensor<fp16, [128]> model_encoder_layers_1_self_attn_out_proj_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_self_attn_out_proj_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(653824)))];
|
| 197 |
+
tensor<fp16, [224, 128]> linear_5_cast_fp16 = linear(bias = model_encoder_layers_1_self_attn_out_proj_bias_to_fp16, weight = model_encoder_layers_1_self_attn_out_proj_weight_to_fp16, x = attn_output_11_cast_fp16)[name = tensor<string, []>("linear_5_cast_fp16")];
|
| 198 |
+
tensor<int32, [3]> var_302 = const()[name = tensor<string, []>("op_302"), val = tensor<int32, [3]>([224, 1, 128])];
|
| 199 |
+
tensor<fp16, [224, 1, 128]> attn_output_15_cast_fp16 = reshape(shape = var_302, x = linear_5_cast_fp16)[name = tensor<string, []>("attn_output_15_cast_fp16")];
|
| 200 |
+
tensor<int32, [3]> input_19_perm_0 = const()[name = tensor<string, []>("input_19_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 201 |
+
tensor<fp16, [1, 224, 128]> input_19_cast_fp16 = transpose(perm = input_19_perm_0, x = attn_output_15_cast_fp16)[name = tensor<string, []>("transpose_11")];
|
| 202 |
+
tensor<fp16, [1, 224, 128]> input_21_cast_fp16 = add(x = input_17_cast_fp16, y = input_19_cast_fp16)[name = tensor<string, []>("input_21_cast_fp16")];
|
| 203 |
+
tensor<int32, [1]> input_23_axes_0 = const()[name = tensor<string, []>("input_23_axes_0"), val = tensor<int32, [1]>([-1])];
|
| 204 |
+
tensor<fp16, [128]> model_encoder_layers_1_norm2_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_norm2_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(654144)))];
|
| 205 |
+
tensor<fp16, [128]> model_encoder_layers_1_norm2_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_norm2_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(654464)))];
|
| 206 |
+
tensor<fp16, [1, 224, 128]> input_23_cast_fp16 = layer_norm(axes = input_23_axes_0, beta = model_encoder_layers_1_norm2_bias_to_fp16, epsilon = var_84_to_fp16, gamma = model_encoder_layers_1_norm2_weight_to_fp16, x = input_21_cast_fp16)[name = tensor<string, []>("input_23_cast_fp16")];
|
| 207 |
+
tensor<fp16, [512, 128]> model_encoder_layers_1_linear1_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_linear1_weight_to_fp16"), val = tensor<fp16, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(654784)))];
|
| 208 |
+
tensor<fp16, [512]> model_encoder_layers_1_linear1_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_linear1_bias_to_fp16"), val = tensor<fp16, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(785920)))];
|
| 209 |
+
tensor<fp16, [1, 224, 512]> linear_6_cast_fp16 = linear(bias = model_encoder_layers_1_linear1_bias_to_fp16, weight = model_encoder_layers_1_linear1_weight_to_fp16, x = input_23_cast_fp16)[name = tensor<string, []>("linear_6_cast_fp16")];
|
| 210 |
+
tensor<fp16, [1, 224, 512]> input_27_cast_fp16 = relu(x = linear_6_cast_fp16)[name = tensor<string, []>("input_27_cast_fp16")];
|
| 211 |
+
tensor<fp16, [128, 512]> model_encoder_layers_1_linear2_weight_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_linear2_weight_to_fp16"), val = tensor<fp16, [128, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(787008)))];
|
| 212 |
+
tensor<fp16, [128]> model_encoder_layers_1_linear2_bias_to_fp16 = const()[name = tensor<string, []>("model_encoder_layers_1_linear2_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(918144)))];
|
| 213 |
+
tensor<fp16, [1, 224, 128]> linear_7_cast_fp16 = linear(bias = model_encoder_layers_1_linear2_bias_to_fp16, weight = model_encoder_layers_1_linear2_weight_to_fp16, x = input_27_cast_fp16)[name = tensor<string, []>("linear_7_cast_fp16")];
|
| 214 |
+
tensor<fp16, [1, 224, 128]> context_cast_fp16 = add(x = input_21_cast_fp16, y = linear_7_cast_fp16)[name = tensor<string, []>("context_cast_fp16")];
|
| 215 |
+
tensor<int32, [2]> var_340 = const()[name = tensor<string, []>("op_340"), val = tensor<int32, [2]>([32, 96])];
|
| 216 |
+
tensor<string, []> mask_option_ids_to_fp16_dtype_0 = const()[name = tensor<string, []>("mask_option_ids_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
|
| 217 |
+
tensor<fp16, [1, 32, 96]> option_ids_to_fp16 = cast(dtype = mask_option_ids_to_fp16_dtype_0, x = option_ids)[name = tensor<string, []>("cast_63")];
|
| 218 |
+
tensor<fp16, [32, 96]> mask_flat_ids_cast_fp16 = reshape(shape = var_340, x = option_ids_to_fp16)[name = tensor<string, []>("mask_flat_ids_cast_fp16")];
|
| 219 |
+
tensor<fp16, []> var_342_promoted_to_fp16 = const()[name = tensor<string, []>("op_342_promoted_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
|
| 220 |
+
tensor<bool, [32, 96]> flat_mask_cast_fp16 = not_equal(x = mask_flat_ids_cast_fp16, y = var_342_promoted_to_fp16)[name = tensor<string, []>("flat_mask_cast_fp16")];
|
| 221 |
+
tensor<int32, [2]> var_353_begin_0 = const()[name = tensor<string, []>("op_353_begin_0"), val = tensor<int32, [2]>([0, 0])];
|
| 222 |
+
tensor<int32, [2]> var_353_end_0 = const()[name = tensor<string, []>("op_353_end_0"), val = tensor<int32, [2]>([32, 1])];
|
| 223 |
+
tensor<bool, [2]> var_353_end_mask_0 = const()[name = tensor<string, []>("op_353_end_mask_0"), val = tensor<bool, [2]>([true, false])];
|
| 224 |
+
tensor<fp16, [32, 1]> var_353_cast_fp16 = slice_by_index(begin = var_353_begin_0, end = var_353_end_0, end_mask = var_353_end_mask_0, x = mask_flat_ids_cast_fp16)[name = tensor<string, []>("op_353_cast_fp16")];
|
| 225 |
+
tensor<fp16, []> fill_like_1_value_0_to_fp16 = const()[name = tensor<string, []>("fill_like_1_value_0_to_fp16"), val = tensor<fp16, []>(0x1p+0)];
|
| 226 |
+
tensor<fp16, [32, 1]> fill_like_1_cast_fp16 = fill_like(ref_tensor = var_353_cast_fp16, value = fill_like_1_value_0_to_fp16)[name = tensor<string, []>("fill_like_1_cast_fp16")];
|
| 227 |
+
tensor<int32, [2]> var_369_begin_0 = const()[name = tensor<string, []>("op_369_begin_0"), val = tensor<int32, [2]>([0, 1])];
|
| 228 |
+
tensor<int32, [2]> var_369_end_0 = const()[name = tensor<string, []>("op_369_end_0"), val = tensor<int32, [2]>([32, 96])];
|
| 229 |
+
tensor<bool, [2]> var_369_end_mask_0 = const()[name = tensor<string, []>("op_369_end_mask_0"), val = tensor<bool, [2]>([true, true])];
|
| 230 |
+
tensor<fp16, [32, 95]> var_369_cast_fp16 = slice_by_index(begin = var_369_begin_0, end = var_369_end_0, end_mask = var_369_end_mask_0, x = mask_flat_ids_cast_fp16)[name = tensor<string, []>("op_369_cast_fp16")];
|
| 231 |
+
tensor<int32, []> var_371 = const()[name = tensor<string, []>("op_371"), val = tensor<int32, []>(1)];
|
| 232 |
+
tensor<bool, []> safe_ids_interleave_0 = const()[name = tensor<string, []>("safe_ids_interleave_0"), val = tensor<bool, []>(false)];
|
| 233 |
+
tensor<fp16, [32, 96]> safe_ids_cast_fp16 = concat(axis = var_371, interleave = safe_ids_interleave_0, values = (fill_like_1_cast_fp16, var_369_cast_fp16))[name = tensor<string, []>("safe_ids_cast_fp16")];
|
| 234 |
+
tensor<int32, [2]> reshape_0_shape_0 = const()[name = tensor<string, []>("reshape_0_shape_0"), val = tensor<int32, [2]>([32, 96])];
|
| 235 |
+
tensor<fp16, [32, 96]> reshape_0 = reshape(shape = reshape_0_shape_0, x = option_ids_to_fp16)[name = tensor<string, []>("reshape_0")];
|
| 236 |
+
tensor<string, []> cast_1_dtype_0 = const()[name = tensor<string, []>("cast_1_dtype_0"), val = tensor<string, []>("uint16")];
|
| 237 |
+
tensor<uint16, [32, 96]> cast_1 = cast(dtype = cast_1_dtype_0, x = reshape_0)[name = tensor<string, []>("cast_1")];
|
| 238 |
+
tensor<int32, []> gather_1_axis_0 = const()[name = tensor<string, []>("gather_1_axis_0"), val = tensor<int32, []>(0)];
|
| 239 |
+
tensor<int32, []> gather_1_batch_dims_0 = const()[name = tensor<string, []>("gather_1_batch_dims_0"), val = tensor<int32, []>(0)];
|
| 240 |
+
tensor<bool, []> gather_1_validate_indices_0 = const()[name = tensor<string, []>("gather_1_validate_indices_0"), val = tensor<bool, []>(false)];
|
| 241 |
+
tensor<fp16, [32, 96, 128]> gather_1 = gather(axis = gather_1_axis_0, batch_dims = gather_1_batch_dims_0, indices = cast_1, validate_indices = gather_1_validate_indices_0, x = model_embedding_weight_to_fp16)[name = tensor<string, []>("gather_1")];
|
| 242 |
+
tensor<fp16, [96, 128]> var_389_to_fp16 = const()[name = tensor<string, []>("op_389_to_fp16"), val = tensor<fp16, [96, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(918464)))];
|
| 243 |
+
tensor<fp16, [32, 96, 128]> src_cast_fp16 = add(x = gather_1, y = var_389_to_fp16)[name = tensor<string, []>("src_cast_fp16")];
|
| 244 |
+
tensor<fp16, []> var_392_promoted_to_fp16 = const()[name = tensor<string, []>("op_392_promoted_to_fp16"), val = tensor<fp16, []>(0x0p+0)];
|
| 245 |
+
tensor<bool, [32, 96]> mask_cast_fp16 = equal(x = safe_ids_cast_fp16, y = var_392_promoted_to_fp16)[name = tensor<string, []>("mask_cast_fp16")];
|
| 246 |
+
tensor<fp16, []> var_408_to_fp16 = const()[name = tensor<string, []>("op_408_to_fp16"), val = tensor<fp16, []>(-inf)];
|
| 247 |
+
tensor<fp16, [32, 96]> var_414_to_fp16 = const()[name = tensor<string, []>("op_414_to_fp16"), val = tensor<fp16, [32, 96]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(943104)))];
|
| 248 |
+
tensor<fp16, [32, 96]> key_padding_mask_7_cast_fp16 = select(a = var_408_to_fp16, b = var_414_to_fp16, cond = mask_cast_fp16)[name = tensor<string, []>("key_padding_mask_7_cast_fp16")];
|
| 249 |
+
tensor<int32, [1]> query_9_axes_0 = const()[name = tensor<string, []>("query_9_axes_0"), val = tensor<int32, [1]>([-1])];
|
| 250 |
+
tensor<fp16, [128]> model_option_encoder_layers_0_norm1_weight_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_norm1_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(949312)))];
|
| 251 |
+
tensor<fp16, [128]> model_option_encoder_layers_0_norm1_bias_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_norm1_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(949632)))];
|
| 252 |
+
tensor<fp16, []> var_395_to_fp16 = const()[name = tensor<string, []>("op_395_to_fp16"), val = tensor<fp16, []>(0x1.5p-17)];
|
| 253 |
+
tensor<fp16, [32, 96, 128]> query_9_cast_fp16 = layer_norm(axes = query_9_axes_0, beta = model_option_encoder_layers_0_norm1_bias_to_fp16, epsilon = var_395_to_fp16, gamma = model_option_encoder_layers_0_norm1_weight_to_fp16, x = src_cast_fp16)[name = tensor<string, []>("query_9_cast_fp16")];
|
| 254 |
+
tensor<int32, [3]> query_11_perm_0 = const()[name = tensor<string, []>("query_11_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 255 |
+
tensor<fp16, [384, 128]> model_option_encoder_layers_0_self_attn_in_proj_weight_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_self_attn_in_proj_weight_to_fp16"), val = tensor<fp16, [384, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(949952)))];
|
| 256 |
+
tensor<fp16, [384]> model_option_encoder_layers_0_self_attn_in_proj_bias_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_self_attn_in_proj_bias_to_fp16"), val = tensor<fp16, [384]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1048320)))];
|
| 257 |
+
tensor<fp16, [96, 32, 128]> query_11_cast_fp16 = transpose(perm = query_11_perm_0, x = query_9_cast_fp16)[name = tensor<string, []>("transpose_10")];
|
| 258 |
+
tensor<fp16, [96, 32, 384]> linear_8_cast_fp16 = linear(bias = model_option_encoder_layers_0_self_attn_in_proj_bias_to_fp16, weight = model_option_encoder_layers_0_self_attn_in_proj_weight_to_fp16, x = query_11_cast_fp16)[name = tensor<string, []>("linear_8_cast_fp16")];
|
| 259 |
+
tensor<int32, [4]> concat_4 = const()[name = tensor<string, []>("concat_4"), val = tensor<int32, [4]>([96, 32, 3, 128])];
|
| 260 |
+
tensor<fp16, [96, 32, 3, 128]> var_448_cast_fp16 = reshape(shape = concat_4, x = linear_8_cast_fp16)[name = tensor<string, []>("op_448_cast_fp16")];
|
| 261 |
+
tensor<int32, [1]> var_449_axes_0 = const()[name = tensor<string, []>("op_449_axes_0"), val = tensor<int32, [1]>([0])];
|
| 262 |
+
tensor<fp16, [1, 96, 32, 3, 128]> var_449_cast_fp16 = expand_dims(axes = var_449_axes_0, x = var_448_cast_fp16)[name = tensor<string, []>("op_449_cast_fp16")];
|
| 263 |
+
tensor<int32, [5]> var_450_perm_0 = const()[name = tensor<string, []>("op_450_perm_0"), val = tensor<int32, [5]>([-2, 1, 2, 0, 4])];
|
| 264 |
+
tensor<int32, [1]> var_451_axes_0 = const()[name = tensor<string, []>("op_451_axes_0"), val = tensor<int32, [1]>([-2])];
|
| 265 |
+
tensor<fp16, [3, 96, 32, 1, 128]> var_450_cast_fp16 = transpose(perm = var_450_perm_0, x = var_449_cast_fp16)[name = tensor<string, []>("transpose_9")];
|
| 266 |
+
tensor<fp16, [3, 96, 32, 128]> var_451_cast_fp16 = squeeze(axes = var_451_axes_0, x = var_450_cast_fp16)[name = tensor<string, []>("op_451_cast_fp16")];
|
| 267 |
+
tensor<int32, [4]> q_13_begin_0 = const()[name = tensor<string, []>("q_13_begin_0"), val = tensor<int32, [4]>([0, 0, 0, 0])];
|
| 268 |
+
tensor<int32, [4]> q_13_end_0 = const()[name = tensor<string, []>("q_13_end_0"), val = tensor<int32, [4]>([1, 96, 32, 128])];
|
| 269 |
+
tensor<bool, [4]> q_13_end_mask_0 = const()[name = tensor<string, []>("q_13_end_mask_0"), val = tensor<bool, [4]>([false, true, true, true])];
|
| 270 |
+
tensor<bool, [4]> q_13_squeeze_mask_0 = const()[name = tensor<string, []>("q_13_squeeze_mask_0"), val = tensor<bool, [4]>([true, false, false, false])];
|
| 271 |
+
tensor<fp16, [96, 32, 128]> q_13_cast_fp16 = slice_by_index(begin = q_13_begin_0, end = q_13_end_0, end_mask = q_13_end_mask_0, squeeze_mask = q_13_squeeze_mask_0, x = var_451_cast_fp16)[name = tensor<string, []>("q_13_cast_fp16")];
|
| 272 |
+
tensor<int32, [4]> k_13_begin_0 = const()[name = tensor<string, []>("k_13_begin_0"), val = tensor<int32, [4]>([1, 0, 0, 0])];
|
| 273 |
+
tensor<int32, [4]> k_13_end_0 = const()[name = tensor<string, []>("k_13_end_0"), val = tensor<int32, [4]>([2, 96, 32, 128])];
|
| 274 |
+
tensor<bool, [4]> k_13_end_mask_0 = const()[name = tensor<string, []>("k_13_end_mask_0"), val = tensor<bool, [4]>([false, true, true, true])];
|
| 275 |
+
tensor<bool, [4]> k_13_squeeze_mask_0 = const()[name = tensor<string, []>("k_13_squeeze_mask_0"), val = tensor<bool, [4]>([true, false, false, false])];
|
| 276 |
+
tensor<fp16, [96, 32, 128]> k_13_cast_fp16 = slice_by_index(begin = k_13_begin_0, end = k_13_end_0, end_mask = k_13_end_mask_0, squeeze_mask = k_13_squeeze_mask_0, x = var_451_cast_fp16)[name = tensor<string, []>("k_13_cast_fp16")];
|
| 277 |
+
tensor<int32, [4]> v_13_begin_0 = const()[name = tensor<string, []>("v_13_begin_0"), val = tensor<int32, [4]>([2, 0, 0, 0])];
|
| 278 |
+
tensor<int32, [4]> v_13_end_0 = const()[name = tensor<string, []>("v_13_end_0"), val = tensor<int32, [4]>([3, 96, 32, 128])];
|
| 279 |
+
tensor<bool, [4]> v_13_end_mask_0 = const()[name = tensor<string, []>("v_13_end_mask_0"), val = tensor<bool, [4]>([false, true, true, true])];
|
| 280 |
+
tensor<bool, [4]> v_13_squeeze_mask_0 = const()[name = tensor<string, []>("v_13_squeeze_mask_0"), val = tensor<bool, [4]>([true, false, false, false])];
|
| 281 |
+
tensor<fp16, [96, 32, 128]> v_13_cast_fp16 = slice_by_index(begin = v_13_begin_0, end = v_13_end_0, end_mask = v_13_end_mask_0, squeeze_mask = v_13_squeeze_mask_0, x = var_451_cast_fp16)[name = tensor<string, []>("v_13_cast_fp16")];
|
| 282 |
+
tensor<int32, [3]> var_459 = const()[name = tensor<string, []>("op_459"), val = tensor<int32, [3]>([96, 128, 32])];
|
| 283 |
+
tensor<fp16, [96, 128, 32]> var_460_cast_fp16 = reshape(shape = var_459, x = q_13_cast_fp16)[name = tensor<string, []>("op_460_cast_fp16")];
|
| 284 |
+
tensor<int32, [3]> q_15_perm_0 = const()[name = tensor<string, []>("q_15_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 285 |
+
tensor<int32, [3]> var_466 = const()[name = tensor<string, []>("op_466"), val = tensor<int32, [3]>([96, 128, 32])];
|
| 286 |
+
tensor<fp16, [96, 128, 32]> var_467_cast_fp16 = reshape(shape = var_466, x = k_13_cast_fp16)[name = tensor<string, []>("op_467_cast_fp16")];
|
| 287 |
+
tensor<int32, [3]> k_15_perm_0 = const()[name = tensor<string, []>("k_15_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 288 |
+
tensor<int32, [3]> var_473 = const()[name = tensor<string, []>("op_473"), val = tensor<int32, [3]>([96, 128, 32])];
|
| 289 |
+
tensor<fp16, [96, 128, 32]> var_474_cast_fp16 = reshape(shape = var_473, x = v_13_cast_fp16)[name = tensor<string, []>("op_474_cast_fp16")];
|
| 290 |
+
tensor<int32, [3]> v_15_perm_0 = const()[name = tensor<string, []>("v_15_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 291 |
+
tensor<int32, [4]> var_477 = const()[name = tensor<string, []>("op_477"), val = tensor<int32, [4]>([32, 1, 1, 96])];
|
| 292 |
+
tensor<fp16, [32, 1, 1, 96]> var_478_cast_fp16 = reshape(shape = var_477, x = key_padding_mask_7_cast_fp16)[name = tensor<string, []>("op_478_cast_fp16")];
|
| 293 |
+
tensor<int32, [4]> var_480_reps_0 = const()[name = tensor<string, []>("op_480_reps_0"), val = tensor<int32, [4]>([1, 4, 1, 1])];
|
| 294 |
+
tensor<fp16, [32, 4, 1, 96]> var_480_cast_fp16 = tile(reps = var_480_reps_0, x = var_478_cast_fp16)[name = tensor<string, []>("op_480_cast_fp16")];
|
| 295 |
+
tensor<int32, [4]> var_488 = const()[name = tensor<string, []>("op_488"), val = tensor<int32, [4]>([32, 4, 96, 32])];
|
| 296 |
+
tensor<fp16, [128, 96, 32]> q_15_cast_fp16 = transpose(perm = q_15_perm_0, x = var_460_cast_fp16)[name = tensor<string, []>("transpose_8")];
|
| 297 |
+
tensor<fp16, [32, 4, 96, 32]> q_cast_fp16 = reshape(shape = var_488, x = q_15_cast_fp16)[name = tensor<string, []>("q_cast_fp16")];
|
| 298 |
+
tensor<int32, [4]> var_490 = const()[name = tensor<string, []>("op_490"), val = tensor<int32, [4]>([32, 4, 96, 32])];
|
| 299 |
+
tensor<fp16, [128, 96, 32]> k_15_cast_fp16 = transpose(perm = k_15_perm_0, x = var_467_cast_fp16)[name = tensor<string, []>("transpose_7")];
|
| 300 |
+
tensor<fp16, [32, 4, 96, 32]> k_cast_fp16 = reshape(shape = var_490, x = k_15_cast_fp16)[name = tensor<string, []>("k_cast_fp16")];
|
| 301 |
+
tensor<int32, [4]> var_492 = const()[name = tensor<string, []>("op_492"), val = tensor<int32, [4]>([32, 4, 96, 32])];
|
| 302 |
+
tensor<fp16, [128, 96, 32]> v_15_cast_fp16 = transpose(perm = v_15_perm_0, x = var_474_cast_fp16)[name = tensor<string, []>("transpose_6")];
|
| 303 |
+
tensor<fp16, [32, 4, 96, 32]> v_cast_fp16 = reshape(shape = var_492, x = v_15_cast_fp16)[name = tensor<string, []>("v_cast_fp16")];
|
| 304 |
+
tensor<fp16, []> mul_5_y_0_to_fp16 = const()[name = tensor<string, []>("mul_5_y_0_to_fp16"), val = tensor<fp16, []>(0x1.6ap-3)];
|
| 305 |
+
tensor<fp16, [32, 4, 96, 32]> mul_5_cast_fp16 = mul(x = q_cast_fp16, y = mul_5_y_0_to_fp16)[name = tensor<string, []>("mul_5_cast_fp16")];
|
| 306 |
+
tensor<bool, []> matmul_2_transpose_y_0 = const()[name = tensor<string, []>("matmul_2_transpose_y_0"), val = tensor<bool, []>(true)];
|
| 307 |
+
tensor<bool, []> matmul_2_transpose_x_0 = const()[name = tensor<string, []>("matmul_2_transpose_x_0"), val = tensor<bool, []>(false)];
|
| 308 |
+
tensor<fp16, [32, 4, 96, 96]> matmul_2_cast_fp16 = matmul(transpose_x = matmul_2_transpose_x_0, transpose_y = matmul_2_transpose_y_0, x = mul_5_cast_fp16, y = k_cast_fp16)[name = tensor<string, []>("matmul_2_cast_fp16")];
|
| 309 |
+
tensor<fp16, [32, 4, 96, 96]> add_2_cast_fp16 = add(x = matmul_2_cast_fp16, y = var_480_cast_fp16)[name = tensor<string, []>("add_2_cast_fp16")];
|
| 310 |
+
tensor<int32, []> softmax_2_axis_0 = const()[name = tensor<string, []>("softmax_2_axis_0"), val = tensor<int32, []>(-1)];
|
| 311 |
+
tensor<fp16, [32, 4, 96, 96]> softmax_2_cast_fp16 = softmax(axis = softmax_2_axis_0, x = add_2_cast_fp16)[name = tensor<string, []>("softmax_2_cast_fp16")];
|
| 312 |
+
tensor<bool, []> attn_output_17_transpose_x_0 = const()[name = tensor<string, []>("attn_output_17_transpose_x_0"), val = tensor<bool, []>(false)];
|
| 313 |
+
tensor<bool, []> attn_output_17_transpose_y_0 = const()[name = tensor<string, []>("attn_output_17_transpose_y_0"), val = tensor<bool, []>(false)];
|
| 314 |
+
tensor<fp16, [32, 4, 96, 32]> attn_output_17_cast_fp16 = matmul(transpose_x = attn_output_17_transpose_x_0, transpose_y = attn_output_17_transpose_y_0, x = softmax_2_cast_fp16, y = v_cast_fp16)[name = tensor<string, []>("attn_output_17_cast_fp16")];
|
| 315 |
+
tensor<int32, [4]> var_495 = const()[name = tensor<string, []>("op_495"), val = tensor<int32, [4]>([2, 0, 1, 3])];
|
| 316 |
+
tensor<int32, [2]> var_500 = const()[name = tensor<string, []>("op_500"), val = tensor<int32, [2]>([3072, 128])];
|
| 317 |
+
tensor<fp16, [96, 32, 4, 32]> var_496_cast_fp16 = transpose(perm = var_495, x = attn_output_17_cast_fp16)[name = tensor<string, []>("transpose_5")];
|
| 318 |
+
tensor<fp16, [3072, 128]> attn_output_19_cast_fp16 = reshape(shape = var_500, x = var_496_cast_fp16)[name = tensor<string, []>("attn_output_19_cast_fp16")];
|
| 319 |
+
tensor<fp16, [128, 128]> model_option_encoder_layers_0_self_attn_out_proj_weight_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_self_attn_out_proj_weight_to_fp16"), val = tensor<fp16, [128, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1049152)))];
|
| 320 |
+
tensor<fp16, [128]> model_option_encoder_layers_0_self_attn_out_proj_bias_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_self_attn_out_proj_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1081984)))];
|
| 321 |
+
tensor<fp16, [3072, 128]> linear_9_cast_fp16 = linear(bias = model_option_encoder_layers_0_self_attn_out_proj_bias_to_fp16, weight = model_option_encoder_layers_0_self_attn_out_proj_weight_to_fp16, x = attn_output_19_cast_fp16)[name = tensor<string, []>("linear_9_cast_fp16")];
|
| 322 |
+
tensor<int32, [3]> var_504 = const()[name = tensor<string, []>("op_504"), val = tensor<int32, [3]>([96, 32, 128])];
|
| 323 |
+
tensor<fp16, [96, 32, 128]> attn_output_cast_fp16 = reshape(shape = var_504, x = linear_9_cast_fp16)[name = tensor<string, []>("attn_output_cast_fp16")];
|
| 324 |
+
tensor<int32, [3]> input_35_perm_0 = const()[name = tensor<string, []>("input_35_perm_0"), val = tensor<int32, [3]>([1, 0, 2])];
|
| 325 |
+
tensor<fp16, [32, 96, 128]> input_35_cast_fp16 = transpose(perm = input_35_perm_0, x = attn_output_cast_fp16)[name = tensor<string, []>("transpose_4")];
|
| 326 |
+
tensor<fp16, [32, 96, 128]> input_37_cast_fp16 = add(x = src_cast_fp16, y = input_35_cast_fp16)[name = tensor<string, []>("input_37_cast_fp16")];
|
| 327 |
+
tensor<int32, [1]> input_39_axes_0 = const()[name = tensor<string, []>("input_39_axes_0"), val = tensor<int32, [1]>([-1])];
|
| 328 |
+
tensor<fp16, [128]> model_option_encoder_layers_0_norm2_weight_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_norm2_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1082304)))];
|
| 329 |
+
tensor<fp16, [128]> model_option_encoder_layers_0_norm2_bias_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_norm2_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1082624)))];
|
| 330 |
+
tensor<fp16, [32, 96, 128]> input_39_cast_fp16 = layer_norm(axes = input_39_axes_0, beta = model_option_encoder_layers_0_norm2_bias_to_fp16, epsilon = var_395_to_fp16, gamma = model_option_encoder_layers_0_norm2_weight_to_fp16, x = input_37_cast_fp16)[name = tensor<string, []>("input_39_cast_fp16")];
|
| 331 |
+
tensor<fp16, [512, 128]> model_option_encoder_layers_0_linear1_weight_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_linear1_weight_to_fp16"), val = tensor<fp16, [512, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1082944)))];
|
| 332 |
+
tensor<fp16, [512]> model_option_encoder_layers_0_linear1_bias_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_linear1_bias_to_fp16"), val = tensor<fp16, [512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1214080)))];
|
| 333 |
+
tensor<fp16, [32, 96, 512]> linear_10_cast_fp16 = linear(bias = model_option_encoder_layers_0_linear1_bias_to_fp16, weight = model_option_encoder_layers_0_linear1_weight_to_fp16, x = input_39_cast_fp16)[name = tensor<string, []>("linear_10_cast_fp16")];
|
| 334 |
+
tensor<fp16, [32, 96, 512]> input_43_cast_fp16 = relu(x = linear_10_cast_fp16)[name = tensor<string, []>("input_43_cast_fp16")];
|
| 335 |
+
tensor<fp16, [128, 512]> model_option_encoder_layers_0_linear2_weight_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_linear2_weight_to_fp16"), val = tensor<fp16, [128, 512]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1215168)))];
|
| 336 |
+
tensor<fp16, [128]> model_option_encoder_layers_0_linear2_bias_to_fp16 = const()[name = tensor<string, []>("model_option_encoder_layers_0_linear2_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1346304)))];
|
| 337 |
+
tensor<fp16, [32, 96, 128]> linear_11_cast_fp16 = linear(bias = model_option_encoder_layers_0_linear2_bias_to_fp16, weight = model_option_encoder_layers_0_linear2_weight_to_fp16, x = input_43_cast_fp16)[name = tensor<string, []>("linear_11_cast_fp16")];
|
| 338 |
+
tensor<fp16, [32, 96, 128]> hidden_cast_fp16 = add(x = input_37_cast_fp16, y = linear_11_cast_fp16)[name = tensor<string, []>("hidden_cast_fp16")];
|
| 339 |
+
tensor<int32, [1]> var_524_axes_0 = const()[name = tensor<string, []>("op_524_axes_0"), val = tensor<int32, [1]>([-1])];
|
| 340 |
+
tensor<bool, [32, 96, 1]> var_524 = expand_dims(axes = var_524_axes_0, x = flat_mask_cast_fp16)[name = tensor<string, []>("op_524")];
|
| 341 |
+
tensor<string, []> weights_to_fp16_dtype_0 = const()[name = tensor<string, []>("weights_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
|
| 342 |
+
tensor<fp16, [32, 96, 1]> var_524_to_fp16 = cast(dtype = weights_to_fp16_dtype_0, x = var_524)[name = tensor<string, []>("cast_59")];
|
| 343 |
+
tensor<fp16, [32, 96, 128]> var_530_cast_fp16 = mul(x = hidden_cast_fp16, y = var_524_to_fp16)[name = tensor<string, []>("op_530_cast_fp16")];
|
| 344 |
+
tensor<int32, [1]> var_535_axes_0 = const()[name = tensor<string, []>("op_535_axes_0"), val = tensor<int32, [1]>([1])];
|
| 345 |
+
tensor<bool, []> var_535_keep_dims_0 = const()[name = tensor<string, []>("op_535_keep_dims_0"), val = tensor<bool, []>(false)];
|
| 346 |
+
tensor<fp16, [32, 128]> var_535_cast_fp16 = reduce_sum(axes = var_535_axes_0, keep_dims = var_535_keep_dims_0, x = var_530_cast_fp16)[name = tensor<string, []>("op_535_cast_fp16")];
|
| 347 |
+
tensor<int32, [1]> var_540_axes_0 = const()[name = tensor<string, []>("op_540_axes_0"), val = tensor<int32, [1]>([1])];
|
| 348 |
+
tensor<bool, []> var_540_keep_dims_0 = const()[name = tensor<string, []>("op_540_keep_dims_0"), val = tensor<bool, []>(false)];
|
| 349 |
+
tensor<fp16, [32, 1]> var_540_cast_fp16 = reduce_sum(axes = var_540_axes_0, keep_dims = var_540_keep_dims_0, x = var_524_to_fp16)[name = tensor<string, []>("op_540_cast_fp16")];
|
| 350 |
+
tensor<fp16, []> var_541_to_fp16 = const()[name = tensor<string, []>("op_541_to_fp16"), val = tensor<fp16, []>(0x1p+0)];
|
| 351 |
+
tensor<fp16, [32, 1]> var_542_cast_fp16 = maximum(x = var_540_cast_fp16, y = var_541_to_fp16)[name = tensor<string, []>("op_542_cast_fp16")];
|
| 352 |
+
tensor<fp16, [32, 128]> pooled_cast_fp16 = real_div(x = var_535_cast_fp16, y = var_542_cast_fp16)[name = tensor<string, []>("pooled_cast_fp16")];
|
| 353 |
+
tensor<int32, [3]> var_545 = const()[name = tensor<string, []>("op_545"), val = tensor<int32, [3]>([1, 32, -1])];
|
| 354 |
+
tensor<fp16, [1, 32, 128]> options_cast_fp16 = reshape(shape = var_545, x = pooled_cast_fp16)[name = tensor<string, []>("options_cast_fp16")];
|
| 355 |
+
tensor<int32, []> var_548 = const()[name = tensor<string, []>("op_548"), val = tensor<int32, []>(-1)];
|
| 356 |
+
tensor<int32, [1]> input_axes_0 = const()[name = tensor<string, []>("input_axes_0"), val = tensor<int32, [1]>([-1])];
|
| 357 |
+
tensor<fp16, [128]> model_head_context_norm_weight_to_fp16 = const()[name = tensor<string, []>("model_head_context_norm_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1346624)))];
|
| 358 |
+
tensor<fp16, [128]> model_head_context_norm_bias_to_fp16 = const()[name = tensor<string, []>("model_head_context_norm_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1346944)))];
|
| 359 |
+
tensor<fp16, []> var_556_to_fp16 = const()[name = tensor<string, []>("op_556_to_fp16"), val = tensor<fp16, []>(0x1.5p-17)];
|
| 360 |
+
tensor<fp16, [1, 224, 128]> input_cast_fp16 = layer_norm(axes = input_axes_0, beta = model_head_context_norm_bias_to_fp16, epsilon = var_556_to_fp16, gamma = model_head_context_norm_weight_to_fp16, x = context_cast_fp16)[name = tensor<string, []>("input_cast_fp16")];
|
| 361 |
+
tensor<int32, [1]> input_53_axes_0 = const()[name = tensor<string, []>("input_53_axes_0"), val = tensor<int32, [1]>([-1])];
|
| 362 |
+
tensor<fp16, [128]> model_head_option_norm_weight_to_fp16 = const()[name = tensor<string, []>("model_head_option_norm_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1347264)))];
|
| 363 |
+
tensor<fp16, [128]> model_head_option_norm_bias_to_fp16 = const()[name = tensor<string, []>("model_head_option_norm_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1347584)))];
|
| 364 |
+
tensor<fp16, [1, 32, 128]> input_53_cast_fp16 = layer_norm(axes = input_53_axes_0, beta = model_head_option_norm_bias_to_fp16, epsilon = var_556_to_fp16, gamma = model_head_option_norm_weight_to_fp16, x = options_cast_fp16)[name = tensor<string, []>("input_53_cast_fp16")];
|
| 365 |
+
tensor<fp16, [128, 128]> model_head_query_weight_to_fp16 = const()[name = tensor<string, []>("model_head_query_weight_to_fp16"), val = tensor<fp16, [128, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1347904)))];
|
| 366 |
+
tensor<fp16, [128]> linear_12_bias_0_to_fp16 = const()[name = tensor<string, []>("linear_12_bias_0_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1380736)))];
|
| 367 |
+
tensor<fp16, [1, 32, 128]> linear_12_cast_fp16 = linear(bias = linear_12_bias_0_to_fp16, weight = model_head_query_weight_to_fp16, x = input_53_cast_fp16)[name = tensor<string, []>("linear_12_cast_fp16")];
|
| 368 |
+
tensor<fp16, [128, 128]> model_head_key_weight_to_fp16 = const()[name = tensor<string, []>("model_head_key_weight_to_fp16"), val = tensor<fp16, [128, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1381056)))];
|
| 369 |
+
tensor<fp16, [1, 224, 128]> linear_13_cast_fp16 = linear(bias = linear_12_bias_0_to_fp16, weight = model_head_key_weight_to_fp16, x = input_cast_fp16)[name = tensor<string, []>("linear_13_cast_fp16")];
|
| 370 |
+
tensor<fp16, [128, 128]> model_head_value_weight_to_fp16 = const()[name = tensor<string, []>("model_head_value_weight_to_fp16"), val = tensor<fp16, [128, 128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1413888)))];
|
| 371 |
+
tensor<fp16, [1, 224, 128]> linear_14_cast_fp16 = linear(bias = linear_12_bias_0_to_fp16, weight = model_head_value_weight_to_fp16, x = input_cast_fp16)[name = tensor<string, []>("linear_14_cast_fp16")];
|
| 372 |
+
tensor<bool, []> matmul_3_transpose_x_1 = const()[name = tensor<string, []>("matmul_3_transpose_x_1"), val = tensor<bool, []>(false)];
|
| 373 |
+
tensor<bool, []> matmul_3_transpose_y_1 = const()[name = tensor<string, []>("matmul_3_transpose_y_1"), val = tensor<bool, []>(true)];
|
| 374 |
+
tensor<fp16, [1, 32, 224]> matmul_3_cast_fp16 = matmul(transpose_x = matmul_3_transpose_x_1, transpose_y = matmul_3_transpose_y_1, x = linear_12_cast_fp16, y = linear_13_cast_fp16)[name = tensor<string, []>("matmul_3_cast_fp16")];
|
| 375 |
+
tensor<fp16, []> _inversed_scores_1_y_0_to_fp16 = const()[name = tensor<string, []>("_inversed_scores_1_y_0_to_fp16"), val = tensor<fp16, []>(0x1.6ap-4)];
|
| 376 |
+
tensor<fp16, [1, 32, 224]> _inversed_scores_1_cast_fp16 = mul(x = matmul_3_cast_fp16, y = _inversed_scores_1_y_0_to_fp16)[name = tensor<string, []>("_inversed_scores_1_cast_fp16")];
|
| 377 |
+
tensor<int32, [1]> var_587_axes_0 = const()[name = tensor<string, []>("op_587_axes_0"), val = tensor<int32, [1]>([1])];
|
| 378 |
+
tensor<bool, [1, 1, 224]> var_587 = expand_dims(axes = var_587_axes_0, x = context_mask_cast_fp16)[name = tensor<string, []>("op_587")];
|
| 379 |
+
tensor<bool, [1, 1, 224]> var_589 = logical_not(x = var_587)[name = tensor<string, []>("op_589")];
|
| 380 |
+
tensor<fp16, []> var_549_to_fp16 = const()[name = tensor<string, []>("op_549_to_fp16"), val = tensor<fp16, []>(-inf)];
|
| 381 |
+
tensor<fp16, [1, 32, 224]> scores_cast_fp16 = select(a = var_549_to_fp16, b = _inversed_scores_1_cast_fp16, cond = var_589)[name = tensor<string, []>("scores_cast_fp16")];
|
| 382 |
+
tensor<fp16, [1, 32, 224]> var_591_cast_fp16 = softmax(axis = var_548, x = scores_cast_fp16)[name = tensor<string, []>("op_591_cast_fp16")];
|
| 383 |
+
tensor<bool, []> matmul_4_transpose_x_0 = const()[name = tensor<string, []>("matmul_4_transpose_x_0"), val = tensor<bool, []>(false)];
|
| 384 |
+
tensor<bool, []> matmul_4_transpose_y_0 = const()[name = tensor<string, []>("matmul_4_transpose_y_0"), val = tensor<bool, []>(false)];
|
| 385 |
+
tensor<fp16, [1, 32, 128]> matmul_4_cast_fp16 = matmul(transpose_x = matmul_4_transpose_x_0, transpose_y = matmul_4_transpose_y_0, x = var_591_cast_fp16, y = linear_14_cast_fp16)[name = tensor<string, []>("matmul_4_cast_fp16")];
|
| 386 |
+
tensor<fp16, [1, 32, 128]> var_594_cast_fp16 = mul(x = linear_12_cast_fp16, y = matmul_4_cast_fp16)[name = tensor<string, []>("op_594_cast_fp16")];
|
| 387 |
+
tensor<int32, [1]> var_596_axes_0 = const()[name = tensor<string, []>("op_596_axes_0"), val = tensor<int32, [1]>([-1])];
|
| 388 |
+
tensor<bool, []> var_596_keep_dims_0 = const()[name = tensor<string, []>("op_596_keep_dims_0"), val = tensor<bool, []>(false)];
|
| 389 |
+
tensor<fp16, [1, 32]> var_596_cast_fp16 = reduce_sum(axes = var_596_axes_0, keep_dims = var_596_keep_dims_0, x = var_594_cast_fp16)[name = tensor<string, []>("op_596_cast_fp16")];
|
| 390 |
+
tensor<fp16, []> _inversed_logits_1_y_0_to_fp16 = const()[name = tensor<string, []>("_inversed_logits_1_y_0_to_fp16"), val = tensor<fp16, []>(0x1.6ap-4)];
|
| 391 |
+
tensor<fp16, [1, 32]> _inversed_logits_1_cast_fp16 = mul(x = var_596_cast_fp16, y = _inversed_logits_1_y_0_to_fp16)[name = tensor<string, []>("_inversed_logits_1_cast_fp16")];
|
| 392 |
+
tensor<bool, [1, 32]> var_599 = logical_not(x = option_mask_cast_fp16)[name = tensor<string, []>("op_599")];
|
| 393 |
+
tensor<fp16, [1, 32]> logits_3_cast_fp16 = select(a = var_549_to_fp16, b = _inversed_logits_1_cast_fp16, cond = var_599)[name = tensor<string, []>("logits_3_cast_fp16")];
|
| 394 |
+
tensor<fp16, []> var_607_value_0_to_fp16 = const()[name = tensor<string, []>("op_607_value_0_to_fp16"), val = tensor<fp16, []>(-0x1.388p+13)];
|
| 395 |
+
tensor<fp16, [1, 32]> var_607_cast_fp16 = fill_like(ref_tensor = logits_3_cast_fp16, value = var_607_value_0_to_fp16)[name = tensor<string, []>("op_607_cast_fp16")];
|
| 396 |
+
tensor<fp16, [1, 32]> logits_cast_fp16 = select(a = logits_3_cast_fp16, b = var_607_cast_fp16, cond = option_mask_cast_fp16)[name = tensor<string, []>("logits_cast_fp16")];
|
| 397 |
+
tensor<string, []> logits_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("logits_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
|
| 398 |
+
tensor<int32, []> var_609 = const()[name = tensor<string, []>("op_609"), val = tensor<int32, []>(-1)];
|
| 399 |
+
tensor<fp16, [1, 32]> var_611_cast_fp16 = softmax(axis = var_609, x = logits_cast_fp16)[name = tensor<string, []>("op_611_cast_fp16")];
|
| 400 |
+
tensor<string, []> var_611_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("op_611_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
|
| 401 |
+
tensor<fp32, [1, 32]> probabilities = cast(dtype = var_611_cast_fp16_to_fp32_dtype_0, x = var_611_cast_fp16)[name = tensor<string, []>("cast_57")];
|
| 402 |
+
tensor<fp32, [1, 32]> logits = cast(dtype = logits_cast_fp16_to_fp32_dtype_0, x = logits_cast_fp16)[name = tensor<string, []>("cast_58")];
|
| 403 |
+
} -> (logits, probabilities);
|
| 404 |
+
}
|
ane-gather/cua_s1_forms_fp16_options32.mlmodelc/weights/weight.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4da9259f798e44f5a1b50769ee1916fd3747c4d723dd9997b516c7fe238c7895
|
| 3 |
+
size 1446720
|
ane-gather/cua_s1_forms_fp16_options32.mlpackage/Data/com.apple.CoreML/model.mlmodel
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:de18e313c3b625e35d008ed8b6b24108edc6df7bf2fae9533af03519eca11b63
|
| 3 |
+
size 62154
|
ane-gather/cua_s1_forms_fp16_options32.mlpackage/Data/com.apple.CoreML/weights/weight.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4da9259f798e44f5a1b50769ee1916fd3747c4d723dd9997b516c7fe238c7895
|
| 3 |
+
size 1446720
|
ane-gather/cua_s1_forms_fp16_options32.mlpackage/Manifest.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"fileFormatVersion": "1.0.0",
|
| 3 |
+
"itemInfoEntries": {
|
| 4 |
+
"1CB24175-461C-4E33-BE2C-F580A319AEC8": {
|
| 5 |
+
"author": "com.apple.CoreML",
|
| 6 |
+
"description": "CoreML Model Weights",
|
| 7 |
+
"name": "weights",
|
| 8 |
+
"path": "com.apple.CoreML/weights"
|
| 9 |
+
},
|
| 10 |
+
"869A4EBA-1FCF-41FC-8DD9-70ECEF96023D": {
|
| 11 |
+
"author": "com.apple.CoreML",
|
| 12 |
+
"description": "CoreML Model Specification",
|
| 13 |
+
"name": "model.mlmodel",
|
| 14 |
+
"path": "com.apple.CoreML/model.mlmodel"
|
| 15 |
+
}
|
| 16 |
+
},
|
| 17 |
+
"rootModelIdentifier": "869A4EBA-1FCF-41FC-8DD9-70ECEF96023D"
|
| 18 |
+
}
|
checksums.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
| 1 |
{
|
| 2 |
"LICENSE": "c0779290c1d4783169aa3dbfb55feb505e563ef8a004bbf55298ceffcfbda8d9",
|
| 3 |
"NOTICES.md": "027c72741eaa695e60d7b6cebd3666372c81d443a96b673b72a897cf432ddfd0",
|
| 4 |
-
"README.md": "
|
| 5 |
"UPSTREAM-THIRD-PARTY-NOTICES.md": "4091e69b45c8cc97e30a066fbbd56148dbef66ab716432c048d2333c9c464213",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
"assets.lock.json": "8e65ad70af6bb814b571cdcfe828ba4bc339147da2d2211cbeac416163ef18ba",
|
| 7 |
"conversion.json": "ac94239751ceb7e19602eb7276940ff53446b1776d4900405af9be0382fe4a94",
|
| 8 |
"cua_s1_forms_fp16_options32.mlmodelc/analytics/coremldata.bin": "a7a11d7772fb6879778e6223d0f3b16a6b2a44df20a7991bf9bcc24042d05542",
|
|
@@ -13,8 +21,13 @@
|
|
| 13 |
"cua_s1_forms_fp16_options32.mlpackage/Data/com.apple.CoreML/weights/weight.bin": "4da9259f798e44f5a1b50769ee1916fd3747c4d723dd9997b516c7fe238c7895",
|
| 14 |
"cua_s1_forms_fp16_options32.mlpackage/Manifest.json": "2bc0f5f62337b27fb6b0ecde248f1e3dc269e1ba4b65516aaeede2a60e293dcc",
|
| 15 |
"preprocessing.py": "18c74ede43f95f91cd638c7e9631923a353e3a24d3b522ddb8b18b480f9c2846",
|
|
|
|
| 16 |
"reports/ane-fallback.json": "2f52b0e11f7cfbea6a6be6942de8816d8fed0630ac384a28551d405648fcb4e0",
|
|
|
|
|
|
|
|
|
|
| 17 |
"reports/ane-profile.json": "8f654717397a294acc793861676a1480c160bb3f7ab5be6ff67ebb6a4473b832",
|
|
|
|
| 18 |
"reports/upstream-metrics.json": "7d6207e430504dc0baec96d8180cb03f8aadc5a6e016b53c4cf03a80baf169ab",
|
| 19 |
"reports/verification.json": "9a5d22ec4b447f0710c12e03c69d7ed802158bb94e9a3c6b059731730ced9f30"
|
| 20 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"LICENSE": "c0779290c1d4783169aa3dbfb55feb505e563ef8a004bbf55298ceffcfbda8d9",
|
| 3 |
"NOTICES.md": "027c72741eaa695e60d7b6cebd3666372c81d443a96b673b72a897cf432ddfd0",
|
| 4 |
+
"README.md": "004f8d5da9077491323b0fac968e5c452561ff2eea160fd802ef50b288e45934",
|
| 5 |
"UPSTREAM-THIRD-PARTY-NOTICES.md": "4091e69b45c8cc97e30a066fbbd56148dbef66ab716432c048d2333c9c464213",
|
| 6 |
+
"ane-gather/conversion.json": "4d569a4020f1e9711da3f7fff0d11acef1812c4652414cf64728c77bc2bae4c4",
|
| 7 |
+
"ane-gather/cua_s1_forms_fp16_options32.mlmodelc/analytics/coremldata.bin": "526dccb87bdc036df1e8add0b50dd6540db534808fc2f8caa97cd897b4fc1fa3",
|
| 8 |
+
"ane-gather/cua_s1_forms_fp16_options32.mlmodelc/coremldata.bin": "0f2a8ed9fe8abcc39c7ee0575e2562d589d459683b92708fa9788b533be3038b",
|
| 9 |
+
"ane-gather/cua_s1_forms_fp16_options32.mlmodelc/model.mil": "578b5ef1e50c98d0577459a3a4c020f4fd83d7e465213d1263ddf1a021fef077",
|
| 10 |
+
"ane-gather/cua_s1_forms_fp16_options32.mlmodelc/weights/weight.bin": "4da9259f798e44f5a1b50769ee1916fd3747c4d723dd9997b516c7fe238c7895",
|
| 11 |
+
"ane-gather/cua_s1_forms_fp16_options32.mlpackage/Data/com.apple.CoreML/model.mlmodel": "de18e313c3b625e35d008ed8b6b24108edc6df7bf2fae9533af03519eca11b63",
|
| 12 |
+
"ane-gather/cua_s1_forms_fp16_options32.mlpackage/Data/com.apple.CoreML/weights/weight.bin": "4da9259f798e44f5a1b50769ee1916fd3747c4d723dd9997b516c7fe238c7895",
|
| 13 |
+
"ane-gather/cua_s1_forms_fp16_options32.mlpackage/Manifest.json": "38f812a04eb2322080634ba788c61df362336168466ca67e5549058d346ac793",
|
| 14 |
"assets.lock.json": "8e65ad70af6bb814b571cdcfe828ba4bc339147da2d2211cbeac416163ef18ba",
|
| 15 |
"conversion.json": "ac94239751ceb7e19602eb7276940ff53446b1776d4900405af9be0382fe4a94",
|
| 16 |
"cua_s1_forms_fp16_options32.mlmodelc/analytics/coremldata.bin": "a7a11d7772fb6879778e6223d0f3b16a6b2a44df20a7991bf9bcc24042d05542",
|
|
|
|
| 21 |
"cua_s1_forms_fp16_options32.mlpackage/Data/com.apple.CoreML/weights/weight.bin": "4da9259f798e44f5a1b50769ee1916fd3747c4d723dd9997b516c7fe238c7895",
|
| 22 |
"cua_s1_forms_fp16_options32.mlpackage/Manifest.json": "2bc0f5f62337b27fb6b0ecde248f1e3dc269e1ba4b65516aaeede2a60e293dcc",
|
| 23 |
"preprocessing.py": "18c74ede43f95f91cd638c7e9631923a353e3a24d3b522ddb8b18b480f9c2846",
|
| 24 |
+
"reports/ane-comparison.json": "14b29f87704c6e8bd5f9bd866ea825be3972fcea6cf3c4760e38dc8774f937b6",
|
| 25 |
"reports/ane-fallback.json": "2f52b0e11f7cfbea6a6be6942de8816d8fed0630ac384a28551d405648fcb4e0",
|
| 26 |
+
"reports/ane-gather-fallback.json": "1e9bf8a336ae6d63ff2f07e32fed21b5e5ee4491a8a217b15deb3e1e3ac32988",
|
| 27 |
+
"reports/ane-gather-profile.json": "023c16760ca124176e399f1c692741f5220bc4cc391cd59bffffa291e2c332a6",
|
| 28 |
+
"reports/ane-gather-verification.json": "fa51fe0537dcd9cc8d1d75fc0be4747d887aa2e3af199ec08edd8f9400ce3318",
|
| 29 |
"reports/ane-profile.json": "8f654717397a294acc793861676a1480c160bb3f7ab5be6ff67ebb6a4473b832",
|
| 30 |
+
"reports/swift-ane-validation.json": "ed323e6d6619fb7698d3546599d6450b745bc8cc6100c02e13f7ad4d59859a3a",
|
| 31 |
"reports/upstream-metrics.json": "7d6207e430504dc0baec96d8180cb03f8aadc5a6e016b53c4cf03a80baf169ab",
|
| 32 |
"reports/verification.json": "9a5d22ec4b447f0710c12e03c69d7ed802158bb94e9a3c6b059731730ced9f30"
|
| 33 |
}
|
reports/ane-comparison.json
ADDED
|
@@ -0,0 +1,784 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"created_utc": "2026-09-19T20:07:16.396741+00:00",
|
| 3 |
+
"purpose": "Matched warm model-call comparison, not a power or utilization measurement",
|
| 4 |
+
"environment": {
|
| 5 |
+
"chip": "Apple M5 Pro",
|
| 6 |
+
"macos": "27.0",
|
| 7 |
+
"os_build": "26A428",
|
| 8 |
+
"python": "3.11.11",
|
| 9 |
+
"coremltools": "9.0"
|
| 10 |
+
},
|
| 11 |
+
"protocol": {
|
| 12 |
+
"compute_units": "CPU_AND_NE",
|
| 13 |
+
"rows": [
|
| 14 |
+
0,
|
| 15 |
+
68,
|
| 16 |
+
130
|
| 17 |
+
],
|
| 18 |
+
"schedule": [
|
| 19 |
+
"baseline",
|
| 20 |
+
"candidate",
|
| 21 |
+
"candidate",
|
| 22 |
+
"baseline"
|
| 23 |
+
],
|
| 24 |
+
"warmup_passes_per_block": 2,
|
| 25 |
+
"timed_passes_per_block": 10,
|
| 26 |
+
"timing_scope": "Synchronous Python predict with pre-encoded inputs; validation outside timer",
|
| 27 |
+
"model_loading": "Both models resident in one process; loads excluded and system caches retained"
|
| 28 |
+
},
|
| 29 |
+
"dataset_revision": "8273f34778b99ac2e12d9f6e7d57dad99ae20845",
|
| 30 |
+
"dataset_sha256": "4f43b442e79ba2e2ce731e27e9b8e340c2b5dfcaffc92d8ff564c34f115ff1ca",
|
| 31 |
+
"package_files": {
|
| 32 |
+
"baseline": {
|
| 33 |
+
"Data/com.apple.CoreML/model.mlmodel": "70485fc18cbb21785df833cbddddc0b5b59acb00d22394b76e55307e2c135dd0",
|
| 34 |
+
"Data/com.apple.CoreML/weights/weight.bin": "4da9259f798e44f5a1b50769ee1916fd3747c4d723dd9997b516c7fe238c7895",
|
| 35 |
+
"Manifest.json": "2bc0f5f62337b27fb6b0ecde248f1e3dc269e1ba4b65516aaeede2a60e293dcc"
|
| 36 |
+
},
|
| 37 |
+
"candidate": {
|
| 38 |
+
"Data/com.apple.CoreML/model.mlmodel": "de18e313c3b625e35d008ed8b6b24108edc6df7bf2fae9533af03519eca11b63",
|
| 39 |
+
"Data/com.apple.CoreML/weights/weight.bin": "4da9259f798e44f5a1b50769ee1916fd3747c4d723dd9997b516c7fe238c7895",
|
| 40 |
+
"Manifest.json": "38f812a04eb2322080634ba788c61df362336168466ca67e5549058d346ac793"
|
| 41 |
+
}
|
| 42 |
+
},
|
| 43 |
+
"summary": {
|
| 44 |
+
"baseline": {
|
| 45 |
+
"count": 60,
|
| 46 |
+
"median_ms": 0.9150624828180298,
|
| 47 |
+
"p95_ms": 0.9682062489446251,
|
| 48 |
+
"min_ms": 0.88170898379758,
|
| 49 |
+
"max_ms": 1.0281660070177168
|
| 50 |
+
},
|
| 51 |
+
"candidate": {
|
| 52 |
+
"count": 60,
|
| 53 |
+
"median_ms": 0.9703329997137189,
|
| 54 |
+
"p95_ms": 0.9877315780613571,
|
| 55 |
+
"min_ms": 0.9434169915039092,
|
| 56 |
+
"max_ms": 1.0195420181844383
|
| 57 |
+
}
|
| 58 |
+
},
|
| 59 |
+
"candidate_over_baseline_median": 1.0604008118937165,
|
| 60 |
+
"correct_timed_predictions": 120,
|
| 61 |
+
"calls": [
|
| 62 |
+
{
|
| 63 |
+
"model": "baseline",
|
| 64 |
+
"block": 0,
|
| 65 |
+
"row": 0,
|
| 66 |
+
"milliseconds": 0.919707992579788
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"model": "baseline",
|
| 70 |
+
"block": 0,
|
| 71 |
+
"row": 68,
|
| 72 |
+
"milliseconds": 0.9307919826824218
|
| 73 |
+
},
|
| 74 |
+
{
|
| 75 |
+
"model": "baseline",
|
| 76 |
+
"block": 0,
|
| 77 |
+
"row": 130,
|
| 78 |
+
"milliseconds": 0.9576249867677689
|
| 79 |
+
},
|
| 80 |
+
{
|
| 81 |
+
"model": "baseline",
|
| 82 |
+
"block": 0,
|
| 83 |
+
"row": 0,
|
| 84 |
+
"milliseconds": 0.9234579920303077
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"model": "baseline",
|
| 88 |
+
"block": 0,
|
| 89 |
+
"row": 68,
|
| 90 |
+
"milliseconds": 0.9247499983757734
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"model": "baseline",
|
| 94 |
+
"block": 0,
|
| 95 |
+
"row": 130,
|
| 96 |
+
"milliseconds": 0.9314999915659428
|
| 97 |
+
},
|
| 98 |
+
{
|
| 99 |
+
"model": "baseline",
|
| 100 |
+
"block": 0,
|
| 101 |
+
"row": 0,
|
| 102 |
+
"milliseconds": 0.9133330022450536
|
| 103 |
+
},
|
| 104 |
+
{
|
| 105 |
+
"model": "baseline",
|
| 106 |
+
"block": 0,
|
| 107 |
+
"row": 68,
|
| 108 |
+
"milliseconds": 0.9190000128000975
|
| 109 |
+
},
|
| 110 |
+
{
|
| 111 |
+
"model": "baseline",
|
| 112 |
+
"block": 0,
|
| 113 |
+
"row": 130,
|
| 114 |
+
"milliseconds": 0.9215839963871986
|
| 115 |
+
},
|
| 116 |
+
{
|
| 117 |
+
"model": "baseline",
|
| 118 |
+
"block": 0,
|
| 119 |
+
"row": 0,
|
| 120 |
+
"milliseconds": 0.9041670127771795
|
| 121 |
+
},
|
| 122 |
+
{
|
| 123 |
+
"model": "baseline",
|
| 124 |
+
"block": 0,
|
| 125 |
+
"row": 68,
|
| 126 |
+
"milliseconds": 0.9001670114230365
|
| 127 |
+
},
|
| 128 |
+
{
|
| 129 |
+
"model": "baseline",
|
| 130 |
+
"block": 0,
|
| 131 |
+
"row": 130,
|
| 132 |
+
"milliseconds": 0.9362080018036067
|
| 133 |
+
},
|
| 134 |
+
{
|
| 135 |
+
"model": "baseline",
|
| 136 |
+
"block": 0,
|
| 137 |
+
"row": 0,
|
| 138 |
+
"milliseconds": 1.0092500015161932
|
| 139 |
+
},
|
| 140 |
+
{
|
| 141 |
+
"model": "baseline",
|
| 142 |
+
"block": 0,
|
| 143 |
+
"row": 68,
|
| 144 |
+
"milliseconds": 0.9958750160876662
|
| 145 |
+
},
|
| 146 |
+
{
|
| 147 |
+
"model": "baseline",
|
| 148 |
+
"block": 0,
|
| 149 |
+
"row": 130,
|
| 150 |
+
"milliseconds": 1.0281660070177168
|
| 151 |
+
},
|
| 152 |
+
{
|
| 153 |
+
"model": "baseline",
|
| 154 |
+
"block": 0,
|
| 155 |
+
"row": 0,
|
| 156 |
+
"milliseconds": 0.96674999804236
|
| 157 |
+
},
|
| 158 |
+
{
|
| 159 |
+
"model": "baseline",
|
| 160 |
+
"block": 0,
|
| 161 |
+
"row": 68,
|
| 162 |
+
"milliseconds": 0.9511670214124024
|
| 163 |
+
},
|
| 164 |
+
{
|
| 165 |
+
"model": "baseline",
|
| 166 |
+
"block": 0,
|
| 167 |
+
"row": 130,
|
| 168 |
+
"milliseconds": 0.9152919810730964
|
| 169 |
+
},
|
| 170 |
+
{
|
| 171 |
+
"model": "baseline",
|
| 172 |
+
"block": 0,
|
| 173 |
+
"row": 0,
|
| 174 |
+
"milliseconds": 0.9129999962169677
|
| 175 |
+
},
|
| 176 |
+
{
|
| 177 |
+
"model": "baseline",
|
| 178 |
+
"block": 0,
|
| 179 |
+
"row": 68,
|
| 180 |
+
"milliseconds": 0.9089170198421925
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"model": "baseline",
|
| 184 |
+
"block": 0,
|
| 185 |
+
"row": 130,
|
| 186 |
+
"milliseconds": 0.9163749928120524
|
| 187 |
+
},
|
| 188 |
+
{
|
| 189 |
+
"model": "baseline",
|
| 190 |
+
"block": 0,
|
| 191 |
+
"row": 0,
|
| 192 |
+
"milliseconds": 0.9026250045280904
|
| 193 |
+
},
|
| 194 |
+
{
|
| 195 |
+
"model": "baseline",
|
| 196 |
+
"block": 0,
|
| 197 |
+
"row": 68,
|
| 198 |
+
"milliseconds": 0.9094580018427223
|
| 199 |
+
},
|
| 200 |
+
{
|
| 201 |
+
"model": "baseline",
|
| 202 |
+
"block": 0,
|
| 203 |
+
"row": 130,
|
| 204 |
+
"milliseconds": 0.9331250039394945
|
| 205 |
+
},
|
| 206 |
+
{
|
| 207 |
+
"model": "baseline",
|
| 208 |
+
"block": 0,
|
| 209 |
+
"row": 0,
|
| 210 |
+
"milliseconds": 0.9327089937869459
|
| 211 |
+
},
|
| 212 |
+
{
|
| 213 |
+
"model": "baseline",
|
| 214 |
+
"block": 0,
|
| 215 |
+
"row": 68,
|
| 216 |
+
"milliseconds": 0.9123749914579093
|
| 217 |
+
},
|
| 218 |
+
{
|
| 219 |
+
"model": "baseline",
|
| 220 |
+
"block": 0,
|
| 221 |
+
"row": 130,
|
| 222 |
+
"milliseconds": 0.9423340088687837
|
| 223 |
+
},
|
| 224 |
+
{
|
| 225 |
+
"model": "baseline",
|
| 226 |
+
"block": 0,
|
| 227 |
+
"row": 0,
|
| 228 |
+
"milliseconds": 0.9080420131795108
|
| 229 |
+
},
|
| 230 |
+
{
|
| 231 |
+
"model": "baseline",
|
| 232 |
+
"block": 0,
|
| 233 |
+
"row": 68,
|
| 234 |
+
"milliseconds": 0.9152499842457473
|
| 235 |
+
},
|
| 236 |
+
{
|
| 237 |
+
"model": "baseline",
|
| 238 |
+
"block": 0,
|
| 239 |
+
"row": 130,
|
| 240 |
+
"milliseconds": 0.9090829989872873
|
| 241 |
+
},
|
| 242 |
+
{
|
| 243 |
+
"model": "candidate",
|
| 244 |
+
"block": 1,
|
| 245 |
+
"row": 0,
|
| 246 |
+
"milliseconds": 0.9569999820087105
|
| 247 |
+
},
|
| 248 |
+
{
|
| 249 |
+
"model": "candidate",
|
| 250 |
+
"block": 1,
|
| 251 |
+
"row": 68,
|
| 252 |
+
"milliseconds": 0.9605420054867864
|
| 253 |
+
},
|
| 254 |
+
{
|
| 255 |
+
"model": "candidate",
|
| 256 |
+
"block": 1,
|
| 257 |
+
"row": 130,
|
| 258 |
+
"milliseconds": 0.971125002251938
|
| 259 |
+
},
|
| 260 |
+
{
|
| 261 |
+
"model": "candidate",
|
| 262 |
+
"block": 1,
|
| 263 |
+
"row": 0,
|
| 264 |
+
"milliseconds": 0.9833329822868109
|
| 265 |
+
},
|
| 266 |
+
{
|
| 267 |
+
"model": "candidate",
|
| 268 |
+
"block": 1,
|
| 269 |
+
"row": 68,
|
| 270 |
+
"milliseconds": 0.9731249883770943
|
| 271 |
+
},
|
| 272 |
+
{
|
| 273 |
+
"model": "candidate",
|
| 274 |
+
"block": 1,
|
| 275 |
+
"row": 130,
|
| 276 |
+
"milliseconds": 0.9744580020196736
|
| 277 |
+
},
|
| 278 |
+
{
|
| 279 |
+
"model": "candidate",
|
| 280 |
+
"block": 1,
|
| 281 |
+
"row": 0,
|
| 282 |
+
"milliseconds": 0.9531670075375587
|
| 283 |
+
},
|
| 284 |
+
{
|
| 285 |
+
"model": "candidate",
|
| 286 |
+
"block": 1,
|
| 287 |
+
"row": 68,
|
| 288 |
+
"milliseconds": 0.960625009611249
|
| 289 |
+
},
|
| 290 |
+
{
|
| 291 |
+
"model": "candidate",
|
| 292 |
+
"block": 1,
|
| 293 |
+
"row": 130,
|
| 294 |
+
"milliseconds": 0.9434169915039092
|
| 295 |
+
},
|
| 296 |
+
{
|
| 297 |
+
"model": "candidate",
|
| 298 |
+
"block": 1,
|
| 299 |
+
"row": 0,
|
| 300 |
+
"milliseconds": 0.965375016676262
|
| 301 |
+
},
|
| 302 |
+
{
|
| 303 |
+
"model": "candidate",
|
| 304 |
+
"block": 1,
|
| 305 |
+
"row": 68,
|
| 306 |
+
"milliseconds": 0.9999169851653278
|
| 307 |
+
},
|
| 308 |
+
{
|
| 309 |
+
"model": "candidate",
|
| 310 |
+
"block": 1,
|
| 311 |
+
"row": 130,
|
| 312 |
+
"milliseconds": 0.9775409998837858
|
| 313 |
+
},
|
| 314 |
+
{
|
| 315 |
+
"model": "candidate",
|
| 316 |
+
"block": 1,
|
| 317 |
+
"row": 0,
|
| 318 |
+
"milliseconds": 0.983749981969595
|
| 319 |
+
},
|
| 320 |
+
{
|
| 321 |
+
"model": "candidate",
|
| 322 |
+
"block": 1,
|
| 323 |
+
"row": 68,
|
| 324 |
+
"milliseconds": 0.9759170061443001
|
| 325 |
+
},
|
| 326 |
+
{
|
| 327 |
+
"model": "candidate",
|
| 328 |
+
"block": 1,
|
| 329 |
+
"row": 130,
|
| 330 |
+
"milliseconds": 0.979083008132875
|
| 331 |
+
},
|
| 332 |
+
{
|
| 333 |
+
"model": "candidate",
|
| 334 |
+
"block": 1,
|
| 335 |
+
"row": 0,
|
| 336 |
+
"milliseconds": 0.9849590132944286
|
| 337 |
+
},
|
| 338 |
+
{
|
| 339 |
+
"model": "candidate",
|
| 340 |
+
"block": 1,
|
| 341 |
+
"row": 68,
|
| 342 |
+
"milliseconds": 0.9607080137357116
|
| 343 |
+
},
|
| 344 |
+
{
|
| 345 |
+
"model": "candidate",
|
| 346 |
+
"block": 1,
|
| 347 |
+
"row": 130,
|
| 348 |
+
"milliseconds": 0.9490000084042549
|
| 349 |
+
},
|
| 350 |
+
{
|
| 351 |
+
"model": "candidate",
|
| 352 |
+
"block": 1,
|
| 353 |
+
"row": 0,
|
| 354 |
+
"milliseconds": 0.9506659989710897
|
| 355 |
+
},
|
| 356 |
+
{
|
| 357 |
+
"model": "candidate",
|
| 358 |
+
"block": 1,
|
| 359 |
+
"row": 68,
|
| 360 |
+
"milliseconds": 0.9708750003483146
|
| 361 |
+
},
|
| 362 |
+
{
|
| 363 |
+
"model": "candidate",
|
| 364 |
+
"block": 1,
|
| 365 |
+
"row": 130,
|
| 366 |
+
"milliseconds": 0.9733340120874345
|
| 367 |
+
},
|
| 368 |
+
{
|
| 369 |
+
"model": "candidate",
|
| 370 |
+
"block": 1,
|
| 371 |
+
"row": 0,
|
| 372 |
+
"milliseconds": 0.9872919763438404
|
| 373 |
+
},
|
| 374 |
+
{
|
| 375 |
+
"model": "candidate",
|
| 376 |
+
"block": 1,
|
| 377 |
+
"row": 68,
|
| 378 |
+
"milliseconds": 0.970749999396503
|
| 379 |
+
},
|
| 380 |
+
{
|
| 381 |
+
"model": "candidate",
|
| 382 |
+
"block": 1,
|
| 383 |
+
"row": 130,
|
| 384 |
+
"milliseconds": 0.9687079873401672
|
| 385 |
+
},
|
| 386 |
+
{
|
| 387 |
+
"model": "candidate",
|
| 388 |
+
"block": 1,
|
| 389 |
+
"row": 0,
|
| 390 |
+
"milliseconds": 0.977249990683049
|
| 391 |
+
},
|
| 392 |
+
{
|
| 393 |
+
"model": "candidate",
|
| 394 |
+
"block": 1,
|
| 395 |
+
"row": 68,
|
| 396 |
+
"milliseconds": 0.9785419970285147
|
| 397 |
+
},
|
| 398 |
+
{
|
| 399 |
+
"model": "candidate",
|
| 400 |
+
"block": 1,
|
| 401 |
+
"row": 130,
|
| 402 |
+
"milliseconds": 0.9744160051923245
|
| 403 |
+
},
|
| 404 |
+
{
|
| 405 |
+
"model": "candidate",
|
| 406 |
+
"block": 1,
|
| 407 |
+
"row": 0,
|
| 408 |
+
"milliseconds": 0.9864169987849891
|
| 409 |
+
},
|
| 410 |
+
{
|
| 411 |
+
"model": "candidate",
|
| 412 |
+
"block": 1,
|
| 413 |
+
"row": 68,
|
| 414 |
+
"milliseconds": 0.982333003776148
|
| 415 |
+
},
|
| 416 |
+
{
|
| 417 |
+
"model": "candidate",
|
| 418 |
+
"block": 1,
|
| 419 |
+
"row": 130,
|
| 420 |
+
"milliseconds": 0.9689999860711396
|
| 421 |
+
},
|
| 422 |
+
{
|
| 423 |
+
"model": "candidate",
|
| 424 |
+
"block": 2,
|
| 425 |
+
"row": 0,
|
| 426 |
+
"milliseconds": 0.9796250087674707
|
| 427 |
+
},
|
| 428 |
+
{
|
| 429 |
+
"model": "candidate",
|
| 430 |
+
"block": 2,
|
| 431 |
+
"row": 68,
|
| 432 |
+
"milliseconds": 0.9837090037763119
|
| 433 |
+
},
|
| 434 |
+
{
|
| 435 |
+
"model": "candidate",
|
| 436 |
+
"block": 2,
|
| 437 |
+
"row": 130,
|
| 438 |
+
"milliseconds": 0.9523750049993396
|
| 439 |
+
},
|
| 440 |
+
{
|
| 441 |
+
"model": "candidate",
|
| 442 |
+
"block": 2,
|
| 443 |
+
"row": 0,
|
| 444 |
+
"milliseconds": 0.9744999988470227
|
| 445 |
+
},
|
| 446 |
+
{
|
| 447 |
+
"model": "candidate",
|
| 448 |
+
"block": 2,
|
| 449 |
+
"row": 68,
|
| 450 |
+
"milliseconds": 0.9580420155543834
|
| 451 |
+
},
|
| 452 |
+
{
|
| 453 |
+
"model": "candidate",
|
| 454 |
+
"block": 2,
|
| 455 |
+
"row": 130,
|
| 456 |
+
"milliseconds": 0.9489580115769058
|
| 457 |
+
},
|
| 458 |
+
{
|
| 459 |
+
"model": "candidate",
|
| 460 |
+
"block": 2,
|
| 461 |
+
"row": 0,
|
| 462 |
+
"milliseconds": 0.9510410018265247
|
| 463 |
+
},
|
| 464 |
+
{
|
| 465 |
+
"model": "candidate",
|
| 466 |
+
"block": 2,
|
| 467 |
+
"row": 68,
|
| 468 |
+
"milliseconds": 0.9449580102227628
|
| 469 |
+
},
|
| 470 |
+
{
|
| 471 |
+
"model": "candidate",
|
| 472 |
+
"block": 2,
|
| 473 |
+
"row": 130,
|
| 474 |
+
"milliseconds": 0.9497080172877759
|
| 475 |
+
},
|
| 476 |
+
{
|
| 477 |
+
"model": "candidate",
|
| 478 |
+
"block": 2,
|
| 479 |
+
"row": 0,
|
| 480 |
+
"milliseconds": 0.9529579838272184
|
| 481 |
+
},
|
| 482 |
+
{
|
| 483 |
+
"model": "candidate",
|
| 484 |
+
"block": 2,
|
| 485 |
+
"row": 68,
|
| 486 |
+
"milliseconds": 0.9495420090388507
|
| 487 |
+
},
|
| 488 |
+
{
|
| 489 |
+
"model": "candidate",
|
| 490 |
+
"block": 2,
|
| 491 |
+
"row": 130,
|
| 492 |
+
"milliseconds": 0.9463340102229267
|
| 493 |
+
},
|
| 494 |
+
{
|
| 495 |
+
"model": "candidate",
|
| 496 |
+
"block": 2,
|
| 497 |
+
"row": 0,
|
| 498 |
+
"milliseconds": 0.9437499975319952
|
| 499 |
+
},
|
| 500 |
+
{
|
| 501 |
+
"model": "candidate",
|
| 502 |
+
"block": 2,
|
| 503 |
+
"row": 68,
|
| 504 |
+
"milliseconds": 0.9775829967111349
|
| 505 |
+
},
|
| 506 |
+
{
|
| 507 |
+
"model": "candidate",
|
| 508 |
+
"block": 2,
|
| 509 |
+
"row": 130,
|
| 510 |
+
"milliseconds": 0.9694590116851032
|
| 511 |
+
},
|
| 512 |
+
{
|
| 513 |
+
"model": "candidate",
|
| 514 |
+
"block": 2,
|
| 515 |
+
"row": 0,
|
| 516 |
+
"milliseconds": 0.996084010694176
|
| 517 |
+
},
|
| 518 |
+
{
|
| 519 |
+
"model": "candidate",
|
| 520 |
+
"block": 2,
|
| 521 |
+
"row": 68,
|
| 522 |
+
"milliseconds": 1.0195420181844383
|
| 523 |
+
},
|
| 524 |
+
{
|
| 525 |
+
"model": "candidate",
|
| 526 |
+
"block": 2,
|
| 527 |
+
"row": 130,
|
| 528 |
+
"milliseconds": 0.9871670044958591
|
| 529 |
+
},
|
| 530 |
+
{
|
| 531 |
+
"model": "candidate",
|
| 532 |
+
"block": 2,
|
| 533 |
+
"row": 0,
|
| 534 |
+
"milliseconds": 0.9699160000309348
|
| 535 |
+
},
|
| 536 |
+
{
|
| 537 |
+
"model": "candidate",
|
| 538 |
+
"block": 2,
|
| 539 |
+
"row": 68,
|
| 540 |
+
"milliseconds": 0.9592499991413206
|
| 541 |
+
},
|
| 542 |
+
{
|
| 543 |
+
"model": "candidate",
|
| 544 |
+
"block": 2,
|
| 545 |
+
"row": 130,
|
| 546 |
+
"milliseconds": 0.9731660247780383
|
| 547 |
+
},
|
| 548 |
+
{
|
| 549 |
+
"model": "candidate",
|
| 550 |
+
"block": 2,
|
| 551 |
+
"row": 0,
|
| 552 |
+
"milliseconds": 0.9729999874252826
|
| 553 |
+
},
|
| 554 |
+
{
|
| 555 |
+
"model": "candidate",
|
| 556 |
+
"block": 2,
|
| 557 |
+
"row": 68,
|
| 558 |
+
"milliseconds": 0.9556250006426126
|
| 559 |
+
},
|
| 560 |
+
{
|
| 561 |
+
"model": "candidate",
|
| 562 |
+
"block": 2,
|
| 563 |
+
"row": 130,
|
| 564 |
+
"milliseconds": 0.9530829847790301
|
| 565 |
+
},
|
| 566 |
+
{
|
| 567 |
+
"model": "candidate",
|
| 568 |
+
"block": 2,
|
| 569 |
+
"row": 0,
|
| 570 |
+
"milliseconds": 0.9495830163359642
|
| 571 |
+
},
|
| 572 |
+
{
|
| 573 |
+
"model": "candidate",
|
| 574 |
+
"block": 2,
|
| 575 |
+
"row": 68,
|
| 576 |
+
"milliseconds": 0.9697090135887265
|
| 577 |
+
},
|
| 578 |
+
{
|
| 579 |
+
"model": "candidate",
|
| 580 |
+
"block": 2,
|
| 581 |
+
"row": 130,
|
| 582 |
+
"milliseconds": 0.9829580085352063
|
| 583 |
+
},
|
| 584 |
+
{
|
| 585 |
+
"model": "candidate",
|
| 586 |
+
"block": 2,
|
| 587 |
+
"row": 0,
|
| 588 |
+
"milliseconds": 0.9604159859009087
|
| 589 |
+
},
|
| 590 |
+
{
|
| 591 |
+
"model": "candidate",
|
| 592 |
+
"block": 2,
|
| 593 |
+
"row": 68,
|
| 594 |
+
"milliseconds": 0.9743330010678619
|
| 595 |
+
},
|
| 596 |
+
{
|
| 597 |
+
"model": "candidate",
|
| 598 |
+
"block": 2,
|
| 599 |
+
"row": 130,
|
| 600 |
+
"milliseconds": 0.9570419788360596
|
| 601 |
+
},
|
| 602 |
+
{
|
| 603 |
+
"model": "baseline",
|
| 604 |
+
"block": 3,
|
| 605 |
+
"row": 0,
|
| 606 |
+
"milliseconds": 0.927665998460725
|
| 607 |
+
},
|
| 608 |
+
{
|
| 609 |
+
"model": "baseline",
|
| 610 |
+
"block": 3,
|
| 611 |
+
"row": 68,
|
| 612 |
+
"milliseconds": 0.9297500073444098
|
| 613 |
+
},
|
| 614 |
+
{
|
| 615 |
+
"model": "baseline",
|
| 616 |
+
"block": 3,
|
| 617 |
+
"row": 130,
|
| 618 |
+
"milliseconds": 0.9148749813903123
|
| 619 |
+
},
|
| 620 |
+
{
|
| 621 |
+
"model": "baseline",
|
| 622 |
+
"block": 3,
|
| 623 |
+
"row": 0,
|
| 624 |
+
"milliseconds": 0.8912909834180027
|
| 625 |
+
},
|
| 626 |
+
{
|
| 627 |
+
"model": "baseline",
|
| 628 |
+
"block": 3,
|
| 629 |
+
"row": 68,
|
| 630 |
+
"milliseconds": 0.88170898379758
|
| 631 |
+
},
|
| 632 |
+
{
|
| 633 |
+
"model": "baseline",
|
| 634 |
+
"block": 3,
|
| 635 |
+
"row": 130,
|
| 636 |
+
"milliseconds": 0.9040829900186509
|
| 637 |
+
},
|
| 638 |
+
{
|
| 639 |
+
"model": "baseline",
|
| 640 |
+
"block": 3,
|
| 641 |
+
"row": 0,
|
| 642 |
+
"milliseconds": 0.8952920034062117
|
| 643 |
+
},
|
| 644 |
+
{
|
| 645 |
+
"model": "baseline",
|
| 646 |
+
"block": 3,
|
| 647 |
+
"row": 68,
|
| 648 |
+
"milliseconds": 0.9061660093721002
|
| 649 |
+
},
|
| 650 |
+
{
|
| 651 |
+
"model": "baseline",
|
| 652 |
+
"block": 3,
|
| 653 |
+
"row": 130,
|
| 654 |
+
"milliseconds": 0.9120829927269369
|
| 655 |
+
},
|
| 656 |
+
{
|
| 657 |
+
"model": "baseline",
|
| 658 |
+
"block": 3,
|
| 659 |
+
"row": 0,
|
| 660 |
+
"milliseconds": 0.9074159897863865
|
| 661 |
+
},
|
| 662 |
+
{
|
| 663 |
+
"model": "baseline",
|
| 664 |
+
"block": 3,
|
| 665 |
+
"row": 68,
|
| 666 |
+
"milliseconds": 0.9095839923247695
|
| 667 |
+
},
|
| 668 |
+
{
|
| 669 |
+
"model": "baseline",
|
| 670 |
+
"block": 3,
|
| 671 |
+
"row": 130,
|
| 672 |
+
"milliseconds": 0.883542001247406
|
| 673 |
+
},
|
| 674 |
+
{
|
| 675 |
+
"model": "baseline",
|
| 676 |
+
"block": 3,
|
| 677 |
+
"row": 0,
|
| 678 |
+
"milliseconds": 0.8904590213205665
|
| 679 |
+
},
|
| 680 |
+
{
|
| 681 |
+
"model": "baseline",
|
| 682 |
+
"block": 3,
|
| 683 |
+
"row": 68,
|
| 684 |
+
"milliseconds": 0.8850830199662596
|
| 685 |
+
},
|
| 686 |
+
{
|
| 687 |
+
"model": "baseline",
|
| 688 |
+
"block": 3,
|
| 689 |
+
"row": 130,
|
| 690 |
+
"milliseconds": 0.8904580026865005
|
| 691 |
+
},
|
| 692 |
+
{
|
| 693 |
+
"model": "baseline",
|
| 694 |
+
"block": 3,
|
| 695 |
+
"row": 0,
|
| 696 |
+
"milliseconds": 0.9044160251505673
|
| 697 |
+
},
|
| 698 |
+
{
|
| 699 |
+
"model": "baseline",
|
| 700 |
+
"block": 3,
|
| 701 |
+
"row": 68,
|
| 702 |
+
"milliseconds": 0.9244170214515179
|
| 703 |
+
},
|
| 704 |
+
{
|
| 705 |
+
"model": "baseline",
|
| 706 |
+
"block": 3,
|
| 707 |
+
"row": 130,
|
| 708 |
+
"milliseconds": 0.9261659870389849
|
| 709 |
+
},
|
| 710 |
+
{
|
| 711 |
+
"model": "baseline",
|
| 712 |
+
"block": 3,
|
| 713 |
+
"row": 0,
|
| 714 |
+
"milliseconds": 0.9326669969595969
|
| 715 |
+
},
|
| 716 |
+
{
|
| 717 |
+
"model": "baseline",
|
| 718 |
+
"block": 3,
|
| 719 |
+
"row": 68,
|
| 720 |
+
"milliseconds": 0.9306249849032611
|
| 721 |
+
},
|
| 722 |
+
{
|
| 723 |
+
"model": "baseline",
|
| 724 |
+
"block": 3,
|
| 725 |
+
"row": 130,
|
| 726 |
+
"milliseconds": 0.8886670111678541
|
| 727 |
+
},
|
| 728 |
+
{
|
| 729 |
+
"model": "baseline",
|
| 730 |
+
"block": 3,
|
| 731 |
+
"row": 0,
|
| 732 |
+
"milliseconds": 0.8824579999782145
|
| 733 |
+
},
|
| 734 |
+
{
|
| 735 |
+
"model": "baseline",
|
| 736 |
+
"block": 3,
|
| 737 |
+
"row": 68,
|
| 738 |
+
"milliseconds": 0.8989160123746842
|
| 739 |
+
},
|
| 740 |
+
{
|
| 741 |
+
"model": "baseline",
|
| 742 |
+
"block": 3,
|
| 743 |
+
"row": 130,
|
| 744 |
+
"milliseconds": 0.8977499965112656
|
| 745 |
+
},
|
| 746 |
+
{
|
| 747 |
+
"model": "baseline",
|
| 748 |
+
"block": 3,
|
| 749 |
+
"row": 0,
|
| 750 |
+
"milliseconds": 0.8965420129243284
|
| 751 |
+
},
|
| 752 |
+
{
|
| 753 |
+
"model": "baseline",
|
| 754 |
+
"block": 3,
|
| 755 |
+
"row": 68,
|
| 756 |
+
"milliseconds": 0.9054580004885793
|
| 757 |
+
},
|
| 758 |
+
{
|
| 759 |
+
"model": "baseline",
|
| 760 |
+
"block": 3,
|
| 761 |
+
"row": 130,
|
| 762 |
+
"milliseconds": 0.93029101844877
|
| 763 |
+
},
|
| 764 |
+
{
|
| 765 |
+
"model": "baseline",
|
| 766 |
+
"block": 3,
|
| 767 |
+
"row": 0,
|
| 768 |
+
"milliseconds": 0.9197920153383166
|
| 769 |
+
},
|
| 770 |
+
{
|
| 771 |
+
"model": "baseline",
|
| 772 |
+
"block": 3,
|
| 773 |
+
"row": 68,
|
| 774 |
+
"milliseconds": 0.9319579985458404
|
| 775 |
+
},
|
| 776 |
+
{
|
| 777 |
+
"model": "baseline",
|
| 778 |
+
"block": 3,
|
| 779 |
+
"row": 130,
|
| 780 |
+
"milliseconds": 0.9407080069649965
|
| 781 |
+
}
|
| 782 |
+
],
|
| 783 |
+
"script_sha256": "4633df7ad5f90d6aed37d5ef4f7a2d2231fdadd272ef1aa3057c237b2f937df8"
|
| 784 |
+
}
|
reports/ane-gather-fallback.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"hardware": {
|
| 3 |
+
"device": "arm64",
|
| 4 |
+
"chip": "Apple M5 Pro",
|
| 5 |
+
"ram": "24GB",
|
| 6 |
+
"os_version": "macOS 27.0",
|
| 7 |
+
"timestamp": "2026-09-19T20:08:52.988799+00:00"
|
| 8 |
+
},
|
| 9 |
+
"models": [
|
| 10 |
+
{
|
| 11 |
+
"model_path": "build/ane-gather/cua_s1_forms_fp16_options32.mlmodelc",
|
| 12 |
+
"model_name": "cua_s1_forms_fp16_options32",
|
| 13 |
+
"fallback": {
|
| 14 |
+
"compute_units": "cpu_and_neural_engine",
|
| 15 |
+
"total_ops": 165,
|
| 16 |
+
"ane_ops": 162,
|
| 17 |
+
"gpu_ops": 0,
|
| 18 |
+
"cpu_ops": 3,
|
| 19 |
+
"ane_percent": 98.2,
|
| 20 |
+
"reasons": [
|
| 21 |
+
{
|
| 22 |
+
"reason": "Unsupported tensor data type: int32",
|
| 23 |
+
"count": 3,
|
| 24 |
+
"estimated_cpu_runtime_ms": 0.003,
|
| 25 |
+
"op_types": {
|
| 26 |
+
"ios17.cast": 3
|
| 27 |
+
},
|
| 28 |
+
"ops": [
|
| 29 |
+
"option_mask_to_fp16",
|
| 30 |
+
"context_ids_to_fp16",
|
| 31 |
+
"option_ids_to_fp16"
|
| 32 |
+
]
|
| 33 |
+
}
|
| 34 |
+
]
|
| 35 |
+
}
|
| 36 |
+
}
|
| 37 |
+
]
|
| 38 |
+
}
|
reports/ane-gather-profile.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
reports/ane-gather-verification.json
ADDED
|
@@ -0,0 +1,3314 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"purpose": "Local conversion parity on the upstream demo; not a generalization or live GUI benchmark",
|
| 3 |
+
"created_utc": "2026-09-19T20:05:25.654377+00:00",
|
| 4 |
+
"model_revision": "f54adbf447f4ca6ec259f529ee3f2e3e09f8cc71",
|
| 5 |
+
"source_revision": "83f142c4290a0f7d9ed545ae8532858c6e4f8145",
|
| 6 |
+
"dataset_revision": "8273f34778b99ac2e12d9f6e7d57dad99ae20845",
|
| 7 |
+
"dataset_file": "demo.jsonl",
|
| 8 |
+
"dataset_sha256": "4f43b442e79ba2e2ce731e27e9b8e340c2b5dfcaffc92d8ff564c34f115ff1ca",
|
| 9 |
+
"conversion": {
|
| 10 |
+
"model": "cua_s1_forms_fp16_options32.mlpackage",
|
| 11 |
+
"precision": "float16",
|
| 12 |
+
"optimization": "ane-gather",
|
| 13 |
+
"minimum_target": "iOS17/macOS14",
|
| 14 |
+
"limits": {
|
| 15 |
+
"context_bytes": 224,
|
| 16 |
+
"option_bytes": 96,
|
| 17 |
+
"max_options": 32
|
| 18 |
+
},
|
| 19 |
+
"model_config": {
|
| 20 |
+
"context_tokens": 224,
|
| 21 |
+
"encoder": "tinyx",
|
| 22 |
+
"heads": 4,
|
| 23 |
+
"hf_model": "Qwen/Qwen2.5-0.5B",
|
| 24 |
+
"layers": 2,
|
| 25 |
+
"option_tokens": 96,
|
| 26 |
+
"rank": 128,
|
| 27 |
+
"width": 128
|
| 28 |
+
},
|
| 29 |
+
"parameters": 706048,
|
| 30 |
+
"assets_lock_sha256": "8e65ad70af6bb814b571cdcfe828ba4bc339147da2d2211cbeac416163ef18ba",
|
| 31 |
+
"model_revision": "f54adbf447f4ca6ec259f529ee3f2e3e09f8cc71",
|
| 32 |
+
"source_revision": "83f142c4290a0f7d9ed545ae8532858c6e4f8145",
|
| 33 |
+
"trace_row": 0,
|
| 34 |
+
"trace_dataset_revision": "8273f34778b99ac2e12d9f6e7d57dad99ae20845",
|
| 35 |
+
"export_seconds": 0.6771400420111604,
|
| 36 |
+
"python": "3.11.11",
|
| 37 |
+
"torch": "2.7.0",
|
| 38 |
+
"coremltools": "9.0",
|
| 39 |
+
"package_files": {
|
| 40 |
+
"Data/com.apple.CoreML/model.mlmodel": "de18e313c3b625e35d008ed8b6b24108edc6df7bf2fae9533af03519eca11b63",
|
| 41 |
+
"Data/com.apple.CoreML/weights/weight.bin": "4da9259f798e44f5a1b50769ee1916fd3747c4d723dd9997b516c7fe238c7895",
|
| 42 |
+
"Manifest.json": "38f812a04eb2322080634ba788c61df362336168466ca67e5549058d346ac793"
|
| 43 |
+
}
|
| 44 |
+
},
|
| 45 |
+
"environment": {
|
| 46 |
+
"machine": "Apple M5 Pro",
|
| 47 |
+
"os": "27.0",
|
| 48 |
+
"python": "3.11.11",
|
| 49 |
+
"torch": "2.7.0",
|
| 50 |
+
"coremltools": "9.0",
|
| 51 |
+
"torch_cpu_threads": 2
|
| 52 |
+
},
|
| 53 |
+
"rows": 196,
|
| 54 |
+
"upstream": {
|
| 55 |
+
"correct": 196,
|
| 56 |
+
"accuracy": 1.0,
|
| 57 |
+
"inference_latency_ms": {
|
| 58 |
+
"count": 196,
|
| 59 |
+
"median_ms": 2.46754199906718,
|
| 60 |
+
"p95_ms": 3.106593489064835,
|
| 61 |
+
"min_ms": 1.7850839940365404,
|
| 62 |
+
"max_ms": 3.8927909918129444
|
| 63 |
+
}
|
| 64 |
+
},
|
| 65 |
+
"export_adapter_fp32": {
|
| 66 |
+
"argmax_agreement": 196,
|
| 67 |
+
"max_abs_probability_error": 1.1324882507324219e-06
|
| 68 |
+
},
|
| 69 |
+
"host_preprocessing_latency_ms": {
|
| 70 |
+
"count": 196,
|
| 71 |
+
"median_ms": 0.03879200085066259,
|
| 72 |
+
"p95_ms": 0.050938004278577864,
|
| 73 |
+
"min_ms": 0.026541994884610176,
|
| 74 |
+
"max_ms": 0.06945800851099193
|
| 75 |
+
},
|
| 76 |
+
"thresholds": {
|
| 77 |
+
"argmax_agreement": 1.0,
|
| 78 |
+
"max_abs_probability_error": 0.005,
|
| 79 |
+
"export_adapter_max_abs_probability_error": 0.0001,
|
| 80 |
+
"allow_accuracy_loss": false
|
| 81 |
+
},
|
| 82 |
+
"backends": {
|
| 83 |
+
"ALL": {
|
| 84 |
+
"passed": true,
|
| 85 |
+
"correct": 196,
|
| 86 |
+
"accuracy": 1.0,
|
| 87 |
+
"argmax_agreement": 196,
|
| 88 |
+
"max_abs_probability_error": 0.00233614444732666,
|
| 89 |
+
"mean_row_max_abs_probability_error": 2.934475840582507e-05,
|
| 90 |
+
"max_abs_logit_error": 0.07230281829833984,
|
| 91 |
+
"load_seconds": 0.6175256659917068,
|
| 92 |
+
"warm_inference_latency_ms": {
|
| 93 |
+
"count": 196,
|
| 94 |
+
"median_ms": 0.9540419996483251,
|
| 95 |
+
"p95_ms": 1.0018329994636588,
|
| 96 |
+
"min_ms": 0.9285419946536422,
|
| 97 |
+
"max_ms": 1.5723749820608646
|
| 98 |
+
},
|
| 99 |
+
"reversed_option_order": {
|
| 100 |
+
"rows": 6,
|
| 101 |
+
"max_abs_probability_error": 3.1828880310058594e-05
|
| 102 |
+
},
|
| 103 |
+
"per_action": {
|
| 104 |
+
"fill": {
|
| 105 |
+
"rows": 36,
|
| 106 |
+
"correct": 36
|
| 107 |
+
},
|
| 108 |
+
"skip": {
|
| 109 |
+
"rows": 150,
|
| 110 |
+
"correct": 150
|
| 111 |
+
},
|
| 112 |
+
"check": {
|
| 113 |
+
"rows": 4,
|
| 114 |
+
"correct": 4
|
| 115 |
+
},
|
| 116 |
+
"click": {
|
| 117 |
+
"rows": 6,
|
| 118 |
+
"correct": 6
|
| 119 |
+
}
|
| 120 |
+
},
|
| 121 |
+
"decisions": [
|
| 122 |
+
{
|
| 123 |
+
"row": 0,
|
| 124 |
+
"label": 22,
|
| 125 |
+
"upstream": 22,
|
| 126 |
+
"coreml": 22,
|
| 127 |
+
"max_abs_probability_error": 3.1828880310058594e-05,
|
| 128 |
+
"max_abs_logit_error": 0.03086566925048828
|
| 129 |
+
},
|
| 130 |
+
{
|
| 131 |
+
"row": 1,
|
| 132 |
+
"label": 23,
|
| 133 |
+
"upstream": 23,
|
| 134 |
+
"coreml": 23,
|
| 135 |
+
"max_abs_probability_error": 3.814697265625e-05,
|
| 136 |
+
"max_abs_logit_error": 0.020841598510742188
|
| 137 |
+
},
|
| 138 |
+
{
|
| 139 |
+
"row": 2,
|
| 140 |
+
"label": 2,
|
| 141 |
+
"upstream": 2,
|
| 142 |
+
"coreml": 2,
|
| 143 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 144 |
+
"max_abs_logit_error": 0.024377822875976562
|
| 145 |
+
},
|
| 146 |
+
{
|
| 147 |
+
"row": 3,
|
| 148 |
+
"label": 5,
|
| 149 |
+
"upstream": 5,
|
| 150 |
+
"coreml": 5,
|
| 151 |
+
"max_abs_probability_error": 3.218650817871094e-05,
|
| 152 |
+
"max_abs_logit_error": 0.030775785446166992
|
| 153 |
+
},
|
| 154 |
+
{
|
| 155 |
+
"row": 4,
|
| 156 |
+
"label": 4,
|
| 157 |
+
"upstream": 4,
|
| 158 |
+
"coreml": 4,
|
| 159 |
+
"max_abs_probability_error": 2.944469451904297e-05,
|
| 160 |
+
"max_abs_logit_error": 0.03573417663574219
|
| 161 |
+
},
|
| 162 |
+
{
|
| 163 |
+
"row": 5,
|
| 164 |
+
"label": 6,
|
| 165 |
+
"upstream": 6,
|
| 166 |
+
"coreml": 6,
|
| 167 |
+
"max_abs_probability_error": 1.2636184692382812e-05,
|
| 168 |
+
"max_abs_logit_error": 0.026729822158813477
|
| 169 |
+
},
|
| 170 |
+
{
|
| 171 |
+
"row": 6,
|
| 172 |
+
"label": 7,
|
| 173 |
+
"upstream": 7,
|
| 174 |
+
"coreml": 7,
|
| 175 |
+
"max_abs_probability_error": 2.3365020751953125e-05,
|
| 176 |
+
"max_abs_logit_error": 0.023685455322265625
|
| 177 |
+
},
|
| 178 |
+
{
|
| 179 |
+
"row": 7,
|
| 180 |
+
"label": 8,
|
| 181 |
+
"upstream": 8,
|
| 182 |
+
"coreml": 8,
|
| 183 |
+
"max_abs_probability_error": 0.00014638900756835938,
|
| 184 |
+
"max_abs_logit_error": 0.04038810729980469
|
| 185 |
+
},
|
| 186 |
+
{
|
| 187 |
+
"row": 8,
|
| 188 |
+
"label": 9,
|
| 189 |
+
"upstream": 9,
|
| 190 |
+
"coreml": 9,
|
| 191 |
+
"max_abs_probability_error": 1.1920928955078125e-06,
|
| 192 |
+
"max_abs_logit_error": 0.02460002899169922
|
| 193 |
+
},
|
| 194 |
+
{
|
| 195 |
+
"row": 9,
|
| 196 |
+
"label": 10,
|
| 197 |
+
"upstream": 10,
|
| 198 |
+
"coreml": 10,
|
| 199 |
+
"max_abs_probability_error": 2.1457672119140625e-05,
|
| 200 |
+
"max_abs_logit_error": 0.018064022064208984
|
| 201 |
+
},
|
| 202 |
+
{
|
| 203 |
+
"row": 10,
|
| 204 |
+
"label": 11,
|
| 205 |
+
"upstream": 11,
|
| 206 |
+
"coreml": 11,
|
| 207 |
+
"max_abs_probability_error": 5.960464477539062e-07,
|
| 208 |
+
"max_abs_logit_error": 0.047691673040390015
|
| 209 |
+
},
|
| 210 |
+
{
|
| 211 |
+
"row": 11,
|
| 212 |
+
"label": 13,
|
| 213 |
+
"upstream": 13,
|
| 214 |
+
"coreml": 13,
|
| 215 |
+
"max_abs_probability_error": 3.2186508178710938e-06,
|
| 216 |
+
"max_abs_logit_error": 0.03340768814086914
|
| 217 |
+
},
|
| 218 |
+
{
|
| 219 |
+
"row": 12,
|
| 220 |
+
"label": 15,
|
| 221 |
+
"upstream": 15,
|
| 222 |
+
"coreml": 15,
|
| 223 |
+
"max_abs_probability_error": 2.384185791015625e-06,
|
| 224 |
+
"max_abs_logit_error": 0.053191184997558594
|
| 225 |
+
},
|
| 226 |
+
{
|
| 227 |
+
"row": 13,
|
| 228 |
+
"label": 16,
|
| 229 |
+
"upstream": 16,
|
| 230 |
+
"coreml": 16,
|
| 231 |
+
"max_abs_probability_error": 0.0005360841751098633,
|
| 232 |
+
"max_abs_logit_error": 0.03362560272216797
|
| 233 |
+
},
|
| 234 |
+
{
|
| 235 |
+
"row": 14,
|
| 236 |
+
"label": 26,
|
| 237 |
+
"upstream": 26,
|
| 238 |
+
"coreml": 26,
|
| 239 |
+
"max_abs_probability_error": 1.8596649169921875e-05,
|
| 240 |
+
"max_abs_logit_error": 0.024669170379638672
|
| 241 |
+
},
|
| 242 |
+
{
|
| 243 |
+
"row": 15,
|
| 244 |
+
"label": 24,
|
| 245 |
+
"upstream": 24,
|
| 246 |
+
"coreml": 24,
|
| 247 |
+
"max_abs_probability_error": 1.6689300537109375e-05,
|
| 248 |
+
"max_abs_logit_error": 0.034501075744628906
|
| 249 |
+
},
|
| 250 |
+
{
|
| 251 |
+
"row": 16,
|
| 252 |
+
"label": 26,
|
| 253 |
+
"upstream": 26,
|
| 254 |
+
"coreml": 26,
|
| 255 |
+
"max_abs_probability_error": 1.440092489701783e-08,
|
| 256 |
+
"max_abs_logit_error": 0.033290743827819824
|
| 257 |
+
},
|
| 258 |
+
{
|
| 259 |
+
"row": 17,
|
| 260 |
+
"label": 25,
|
| 261 |
+
"upstream": 25,
|
| 262 |
+
"coreml": 25,
|
| 263 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 264 |
+
"max_abs_logit_error": 0.03323173522949219
|
| 265 |
+
},
|
| 266 |
+
{
|
| 267 |
+
"row": 18,
|
| 268 |
+
"label": 26,
|
| 269 |
+
"upstream": 26,
|
| 270 |
+
"coreml": 26,
|
| 271 |
+
"max_abs_probability_error": 8.430758313693332e-09,
|
| 272 |
+
"max_abs_logit_error": 0.022179126739501953
|
| 273 |
+
},
|
| 274 |
+
{
|
| 275 |
+
"row": 19,
|
| 276 |
+
"label": 26,
|
| 277 |
+
"upstream": 26,
|
| 278 |
+
"coreml": 26,
|
| 279 |
+
"max_abs_probability_error": 3.0266471551243512e-09,
|
| 280 |
+
"max_abs_logit_error": 0.029880523681640625
|
| 281 |
+
},
|
| 282 |
+
{
|
| 283 |
+
"row": 20,
|
| 284 |
+
"label": 26,
|
| 285 |
+
"upstream": 26,
|
| 286 |
+
"coreml": 26,
|
| 287 |
+
"max_abs_probability_error": 2.4500966588902884e-08,
|
| 288 |
+
"max_abs_logit_error": 0.031145095825195312
|
| 289 |
+
},
|
| 290 |
+
{
|
| 291 |
+
"row": 21,
|
| 292 |
+
"label": 26,
|
| 293 |
+
"upstream": 26,
|
| 294 |
+
"coreml": 26,
|
| 295 |
+
"max_abs_probability_error": 1.647379281599637e-11,
|
| 296 |
+
"max_abs_logit_error": 0.03861522674560547
|
| 297 |
+
},
|
| 298 |
+
{
|
| 299 |
+
"row": 22,
|
| 300 |
+
"label": 26,
|
| 301 |
+
"upstream": 26,
|
| 302 |
+
"coreml": 26,
|
| 303 |
+
"max_abs_probability_error": 7.152557373046875e-07,
|
| 304 |
+
"max_abs_logit_error": 0.027164459228515625
|
| 305 |
+
},
|
| 306 |
+
{
|
| 307 |
+
"row": 23,
|
| 308 |
+
"label": 26,
|
| 309 |
+
"upstream": 26,
|
| 310 |
+
"coreml": 26,
|
| 311 |
+
"max_abs_probability_error": 5.960464477539062e-07,
|
| 312 |
+
"max_abs_logit_error": 0.058716535568237305
|
| 313 |
+
},
|
| 314 |
+
{
|
| 315 |
+
"row": 24,
|
| 316 |
+
"label": 26,
|
| 317 |
+
"upstream": 26,
|
| 318 |
+
"coreml": 26,
|
| 319 |
+
"max_abs_probability_error": 2.5055844551924444e-11,
|
| 320 |
+
"max_abs_logit_error": 0.035381317138671875
|
| 321 |
+
},
|
| 322 |
+
{
|
| 323 |
+
"row": 25,
|
| 324 |
+
"label": 26,
|
| 325 |
+
"upstream": 26,
|
| 326 |
+
"coreml": 26,
|
| 327 |
+
"max_abs_probability_error": 6.995705792434137e-09,
|
| 328 |
+
"max_abs_logit_error": 0.04862499237060547
|
| 329 |
+
},
|
| 330 |
+
{
|
| 331 |
+
"row": 26,
|
| 332 |
+
"label": 26,
|
| 333 |
+
"upstream": 26,
|
| 334 |
+
"coreml": 26,
|
| 335 |
+
"max_abs_probability_error": 6.470584068551943e-10,
|
| 336 |
+
"max_abs_logit_error": 0.029034733772277832
|
| 337 |
+
},
|
| 338 |
+
{
|
| 339 |
+
"row": 27,
|
| 340 |
+
"label": 26,
|
| 341 |
+
"upstream": 26,
|
| 342 |
+
"coreml": 26,
|
| 343 |
+
"max_abs_probability_error": 6.973024935241767e-11,
|
| 344 |
+
"max_abs_logit_error": 0.03808116912841797
|
| 345 |
+
},
|
| 346 |
+
{
|
| 347 |
+
"row": 28,
|
| 348 |
+
"label": 26,
|
| 349 |
+
"upstream": 26,
|
| 350 |
+
"coreml": 26,
|
| 351 |
+
"max_abs_probability_error": 5.994321927715873e-09,
|
| 352 |
+
"max_abs_logit_error": 0.03319191932678223
|
| 353 |
+
},
|
| 354 |
+
{
|
| 355 |
+
"row": 29,
|
| 356 |
+
"label": 26,
|
| 357 |
+
"upstream": 26,
|
| 358 |
+
"coreml": 26,
|
| 359 |
+
"max_abs_probability_error": 2.4426039316183257e-11,
|
| 360 |
+
"max_abs_logit_error": 0.030045509338378906
|
| 361 |
+
},
|
| 362 |
+
{
|
| 363 |
+
"row": 30,
|
| 364 |
+
"label": 26,
|
| 365 |
+
"upstream": 26,
|
| 366 |
+
"coreml": 26,
|
| 367 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 368 |
+
"max_abs_logit_error": 0.026231765747070312
|
| 369 |
+
},
|
| 370 |
+
{
|
| 371 |
+
"row": 31,
|
| 372 |
+
"label": 26,
|
| 373 |
+
"upstream": 26,
|
| 374 |
+
"coreml": 26,
|
| 375 |
+
"max_abs_probability_error": 7.78299757975276e-10,
|
| 376 |
+
"max_abs_logit_error": 0.033112093806266785
|
| 377 |
+
},
|
| 378 |
+
{
|
| 379 |
+
"row": 32,
|
| 380 |
+
"label": 26,
|
| 381 |
+
"upstream": 26,
|
| 382 |
+
"coreml": 26,
|
| 383 |
+
"max_abs_probability_error": 6.185003176284454e-09,
|
| 384 |
+
"max_abs_logit_error": 0.022128582000732422
|
| 385 |
+
},
|
| 386 |
+
{
|
| 387 |
+
"row": 33,
|
| 388 |
+
"label": 26,
|
| 389 |
+
"upstream": 26,
|
| 390 |
+
"coreml": 26,
|
| 391 |
+
"max_abs_probability_error": 3.4556297823229443e-09,
|
| 392 |
+
"max_abs_logit_error": 0.038306236267089844
|
| 393 |
+
},
|
| 394 |
+
{
|
| 395 |
+
"row": 34,
|
| 396 |
+
"label": 26,
|
| 397 |
+
"upstream": 26,
|
| 398 |
+
"coreml": 26,
|
| 399 |
+
"max_abs_probability_error": 0.0004820823669433594,
|
| 400 |
+
"max_abs_logit_error": 0.032683372497558594
|
| 401 |
+
},
|
| 402 |
+
{
|
| 403 |
+
"row": 35,
|
| 404 |
+
"label": 26,
|
| 405 |
+
"upstream": 26,
|
| 406 |
+
"coreml": 26,
|
| 407 |
+
"max_abs_probability_error": 1.462750809366753e-09,
|
| 408 |
+
"max_abs_logit_error": 0.029730796813964844
|
| 409 |
+
},
|
| 410 |
+
{
|
| 411 |
+
"row": 36,
|
| 412 |
+
"label": 26,
|
| 413 |
+
"upstream": 26,
|
| 414 |
+
"coreml": 26,
|
| 415 |
+
"max_abs_probability_error": 2.7510341227277024e-10,
|
| 416 |
+
"max_abs_logit_error": 0.02333354949951172
|
| 417 |
+
},
|
| 418 |
+
{
|
| 419 |
+
"row": 37,
|
| 420 |
+
"label": 26,
|
| 421 |
+
"upstream": 26,
|
| 422 |
+
"coreml": 26,
|
| 423 |
+
"max_abs_probability_error": 2.657592190757896e-08,
|
| 424 |
+
"max_abs_logit_error": 0.022855758666992188
|
| 425 |
+
},
|
| 426 |
+
{
|
| 427 |
+
"row": 38,
|
| 428 |
+
"label": 26,
|
| 429 |
+
"upstream": 26,
|
| 430 |
+
"coreml": 26,
|
| 431 |
+
"max_abs_probability_error": 9.552543478452691e-11,
|
| 432 |
+
"max_abs_logit_error": 0.023164749145507812
|
| 433 |
+
},
|
| 434 |
+
{
|
| 435 |
+
"row": 39,
|
| 436 |
+
"label": 26,
|
| 437 |
+
"upstream": 26,
|
| 438 |
+
"coreml": 26,
|
| 439 |
+
"max_abs_probability_error": 4.04716482549361e-10,
|
| 440 |
+
"max_abs_logit_error": 0.02880859375
|
| 441 |
+
},
|
| 442 |
+
{
|
| 443 |
+
"row": 40,
|
| 444 |
+
"label": 26,
|
| 445 |
+
"upstream": 26,
|
| 446 |
+
"coreml": 26,
|
| 447 |
+
"max_abs_probability_error": 0.00021719932556152344,
|
| 448 |
+
"max_abs_logit_error": 0.04735088348388672
|
| 449 |
+
},
|
| 450 |
+
{
|
| 451 |
+
"row": 41,
|
| 452 |
+
"label": 26,
|
| 453 |
+
"upstream": 26,
|
| 454 |
+
"coreml": 26,
|
| 455 |
+
"max_abs_probability_error": 6.146233744175333e-09,
|
| 456 |
+
"max_abs_logit_error": 0.03671276569366455
|
| 457 |
+
},
|
| 458 |
+
{
|
| 459 |
+
"row": 42,
|
| 460 |
+
"label": 26,
|
| 461 |
+
"upstream": 26,
|
| 462 |
+
"coreml": 26,
|
| 463 |
+
"max_abs_probability_error": 1.8819494851385343e-09,
|
| 464 |
+
"max_abs_logit_error": 0.023815155029296875
|
| 465 |
+
},
|
| 466 |
+
{
|
| 467 |
+
"row": 43,
|
| 468 |
+
"label": 26,
|
| 469 |
+
"upstream": 26,
|
| 470 |
+
"coreml": 26,
|
| 471 |
+
"max_abs_probability_error": 7.152557373046875e-07,
|
| 472 |
+
"max_abs_logit_error": 0.02039623260498047
|
| 473 |
+
},
|
| 474 |
+
{
|
| 475 |
+
"row": 44,
|
| 476 |
+
"label": 26,
|
| 477 |
+
"upstream": 26,
|
| 478 |
+
"coreml": 26,
|
| 479 |
+
"max_abs_probability_error": 1.780525865635596e-10,
|
| 480 |
+
"max_abs_logit_error": 0.022927284240722656
|
| 481 |
+
},
|
| 482 |
+
{
|
| 483 |
+
"row": 45,
|
| 484 |
+
"label": 26,
|
| 485 |
+
"upstream": 26,
|
| 486 |
+
"coreml": 26,
|
| 487 |
+
"max_abs_probability_error": 3.414331317674879e-11,
|
| 488 |
+
"max_abs_logit_error": 0.030417919158935547
|
| 489 |
+
},
|
| 490 |
+
{
|
| 491 |
+
"row": 46,
|
| 492 |
+
"label": 26,
|
| 493 |
+
"upstream": 26,
|
| 494 |
+
"coreml": 26,
|
| 495 |
+
"max_abs_probability_error": 5.599257724142603e-10,
|
| 496 |
+
"max_abs_logit_error": 0.025608062744140625
|
| 497 |
+
},
|
| 498 |
+
{
|
| 499 |
+
"row": 47,
|
| 500 |
+
"label": 26,
|
| 501 |
+
"upstream": 26,
|
| 502 |
+
"coreml": 26,
|
| 503 |
+
"max_abs_probability_error": 5.212314607705437e-11,
|
| 504 |
+
"max_abs_logit_error": 0.022733211517333984
|
| 505 |
+
},
|
| 506 |
+
{
|
| 507 |
+
"row": 48,
|
| 508 |
+
"label": 26,
|
| 509 |
+
"upstream": 26,
|
| 510 |
+
"coreml": 26,
|
| 511 |
+
"max_abs_probability_error": 1.8596649169921875e-05,
|
| 512 |
+
"max_abs_logit_error": 0.024669170379638672
|
| 513 |
+
},
|
| 514 |
+
{
|
| 515 |
+
"row": 49,
|
| 516 |
+
"label": 26,
|
| 517 |
+
"upstream": 26,
|
| 518 |
+
"coreml": 26,
|
| 519 |
+
"max_abs_probability_error": 1.932842080831776e-10,
|
| 520 |
+
"max_abs_logit_error": 0.030317306518554688
|
| 521 |
+
},
|
| 522 |
+
{
|
| 523 |
+
"row": 50,
|
| 524 |
+
"label": 26,
|
| 525 |
+
"upstream": 26,
|
| 526 |
+
"coreml": 26,
|
| 527 |
+
"max_abs_probability_error": 1.440092489701783e-08,
|
| 528 |
+
"max_abs_logit_error": 0.033290743827819824
|
| 529 |
+
},
|
| 530 |
+
{
|
| 531 |
+
"row": 51,
|
| 532 |
+
"label": 25,
|
| 533 |
+
"upstream": 25,
|
| 534 |
+
"coreml": 25,
|
| 535 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 536 |
+
"max_abs_logit_error": 0.03323173522949219
|
| 537 |
+
},
|
| 538 |
+
{
|
| 539 |
+
"row": 52,
|
| 540 |
+
"label": 26,
|
| 541 |
+
"upstream": 26,
|
| 542 |
+
"coreml": 26,
|
| 543 |
+
"max_abs_probability_error": 8.430758313693332e-09,
|
| 544 |
+
"max_abs_logit_error": 0.022179126739501953
|
| 545 |
+
},
|
| 546 |
+
{
|
| 547 |
+
"row": 53,
|
| 548 |
+
"label": 26,
|
| 549 |
+
"upstream": 26,
|
| 550 |
+
"coreml": 26,
|
| 551 |
+
"max_abs_probability_error": 3.0266471551243512e-09,
|
| 552 |
+
"max_abs_logit_error": 0.029880523681640625
|
| 553 |
+
},
|
| 554 |
+
{
|
| 555 |
+
"row": 54,
|
| 556 |
+
"label": 26,
|
| 557 |
+
"upstream": 26,
|
| 558 |
+
"coreml": 26,
|
| 559 |
+
"max_abs_probability_error": 2.4500966588902884e-08,
|
| 560 |
+
"max_abs_logit_error": 0.031145095825195312
|
| 561 |
+
},
|
| 562 |
+
{
|
| 563 |
+
"row": 55,
|
| 564 |
+
"label": 26,
|
| 565 |
+
"upstream": 26,
|
| 566 |
+
"coreml": 26,
|
| 567 |
+
"max_abs_probability_error": 1.647379281599637e-11,
|
| 568 |
+
"max_abs_logit_error": 0.03861522674560547
|
| 569 |
+
},
|
| 570 |
+
{
|
| 571 |
+
"row": 56,
|
| 572 |
+
"label": 26,
|
| 573 |
+
"upstream": 26,
|
| 574 |
+
"coreml": 26,
|
| 575 |
+
"max_abs_probability_error": 7.152557373046875e-07,
|
| 576 |
+
"max_abs_logit_error": 0.027164459228515625
|
| 577 |
+
},
|
| 578 |
+
{
|
| 579 |
+
"row": 57,
|
| 580 |
+
"label": 26,
|
| 581 |
+
"upstream": 26,
|
| 582 |
+
"coreml": 26,
|
| 583 |
+
"max_abs_probability_error": 5.960464477539062e-07,
|
| 584 |
+
"max_abs_logit_error": 0.058716535568237305
|
| 585 |
+
},
|
| 586 |
+
{
|
| 587 |
+
"row": 58,
|
| 588 |
+
"label": 26,
|
| 589 |
+
"upstream": 26,
|
| 590 |
+
"coreml": 26,
|
| 591 |
+
"max_abs_probability_error": 2.5055844551924444e-11,
|
| 592 |
+
"max_abs_logit_error": 0.035381317138671875
|
| 593 |
+
},
|
| 594 |
+
{
|
| 595 |
+
"row": 59,
|
| 596 |
+
"label": 26,
|
| 597 |
+
"upstream": 26,
|
| 598 |
+
"coreml": 26,
|
| 599 |
+
"max_abs_probability_error": 6.995705792434137e-09,
|
| 600 |
+
"max_abs_logit_error": 0.04862499237060547
|
| 601 |
+
},
|
| 602 |
+
{
|
| 603 |
+
"row": 60,
|
| 604 |
+
"label": 26,
|
| 605 |
+
"upstream": 26,
|
| 606 |
+
"coreml": 26,
|
| 607 |
+
"max_abs_probability_error": 6.470584068551943e-10,
|
| 608 |
+
"max_abs_logit_error": 0.029034733772277832
|
| 609 |
+
},
|
| 610 |
+
{
|
| 611 |
+
"row": 61,
|
| 612 |
+
"label": 26,
|
| 613 |
+
"upstream": 26,
|
| 614 |
+
"coreml": 26,
|
| 615 |
+
"max_abs_probability_error": 6.973024935241767e-11,
|
| 616 |
+
"max_abs_logit_error": 0.03808116912841797
|
| 617 |
+
},
|
| 618 |
+
{
|
| 619 |
+
"row": 62,
|
| 620 |
+
"label": 26,
|
| 621 |
+
"upstream": 26,
|
| 622 |
+
"coreml": 26,
|
| 623 |
+
"max_abs_probability_error": 5.994321927715873e-09,
|
| 624 |
+
"max_abs_logit_error": 0.03319191932678223
|
| 625 |
+
},
|
| 626 |
+
{
|
| 627 |
+
"row": 63,
|
| 628 |
+
"label": 26,
|
| 629 |
+
"upstream": 26,
|
| 630 |
+
"coreml": 26,
|
| 631 |
+
"max_abs_probability_error": 2.4426039316183257e-11,
|
| 632 |
+
"max_abs_logit_error": 0.030045509338378906
|
| 633 |
+
},
|
| 634 |
+
{
|
| 635 |
+
"row": 64,
|
| 636 |
+
"label": 26,
|
| 637 |
+
"upstream": 26,
|
| 638 |
+
"coreml": 26,
|
| 639 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 640 |
+
"max_abs_logit_error": 0.026231765747070312
|
| 641 |
+
},
|
| 642 |
+
{
|
| 643 |
+
"row": 65,
|
| 644 |
+
"label": 26,
|
| 645 |
+
"upstream": 26,
|
| 646 |
+
"coreml": 26,
|
| 647 |
+
"max_abs_probability_error": 7.78299757975276e-10,
|
| 648 |
+
"max_abs_logit_error": 0.033112093806266785
|
| 649 |
+
},
|
| 650 |
+
{
|
| 651 |
+
"row": 66,
|
| 652 |
+
"label": 26,
|
| 653 |
+
"upstream": 26,
|
| 654 |
+
"coreml": 26,
|
| 655 |
+
"max_abs_probability_error": 6.185003176284454e-09,
|
| 656 |
+
"max_abs_logit_error": 0.022128582000732422
|
| 657 |
+
},
|
| 658 |
+
{
|
| 659 |
+
"row": 67,
|
| 660 |
+
"label": 26,
|
| 661 |
+
"upstream": 26,
|
| 662 |
+
"coreml": 26,
|
| 663 |
+
"max_abs_probability_error": 3.4556297823229443e-09,
|
| 664 |
+
"max_abs_logit_error": 0.038306236267089844
|
| 665 |
+
},
|
| 666 |
+
{
|
| 667 |
+
"row": 68,
|
| 668 |
+
"label": 0,
|
| 669 |
+
"upstream": 0,
|
| 670 |
+
"coreml": 0,
|
| 671 |
+
"max_abs_probability_error": 3.147125244140625e-05,
|
| 672 |
+
"max_abs_logit_error": 0.03265953063964844
|
| 673 |
+
},
|
| 674 |
+
{
|
| 675 |
+
"row": 69,
|
| 676 |
+
"label": 1,
|
| 677 |
+
"upstream": 1,
|
| 678 |
+
"coreml": 1,
|
| 679 |
+
"max_abs_probability_error": 5.030632019042969e-05,
|
| 680 |
+
"max_abs_logit_error": 0.038794517517089844
|
| 681 |
+
},
|
| 682 |
+
{
|
| 683 |
+
"row": 70,
|
| 684 |
+
"label": 2,
|
| 685 |
+
"upstream": 2,
|
| 686 |
+
"coreml": 2,
|
| 687 |
+
"max_abs_probability_error": 1.7881393432617188e-06,
|
| 688 |
+
"max_abs_logit_error": 0.040470123291015625
|
| 689 |
+
},
|
| 690 |
+
{
|
| 691 |
+
"row": 71,
|
| 692 |
+
"label": 3,
|
| 693 |
+
"upstream": 3,
|
| 694 |
+
"coreml": 3,
|
| 695 |
+
"max_abs_probability_error": 5.2928924560546875e-05,
|
| 696 |
+
"max_abs_logit_error": 0.040035247802734375
|
| 697 |
+
},
|
| 698 |
+
{
|
| 699 |
+
"row": 72,
|
| 700 |
+
"label": 5,
|
| 701 |
+
"upstream": 5,
|
| 702 |
+
"coreml": 5,
|
| 703 |
+
"max_abs_probability_error": 4.649162292480469e-06,
|
| 704 |
+
"max_abs_logit_error": 0.042186737060546875
|
| 705 |
+
},
|
| 706 |
+
{
|
| 707 |
+
"row": 73,
|
| 708 |
+
"label": 6,
|
| 709 |
+
"upstream": 6,
|
| 710 |
+
"coreml": 6,
|
| 711 |
+
"max_abs_probability_error": 2.1576881408691406e-05,
|
| 712 |
+
"max_abs_logit_error": 0.033161163330078125
|
| 713 |
+
},
|
| 714 |
+
{
|
| 715 |
+
"row": 74,
|
| 716 |
+
"label": 7,
|
| 717 |
+
"upstream": 7,
|
| 718 |
+
"coreml": 7,
|
| 719 |
+
"max_abs_probability_error": 4.470348358154297e-05,
|
| 720 |
+
"max_abs_logit_error": 0.0293731689453125
|
| 721 |
+
},
|
| 722 |
+
{
|
| 723 |
+
"row": 75,
|
| 724 |
+
"label": 8,
|
| 725 |
+
"upstream": 8,
|
| 726 |
+
"coreml": 8,
|
| 727 |
+
"max_abs_probability_error": 1.1563301086425781e-05,
|
| 728 |
+
"max_abs_logit_error": 0.03249359130859375
|
| 729 |
+
},
|
| 730 |
+
{
|
| 731 |
+
"row": 76,
|
| 732 |
+
"label": 9,
|
| 733 |
+
"upstream": 9,
|
| 734 |
+
"coreml": 9,
|
| 735 |
+
"max_abs_probability_error": 2.86102294921875e-06,
|
| 736 |
+
"max_abs_logit_error": 0.03498554229736328
|
| 737 |
+
},
|
| 738 |
+
{
|
| 739 |
+
"row": 77,
|
| 740 |
+
"label": 13,
|
| 741 |
+
"upstream": 13,
|
| 742 |
+
"coreml": 13,
|
| 743 |
+
"max_abs_probability_error": 0.0003635883331298828,
|
| 744 |
+
"max_abs_logit_error": 0.023473739624023438
|
| 745 |
+
},
|
| 746 |
+
{
|
| 747 |
+
"row": 78,
|
| 748 |
+
"label": 20,
|
| 749 |
+
"upstream": 20,
|
| 750 |
+
"coreml": 20,
|
| 751 |
+
"max_abs_probability_error": 9.5367431640625e-07,
|
| 752 |
+
"max_abs_logit_error": 0.034421443939208984
|
| 753 |
+
},
|
| 754 |
+
{
|
| 755 |
+
"row": 79,
|
| 756 |
+
"label": 18,
|
| 757 |
+
"upstream": 18,
|
| 758 |
+
"coreml": 18,
|
| 759 |
+
"max_abs_probability_error": 0.0003609657287597656,
|
| 760 |
+
"max_abs_logit_error": 0.03937721252441406
|
| 761 |
+
},
|
| 762 |
+
{
|
| 763 |
+
"row": 80,
|
| 764 |
+
"label": 18,
|
| 765 |
+
"upstream": 18,
|
| 766 |
+
"coreml": 18,
|
| 767 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 768 |
+
"max_abs_logit_error": 0.03752422332763672
|
| 769 |
+
},
|
| 770 |
+
{
|
| 771 |
+
"row": 81,
|
| 772 |
+
"label": 20,
|
| 773 |
+
"upstream": 20,
|
| 774 |
+
"coreml": 20,
|
| 775 |
+
"max_abs_probability_error": 1.7881393432617188e-06,
|
| 776 |
+
"max_abs_logit_error": 0.025417327880859375
|
| 777 |
+
},
|
| 778 |
+
{
|
| 779 |
+
"row": 82,
|
| 780 |
+
"label": 19,
|
| 781 |
+
"upstream": 19,
|
| 782 |
+
"coreml": 19,
|
| 783 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 784 |
+
"max_abs_logit_error": 0.04453086853027344
|
| 785 |
+
},
|
| 786 |
+
{
|
| 787 |
+
"row": 83,
|
| 788 |
+
"label": 20,
|
| 789 |
+
"upstream": 20,
|
| 790 |
+
"coreml": 20,
|
| 791 |
+
"max_abs_probability_error": 5.0942090545902374e-09,
|
| 792 |
+
"max_abs_logit_error": 0.023950576782226562
|
| 793 |
+
},
|
| 794 |
+
{
|
| 795 |
+
"row": 84,
|
| 796 |
+
"label": 20,
|
| 797 |
+
"upstream": 20,
|
| 798 |
+
"coreml": 20,
|
| 799 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 800 |
+
"max_abs_logit_error": 0.022706031799316406
|
| 801 |
+
},
|
| 802 |
+
{
|
| 803 |
+
"row": 85,
|
| 804 |
+
"label": 20,
|
| 805 |
+
"upstream": 20,
|
| 806 |
+
"coreml": 20,
|
| 807 |
+
"max_abs_probability_error": 3.5405053888659666e-10,
|
| 808 |
+
"max_abs_logit_error": 0.035375118255615234
|
| 809 |
+
},
|
| 810 |
+
{
|
| 811 |
+
"row": 86,
|
| 812 |
+
"label": 20,
|
| 813 |
+
"upstream": 20,
|
| 814 |
+
"coreml": 20,
|
| 815 |
+
"max_abs_probability_error": 4.76837158203125e-07,
|
| 816 |
+
"max_abs_logit_error": 0.03717994689941406
|
| 817 |
+
},
|
| 818 |
+
{
|
| 819 |
+
"row": 87,
|
| 820 |
+
"label": 20,
|
| 821 |
+
"upstream": 20,
|
| 822 |
+
"coreml": 20,
|
| 823 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 824 |
+
"max_abs_logit_error": 0.04058122634887695
|
| 825 |
+
},
|
| 826 |
+
{
|
| 827 |
+
"row": 88,
|
| 828 |
+
"label": 20,
|
| 829 |
+
"upstream": 20,
|
| 830 |
+
"coreml": 20,
|
| 831 |
+
"max_abs_probability_error": 1.3188037328859537e-09,
|
| 832 |
+
"max_abs_logit_error": 0.032048702239990234
|
| 833 |
+
},
|
| 834 |
+
{
|
| 835 |
+
"row": 89,
|
| 836 |
+
"label": 20,
|
| 837 |
+
"upstream": 20,
|
| 838 |
+
"coreml": 20,
|
| 839 |
+
"max_abs_probability_error": 1.9970605169561395e-09,
|
| 840 |
+
"max_abs_logit_error": 0.030427932739257812
|
| 841 |
+
},
|
| 842 |
+
{
|
| 843 |
+
"row": 90,
|
| 844 |
+
"label": 20,
|
| 845 |
+
"upstream": 20,
|
| 846 |
+
"coreml": 20,
|
| 847 |
+
"max_abs_probability_error": 1.7617375336342889e-09,
|
| 848 |
+
"max_abs_logit_error": 0.0281219482421875
|
| 849 |
+
},
|
| 850 |
+
{
|
| 851 |
+
"row": 91,
|
| 852 |
+
"label": 20,
|
| 853 |
+
"upstream": 20,
|
| 854 |
+
"coreml": 20,
|
| 855 |
+
"max_abs_probability_error": 1.612549260787688e-10,
|
| 856 |
+
"max_abs_logit_error": 0.030226707458496094
|
| 857 |
+
},
|
| 858 |
+
{
|
| 859 |
+
"row": 92,
|
| 860 |
+
"label": 20,
|
| 861 |
+
"upstream": 20,
|
| 862 |
+
"coreml": 20,
|
| 863 |
+
"max_abs_probability_error": 6.506330630512425e-12,
|
| 864 |
+
"max_abs_logit_error": 0.04007530212402344
|
| 865 |
+
},
|
| 866 |
+
{
|
| 867 |
+
"row": 93,
|
| 868 |
+
"label": 20,
|
| 869 |
+
"upstream": 20,
|
| 870 |
+
"coreml": 20,
|
| 871 |
+
"max_abs_probability_error": 1.5150824594911683e-08,
|
| 872 |
+
"max_abs_logit_error": 0.02728891372680664
|
| 873 |
+
},
|
| 874 |
+
{
|
| 875 |
+
"row": 94,
|
| 876 |
+
"label": 20,
|
| 877 |
+
"upstream": 20,
|
| 878 |
+
"coreml": 20,
|
| 879 |
+
"max_abs_probability_error": 1.3666674458789885e-09,
|
| 880 |
+
"max_abs_logit_error": 0.0217437744140625
|
| 881 |
+
},
|
| 882 |
+
{
|
| 883 |
+
"row": 95,
|
| 884 |
+
"label": 20,
|
| 885 |
+
"upstream": 20,
|
| 886 |
+
"coreml": 20,
|
| 887 |
+
"max_abs_probability_error": 3.969476136678196e-10,
|
| 888 |
+
"max_abs_logit_error": 0.03214454650878906
|
| 889 |
+
},
|
| 890 |
+
{
|
| 891 |
+
"row": 96,
|
| 892 |
+
"label": 20,
|
| 893 |
+
"upstream": 20,
|
| 894 |
+
"coreml": 20,
|
| 895 |
+
"max_abs_probability_error": 2.657726538846106e-10,
|
| 896 |
+
"max_abs_logit_error": 0.03669023513793945
|
| 897 |
+
},
|
| 898 |
+
{
|
| 899 |
+
"row": 97,
|
| 900 |
+
"label": 20,
|
| 901 |
+
"upstream": 20,
|
| 902 |
+
"coreml": 20,
|
| 903 |
+
"max_abs_probability_error": 1.9073486328125e-06,
|
| 904 |
+
"max_abs_logit_error": 0.019012451171875
|
| 905 |
+
},
|
| 906 |
+
{
|
| 907 |
+
"row": 98,
|
| 908 |
+
"label": 20,
|
| 909 |
+
"upstream": 20,
|
| 910 |
+
"coreml": 20,
|
| 911 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 912 |
+
"max_abs_logit_error": 0.026651382446289062
|
| 913 |
+
},
|
| 914 |
+
{
|
| 915 |
+
"row": 99,
|
| 916 |
+
"label": 20,
|
| 917 |
+
"upstream": 20,
|
| 918 |
+
"coreml": 20,
|
| 919 |
+
"max_abs_probability_error": 2.1457672119140625e-06,
|
| 920 |
+
"max_abs_logit_error": 0.04161381721496582
|
| 921 |
+
},
|
| 922 |
+
{
|
| 923 |
+
"row": 100,
|
| 924 |
+
"label": 20,
|
| 925 |
+
"upstream": 20,
|
| 926 |
+
"coreml": 20,
|
| 927 |
+
"max_abs_probability_error": 9.5367431640625e-07,
|
| 928 |
+
"max_abs_logit_error": 0.04680633544921875
|
| 929 |
+
},
|
| 930 |
+
{
|
| 931 |
+
"row": 101,
|
| 932 |
+
"label": 20,
|
| 933 |
+
"upstream": 20,
|
| 934 |
+
"coreml": 20,
|
| 935 |
+
"max_abs_probability_error": 1.789079107084035e-08,
|
| 936 |
+
"max_abs_logit_error": 0.029542922973632812
|
| 937 |
+
},
|
| 938 |
+
{
|
| 939 |
+
"row": 102,
|
| 940 |
+
"label": 20,
|
| 941 |
+
"upstream": 20,
|
| 942 |
+
"coreml": 20,
|
| 943 |
+
"max_abs_probability_error": 2.5862225694339713e-09,
|
| 944 |
+
"max_abs_logit_error": 0.023795127868652344
|
| 945 |
+
},
|
| 946 |
+
{
|
| 947 |
+
"row": 103,
|
| 948 |
+
"label": 20,
|
| 949 |
+
"upstream": 20,
|
| 950 |
+
"coreml": 20,
|
| 951 |
+
"max_abs_probability_error": 0.00024586915969848633,
|
| 952 |
+
"max_abs_logit_error": 0.030111312866210938
|
| 953 |
+
},
|
| 954 |
+
{
|
| 955 |
+
"row": 104,
|
| 956 |
+
"label": 20,
|
| 957 |
+
"upstream": 20,
|
| 958 |
+
"coreml": 20,
|
| 959 |
+
"max_abs_probability_error": 5.841255187988281e-06,
|
| 960 |
+
"max_abs_logit_error": 0.03126239776611328
|
| 961 |
+
},
|
| 962 |
+
{
|
| 963 |
+
"row": 105,
|
| 964 |
+
"label": 20,
|
| 965 |
+
"upstream": 20,
|
| 966 |
+
"coreml": 20,
|
| 967 |
+
"max_abs_probability_error": 4.928799035575082e-10,
|
| 968 |
+
"max_abs_logit_error": 0.026149272918701172
|
| 969 |
+
},
|
| 970 |
+
{
|
| 971 |
+
"row": 106,
|
| 972 |
+
"label": 20,
|
| 973 |
+
"upstream": 20,
|
| 974 |
+
"coreml": 20,
|
| 975 |
+
"max_abs_probability_error": 2.4136979082101107e-09,
|
| 976 |
+
"max_abs_logit_error": 0.024585723876953125
|
| 977 |
+
},
|
| 978 |
+
{
|
| 979 |
+
"row": 107,
|
| 980 |
+
"label": 20,
|
| 981 |
+
"upstream": 20,
|
| 982 |
+
"coreml": 20,
|
| 983 |
+
"max_abs_probability_error": 6.302839361538304e-10,
|
| 984 |
+
"max_abs_logit_error": 0.024765491485595703
|
| 985 |
+
},
|
| 986 |
+
{
|
| 987 |
+
"row": 108,
|
| 988 |
+
"label": 20,
|
| 989 |
+
"upstream": 20,
|
| 990 |
+
"coreml": 20,
|
| 991 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 992 |
+
"max_abs_logit_error": 0.03492164611816406
|
| 993 |
+
},
|
| 994 |
+
{
|
| 995 |
+
"row": 109,
|
| 996 |
+
"label": 20,
|
| 997 |
+
"upstream": 20,
|
| 998 |
+
"coreml": 20,
|
| 999 |
+
"max_abs_probability_error": 9.5367431640625e-07,
|
| 1000 |
+
"max_abs_logit_error": 0.034421443939208984
|
| 1001 |
+
},
|
| 1002 |
+
{
|
| 1003 |
+
"row": 110,
|
| 1004 |
+
"label": 20,
|
| 1005 |
+
"upstream": 20,
|
| 1006 |
+
"coreml": 20,
|
| 1007 |
+
"max_abs_probability_error": 9.5367431640625e-07,
|
| 1008 |
+
"max_abs_logit_error": 0.0320439338684082
|
| 1009 |
+
},
|
| 1010 |
+
{
|
| 1011 |
+
"row": 111,
|
| 1012 |
+
"label": 20,
|
| 1013 |
+
"upstream": 20,
|
| 1014 |
+
"coreml": 20,
|
| 1015 |
+
"max_abs_probability_error": 1.811981201171875e-05,
|
| 1016 |
+
"max_abs_logit_error": 0.032814979553222656
|
| 1017 |
+
},
|
| 1018 |
+
{
|
| 1019 |
+
"row": 112,
|
| 1020 |
+
"label": 20,
|
| 1021 |
+
"upstream": 20,
|
| 1022 |
+
"coreml": 20,
|
| 1023 |
+
"max_abs_probability_error": 1.7881393432617188e-06,
|
| 1024 |
+
"max_abs_logit_error": 0.025417327880859375
|
| 1025 |
+
},
|
| 1026 |
+
{
|
| 1027 |
+
"row": 113,
|
| 1028 |
+
"label": 19,
|
| 1029 |
+
"upstream": 19,
|
| 1030 |
+
"coreml": 19,
|
| 1031 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 1032 |
+
"max_abs_logit_error": 0.04453086853027344
|
| 1033 |
+
},
|
| 1034 |
+
{
|
| 1035 |
+
"row": 114,
|
| 1036 |
+
"label": 20,
|
| 1037 |
+
"upstream": 20,
|
| 1038 |
+
"coreml": 20,
|
| 1039 |
+
"max_abs_probability_error": 5.0942090545902374e-09,
|
| 1040 |
+
"max_abs_logit_error": 0.023950576782226562
|
| 1041 |
+
},
|
| 1042 |
+
{
|
| 1043 |
+
"row": 115,
|
| 1044 |
+
"label": 20,
|
| 1045 |
+
"upstream": 20,
|
| 1046 |
+
"coreml": 20,
|
| 1047 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 1048 |
+
"max_abs_logit_error": 0.022706031799316406
|
| 1049 |
+
},
|
| 1050 |
+
{
|
| 1051 |
+
"row": 116,
|
| 1052 |
+
"label": 20,
|
| 1053 |
+
"upstream": 20,
|
| 1054 |
+
"coreml": 20,
|
| 1055 |
+
"max_abs_probability_error": 3.5405053888659666e-10,
|
| 1056 |
+
"max_abs_logit_error": 0.035375118255615234
|
| 1057 |
+
},
|
| 1058 |
+
{
|
| 1059 |
+
"row": 117,
|
| 1060 |
+
"label": 20,
|
| 1061 |
+
"upstream": 20,
|
| 1062 |
+
"coreml": 20,
|
| 1063 |
+
"max_abs_probability_error": 4.76837158203125e-07,
|
| 1064 |
+
"max_abs_logit_error": 0.03717994689941406
|
| 1065 |
+
},
|
| 1066 |
+
{
|
| 1067 |
+
"row": 118,
|
| 1068 |
+
"label": 20,
|
| 1069 |
+
"upstream": 20,
|
| 1070 |
+
"coreml": 20,
|
| 1071 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 1072 |
+
"max_abs_logit_error": 0.04058122634887695
|
| 1073 |
+
},
|
| 1074 |
+
{
|
| 1075 |
+
"row": 119,
|
| 1076 |
+
"label": 20,
|
| 1077 |
+
"upstream": 20,
|
| 1078 |
+
"coreml": 20,
|
| 1079 |
+
"max_abs_probability_error": 1.3188037328859537e-09,
|
| 1080 |
+
"max_abs_logit_error": 0.032048702239990234
|
| 1081 |
+
},
|
| 1082 |
+
{
|
| 1083 |
+
"row": 120,
|
| 1084 |
+
"label": 20,
|
| 1085 |
+
"upstream": 20,
|
| 1086 |
+
"coreml": 20,
|
| 1087 |
+
"max_abs_probability_error": 1.9970605169561395e-09,
|
| 1088 |
+
"max_abs_logit_error": 0.030427932739257812
|
| 1089 |
+
},
|
| 1090 |
+
{
|
| 1091 |
+
"row": 121,
|
| 1092 |
+
"label": 20,
|
| 1093 |
+
"upstream": 20,
|
| 1094 |
+
"coreml": 20,
|
| 1095 |
+
"max_abs_probability_error": 1.7617375336342889e-09,
|
| 1096 |
+
"max_abs_logit_error": 0.0281219482421875
|
| 1097 |
+
},
|
| 1098 |
+
{
|
| 1099 |
+
"row": 122,
|
| 1100 |
+
"label": 20,
|
| 1101 |
+
"upstream": 20,
|
| 1102 |
+
"coreml": 20,
|
| 1103 |
+
"max_abs_probability_error": 1.612549260787688e-10,
|
| 1104 |
+
"max_abs_logit_error": 0.030226707458496094
|
| 1105 |
+
},
|
| 1106 |
+
{
|
| 1107 |
+
"row": 123,
|
| 1108 |
+
"label": 20,
|
| 1109 |
+
"upstream": 20,
|
| 1110 |
+
"coreml": 20,
|
| 1111 |
+
"max_abs_probability_error": 6.506330630512425e-12,
|
| 1112 |
+
"max_abs_logit_error": 0.04007530212402344
|
| 1113 |
+
},
|
| 1114 |
+
{
|
| 1115 |
+
"row": 124,
|
| 1116 |
+
"label": 20,
|
| 1117 |
+
"upstream": 20,
|
| 1118 |
+
"coreml": 20,
|
| 1119 |
+
"max_abs_probability_error": 1.5150824594911683e-08,
|
| 1120 |
+
"max_abs_logit_error": 0.02728891372680664
|
| 1121 |
+
},
|
| 1122 |
+
{
|
| 1123 |
+
"row": 125,
|
| 1124 |
+
"label": 20,
|
| 1125 |
+
"upstream": 20,
|
| 1126 |
+
"coreml": 20,
|
| 1127 |
+
"max_abs_probability_error": 1.3666674458789885e-09,
|
| 1128 |
+
"max_abs_logit_error": 0.0217437744140625
|
| 1129 |
+
},
|
| 1130 |
+
{
|
| 1131 |
+
"row": 126,
|
| 1132 |
+
"label": 20,
|
| 1133 |
+
"upstream": 20,
|
| 1134 |
+
"coreml": 20,
|
| 1135 |
+
"max_abs_probability_error": 3.969476136678196e-10,
|
| 1136 |
+
"max_abs_logit_error": 0.03214454650878906
|
| 1137 |
+
},
|
| 1138 |
+
{
|
| 1139 |
+
"row": 127,
|
| 1140 |
+
"label": 20,
|
| 1141 |
+
"upstream": 20,
|
| 1142 |
+
"coreml": 20,
|
| 1143 |
+
"max_abs_probability_error": 2.657726538846106e-10,
|
| 1144 |
+
"max_abs_logit_error": 0.03669023513793945
|
| 1145 |
+
},
|
| 1146 |
+
{
|
| 1147 |
+
"row": 128,
|
| 1148 |
+
"label": 20,
|
| 1149 |
+
"upstream": 20,
|
| 1150 |
+
"coreml": 20,
|
| 1151 |
+
"max_abs_probability_error": 1.9073486328125e-06,
|
| 1152 |
+
"max_abs_logit_error": 0.019012451171875
|
| 1153 |
+
},
|
| 1154 |
+
{
|
| 1155 |
+
"row": 129,
|
| 1156 |
+
"label": 20,
|
| 1157 |
+
"upstream": 20,
|
| 1158 |
+
"coreml": 20,
|
| 1159 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 1160 |
+
"max_abs_logit_error": 0.026651382446289062
|
| 1161 |
+
},
|
| 1162 |
+
{
|
| 1163 |
+
"row": 130,
|
| 1164 |
+
"label": 1,
|
| 1165 |
+
"upstream": 1,
|
| 1166 |
+
"coreml": 1,
|
| 1167 |
+
"max_abs_probability_error": 3.170967102050781e-05,
|
| 1168 |
+
"max_abs_logit_error": 0.071075439453125
|
| 1169 |
+
},
|
| 1170 |
+
{
|
| 1171 |
+
"row": 131,
|
| 1172 |
+
"label": 2,
|
| 1173 |
+
"upstream": 2,
|
| 1174 |
+
"coreml": 2,
|
| 1175 |
+
"max_abs_probability_error": 8.344650268554688e-07,
|
| 1176 |
+
"max_abs_logit_error": 0.051357269287109375
|
| 1177 |
+
},
|
| 1178 |
+
{
|
| 1179 |
+
"row": 132,
|
| 1180 |
+
"label": 3,
|
| 1181 |
+
"upstream": 3,
|
| 1182 |
+
"coreml": 3,
|
| 1183 |
+
"max_abs_probability_error": 2.7894973754882812e-05,
|
| 1184 |
+
"max_abs_logit_error": 0.033801641315221786
|
| 1185 |
+
},
|
| 1186 |
+
{
|
| 1187 |
+
"row": 133,
|
| 1188 |
+
"label": 4,
|
| 1189 |
+
"upstream": 4,
|
| 1190 |
+
"coreml": 4,
|
| 1191 |
+
"max_abs_probability_error": 1.0967254638671875e-05,
|
| 1192 |
+
"max_abs_logit_error": 0.039325714111328125
|
| 1193 |
+
},
|
| 1194 |
+
{
|
| 1195 |
+
"row": 134,
|
| 1196 |
+
"label": 5,
|
| 1197 |
+
"upstream": 5,
|
| 1198 |
+
"coreml": 5,
|
| 1199 |
+
"max_abs_probability_error": 6.258487701416016e-05,
|
| 1200 |
+
"max_abs_logit_error": 0.033056676387786865
|
| 1201 |
+
},
|
| 1202 |
+
{
|
| 1203 |
+
"row": 135,
|
| 1204 |
+
"label": 6,
|
| 1205 |
+
"upstream": 6,
|
| 1206 |
+
"coreml": 6,
|
| 1207 |
+
"max_abs_probability_error": 1.2993812561035156e-05,
|
| 1208 |
+
"max_abs_logit_error": 0.02561807632446289
|
| 1209 |
+
},
|
| 1210 |
+
{
|
| 1211 |
+
"row": 136,
|
| 1212 |
+
"label": 7,
|
| 1213 |
+
"upstream": 7,
|
| 1214 |
+
"coreml": 7,
|
| 1215 |
+
"max_abs_probability_error": 6.198883056640625e-06,
|
| 1216 |
+
"max_abs_logit_error": 0.03448677062988281
|
| 1217 |
+
},
|
| 1218 |
+
{
|
| 1219 |
+
"row": 137,
|
| 1220 |
+
"label": 8,
|
| 1221 |
+
"upstream": 8,
|
| 1222 |
+
"coreml": 8,
|
| 1223 |
+
"max_abs_probability_error": 0.00233614444732666,
|
| 1224 |
+
"max_abs_logit_error": 0.04230833053588867
|
| 1225 |
+
},
|
| 1226 |
+
{
|
| 1227 |
+
"row": 138,
|
| 1228 |
+
"label": 9,
|
| 1229 |
+
"upstream": 9,
|
| 1230 |
+
"coreml": 9,
|
| 1231 |
+
"max_abs_probability_error": 0.00022917985916137695,
|
| 1232 |
+
"max_abs_logit_error": 0.05339241027832031
|
| 1233 |
+
},
|
| 1234 |
+
{
|
| 1235 |
+
"row": 139,
|
| 1236 |
+
"label": 10,
|
| 1237 |
+
"upstream": 10,
|
| 1238 |
+
"coreml": 10,
|
| 1239 |
+
"max_abs_probability_error": 4.851818084716797e-05,
|
| 1240 |
+
"max_abs_logit_error": 0.032756805419921875
|
| 1241 |
+
},
|
| 1242 |
+
{
|
| 1243 |
+
"row": 140,
|
| 1244 |
+
"label": 11,
|
| 1245 |
+
"upstream": 11,
|
| 1246 |
+
"coreml": 11,
|
| 1247 |
+
"max_abs_probability_error": 3.0994415283203125e-06,
|
| 1248 |
+
"max_abs_logit_error": 0.029809951782226562
|
| 1249 |
+
},
|
| 1250 |
+
{
|
| 1251 |
+
"row": 141,
|
| 1252 |
+
"label": 12,
|
| 1253 |
+
"upstream": 12,
|
| 1254 |
+
"coreml": 12,
|
| 1255 |
+
"max_abs_probability_error": 9.34600830078125e-05,
|
| 1256 |
+
"max_abs_logit_error": 0.026587963104248047
|
| 1257 |
+
},
|
| 1258 |
+
{
|
| 1259 |
+
"row": 142,
|
| 1260 |
+
"label": 18,
|
| 1261 |
+
"upstream": 18,
|
| 1262 |
+
"coreml": 18,
|
| 1263 |
+
"max_abs_probability_error": 1.9073486328125e-06,
|
| 1264 |
+
"max_abs_logit_error": 0.03671073913574219
|
| 1265 |
+
},
|
| 1266 |
+
{
|
| 1267 |
+
"row": 143,
|
| 1268 |
+
"label": 16,
|
| 1269 |
+
"upstream": 16,
|
| 1270 |
+
"coreml": 16,
|
| 1271 |
+
"max_abs_probability_error": 7.152557373046875e-07,
|
| 1272 |
+
"max_abs_logit_error": 0.05281543731689453
|
| 1273 |
+
},
|
| 1274 |
+
{
|
| 1275 |
+
"row": 144,
|
| 1276 |
+
"label": 18,
|
| 1277 |
+
"upstream": 18,
|
| 1278 |
+
"coreml": 18,
|
| 1279 |
+
"max_abs_probability_error": 1.1920928955078125e-06,
|
| 1280 |
+
"max_abs_logit_error": 0.04511451721191406
|
| 1281 |
+
},
|
| 1282 |
+
{
|
| 1283 |
+
"row": 145,
|
| 1284 |
+
"label": 18,
|
| 1285 |
+
"upstream": 18,
|
| 1286 |
+
"coreml": 18,
|
| 1287 |
+
"max_abs_probability_error": 3.6954879760742188e-06,
|
| 1288 |
+
"max_abs_logit_error": 0.07230281829833984
|
| 1289 |
+
},
|
| 1290 |
+
{
|
| 1291 |
+
"row": 146,
|
| 1292 |
+
"label": 17,
|
| 1293 |
+
"upstream": 17,
|
| 1294 |
+
"coreml": 17,
|
| 1295 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 1296 |
+
"max_abs_logit_error": 0.03114461898803711
|
| 1297 |
+
},
|
| 1298 |
+
{
|
| 1299 |
+
"row": 147,
|
| 1300 |
+
"label": 18,
|
| 1301 |
+
"upstream": 18,
|
| 1302 |
+
"coreml": 18,
|
| 1303 |
+
"max_abs_probability_error": 8.429776876539563e-09,
|
| 1304 |
+
"max_abs_logit_error": 0.020772457122802734
|
| 1305 |
+
},
|
| 1306 |
+
{
|
| 1307 |
+
"row": 148,
|
| 1308 |
+
"label": 18,
|
| 1309 |
+
"upstream": 18,
|
| 1310 |
+
"coreml": 18,
|
| 1311 |
+
"max_abs_probability_error": 9.215698426601193e-09,
|
| 1312 |
+
"max_abs_logit_error": 0.03475606441497803
|
| 1313 |
+
},
|
| 1314 |
+
{
|
| 1315 |
+
"row": 149,
|
| 1316 |
+
"label": 18,
|
| 1317 |
+
"upstream": 18,
|
| 1318 |
+
"coreml": 18,
|
| 1319 |
+
"max_abs_probability_error": 3.84208304060607e-10,
|
| 1320 |
+
"max_abs_logit_error": 0.020298004150390625
|
| 1321 |
+
},
|
| 1322 |
+
{
|
| 1323 |
+
"row": 150,
|
| 1324 |
+
"label": 18,
|
| 1325 |
+
"upstream": 18,
|
| 1326 |
+
"coreml": 18,
|
| 1327 |
+
"max_abs_probability_error": 7.947568818333917e-12,
|
| 1328 |
+
"max_abs_logit_error": 0.04283332824707031
|
| 1329 |
+
},
|
| 1330 |
+
{
|
| 1331 |
+
"row": 151,
|
| 1332 |
+
"label": 18,
|
| 1333 |
+
"upstream": 18,
|
| 1334 |
+
"coreml": 18,
|
| 1335 |
+
"max_abs_probability_error": 5.291168614363073e-10,
|
| 1336 |
+
"max_abs_logit_error": 0.028450965881347656
|
| 1337 |
+
},
|
| 1338 |
+
{
|
| 1339 |
+
"row": 152,
|
| 1340 |
+
"label": 18,
|
| 1341 |
+
"upstream": 18,
|
| 1342 |
+
"coreml": 18,
|
| 1343 |
+
"max_abs_probability_error": 7.924417788629512e-10,
|
| 1344 |
+
"max_abs_logit_error": 0.02250051498413086
|
| 1345 |
+
},
|
| 1346 |
+
{
|
| 1347 |
+
"row": 153,
|
| 1348 |
+
"label": 18,
|
| 1349 |
+
"upstream": 18,
|
| 1350 |
+
"coreml": 18,
|
| 1351 |
+
"max_abs_probability_error": 1.837478791344438e-08,
|
| 1352 |
+
"max_abs_logit_error": 0.06335592269897461
|
| 1353 |
+
},
|
| 1354 |
+
{
|
| 1355 |
+
"row": 154,
|
| 1356 |
+
"label": 18,
|
| 1357 |
+
"upstream": 18,
|
| 1358 |
+
"coreml": 18,
|
| 1359 |
+
"max_abs_probability_error": 3.3051329034750054e-11,
|
| 1360 |
+
"max_abs_logit_error": 0.02735137939453125
|
| 1361 |
+
},
|
| 1362 |
+
{
|
| 1363 |
+
"row": 155,
|
| 1364 |
+
"label": 18,
|
| 1365 |
+
"upstream": 18,
|
| 1366 |
+
"coreml": 18,
|
| 1367 |
+
"max_abs_probability_error": 1.650468511860126e-10,
|
| 1368 |
+
"max_abs_logit_error": 0.015047073364257812
|
| 1369 |
+
},
|
| 1370 |
+
{
|
| 1371 |
+
"row": 156,
|
| 1372 |
+
"label": 18,
|
| 1373 |
+
"upstream": 18,
|
| 1374 |
+
"coreml": 18,
|
| 1375 |
+
"max_abs_probability_error": 6.181078218703284e-12,
|
| 1376 |
+
"max_abs_logit_error": 0.04868888854980469
|
| 1377 |
+
},
|
| 1378 |
+
{
|
| 1379 |
+
"row": 157,
|
| 1380 |
+
"label": 18,
|
| 1381 |
+
"upstream": 18,
|
| 1382 |
+
"coreml": 18,
|
| 1383 |
+
"max_abs_probability_error": 1.6455586893115992e-10,
|
| 1384 |
+
"max_abs_logit_error": 0.026497364044189453
|
| 1385 |
+
},
|
| 1386 |
+
{
|
| 1387 |
+
"row": 158,
|
| 1388 |
+
"label": 18,
|
| 1389 |
+
"upstream": 18,
|
| 1390 |
+
"coreml": 18,
|
| 1391 |
+
"max_abs_probability_error": 6.109900363426846e-10,
|
| 1392 |
+
"max_abs_logit_error": 0.022236347198486328
|
| 1393 |
+
},
|
| 1394 |
+
{
|
| 1395 |
+
"row": 159,
|
| 1396 |
+
"label": 18,
|
| 1397 |
+
"upstream": 18,
|
| 1398 |
+
"coreml": 18,
|
| 1399 |
+
"max_abs_probability_error": 6.693580800742893e-09,
|
| 1400 |
+
"max_abs_logit_error": 0.020044326782226562
|
| 1401 |
+
},
|
| 1402 |
+
{
|
| 1403 |
+
"row": 160,
|
| 1404 |
+
"label": 18,
|
| 1405 |
+
"upstream": 18,
|
| 1406 |
+
"coreml": 18,
|
| 1407 |
+
"max_abs_probability_error": 1.3718365998727222e-08,
|
| 1408 |
+
"max_abs_logit_error": 0.05533123016357422
|
| 1409 |
+
},
|
| 1410 |
+
{
|
| 1411 |
+
"row": 161,
|
| 1412 |
+
"label": 18,
|
| 1413 |
+
"upstream": 18,
|
| 1414 |
+
"coreml": 18,
|
| 1415 |
+
"max_abs_probability_error": 8.344650268554688e-07,
|
| 1416 |
+
"max_abs_logit_error": 0.0247042179107666
|
| 1417 |
+
},
|
| 1418 |
+
{
|
| 1419 |
+
"row": 162,
|
| 1420 |
+
"label": 18,
|
| 1421 |
+
"upstream": 18,
|
| 1422 |
+
"coreml": 18,
|
| 1423 |
+
"max_abs_probability_error": 1.042114572413766e-08,
|
| 1424 |
+
"max_abs_logit_error": 0.028873443603515625
|
| 1425 |
+
},
|
| 1426 |
+
{
|
| 1427 |
+
"row": 163,
|
| 1428 |
+
"label": 18,
|
| 1429 |
+
"upstream": 18,
|
| 1430 |
+
"coreml": 18,
|
| 1431 |
+
"max_abs_probability_error": 1.9131388140358752e-10,
|
| 1432 |
+
"max_abs_logit_error": 0.015494346618652344
|
| 1433 |
+
},
|
| 1434 |
+
{
|
| 1435 |
+
"row": 164,
|
| 1436 |
+
"label": 18,
|
| 1437 |
+
"upstream": 18,
|
| 1438 |
+
"coreml": 18,
|
| 1439 |
+
"max_abs_probability_error": 1.0254025184508464e-08,
|
| 1440 |
+
"max_abs_logit_error": 0.02497100830078125
|
| 1441 |
+
},
|
| 1442 |
+
{
|
| 1443 |
+
"row": 165,
|
| 1444 |
+
"label": 18,
|
| 1445 |
+
"upstream": 18,
|
| 1446 |
+
"coreml": 18,
|
| 1447 |
+
"max_abs_probability_error": 5.15840287151903e-11,
|
| 1448 |
+
"max_abs_logit_error": 0.02679443359375
|
| 1449 |
+
},
|
| 1450 |
+
{
|
| 1451 |
+
"row": 166,
|
| 1452 |
+
"label": 18,
|
| 1453 |
+
"upstream": 18,
|
| 1454 |
+
"coreml": 18,
|
| 1455 |
+
"max_abs_probability_error": 2.6797479790729994e-09,
|
| 1456 |
+
"max_abs_logit_error": 0.028203964233398438
|
| 1457 |
+
},
|
| 1458 |
+
{
|
| 1459 |
+
"row": 167,
|
| 1460 |
+
"label": 18,
|
| 1461 |
+
"upstream": 18,
|
| 1462 |
+
"coreml": 18,
|
| 1463 |
+
"max_abs_probability_error": 7.54509399403247e-10,
|
| 1464 |
+
"max_abs_logit_error": 0.03371429443359375
|
| 1465 |
+
},
|
| 1466 |
+
{
|
| 1467 |
+
"row": 168,
|
| 1468 |
+
"label": 18,
|
| 1469 |
+
"upstream": 18,
|
| 1470 |
+
"coreml": 18,
|
| 1471 |
+
"max_abs_probability_error": 8.344650268554688e-07,
|
| 1472 |
+
"max_abs_logit_error": 0.028280355036258698
|
| 1473 |
+
},
|
| 1474 |
+
{
|
| 1475 |
+
"row": 169,
|
| 1476 |
+
"label": 18,
|
| 1477 |
+
"upstream": 18,
|
| 1478 |
+
"coreml": 18,
|
| 1479 |
+
"max_abs_probability_error": 2.4169340140378637e-11,
|
| 1480 |
+
"max_abs_logit_error": 0.038245439529418945
|
| 1481 |
+
},
|
| 1482 |
+
{
|
| 1483 |
+
"row": 170,
|
| 1484 |
+
"label": 18,
|
| 1485 |
+
"upstream": 18,
|
| 1486 |
+
"coreml": 18,
|
| 1487 |
+
"max_abs_probability_error": 3.0329603412093675e-11,
|
| 1488 |
+
"max_abs_logit_error": 0.030043363571166992
|
| 1489 |
+
},
|
| 1490 |
+
{
|
| 1491 |
+
"row": 171,
|
| 1492 |
+
"label": 18,
|
| 1493 |
+
"upstream": 18,
|
| 1494 |
+
"coreml": 18,
|
| 1495 |
+
"max_abs_probability_error": 1.7881393432617188e-06,
|
| 1496 |
+
"max_abs_logit_error": 0.02963542938232422
|
| 1497 |
+
},
|
| 1498 |
+
{
|
| 1499 |
+
"row": 172,
|
| 1500 |
+
"label": 18,
|
| 1501 |
+
"upstream": 18,
|
| 1502 |
+
"coreml": 18,
|
| 1503 |
+
"max_abs_probability_error": 4.66337235494052e-09,
|
| 1504 |
+
"max_abs_logit_error": 0.03510093688964844
|
| 1505 |
+
},
|
| 1506 |
+
{
|
| 1507 |
+
"row": 173,
|
| 1508 |
+
"label": 18,
|
| 1509 |
+
"upstream": 18,
|
| 1510 |
+
"coreml": 18,
|
| 1511 |
+
"max_abs_probability_error": 1.2885730260592254e-09,
|
| 1512 |
+
"max_abs_logit_error": 0.04009199142456055
|
| 1513 |
+
},
|
| 1514 |
+
{
|
| 1515 |
+
"row": 174,
|
| 1516 |
+
"label": 18,
|
| 1517 |
+
"upstream": 18,
|
| 1518 |
+
"coreml": 18,
|
| 1519 |
+
"max_abs_probability_error": 1.1279766010119374e-09,
|
| 1520 |
+
"max_abs_logit_error": 0.031810760498046875
|
| 1521 |
+
},
|
| 1522 |
+
{
|
| 1523 |
+
"row": 175,
|
| 1524 |
+
"label": 18,
|
| 1525 |
+
"upstream": 18,
|
| 1526 |
+
"coreml": 18,
|
| 1527 |
+
"max_abs_probability_error": 1.9073486328125e-06,
|
| 1528 |
+
"max_abs_logit_error": 0.03671073913574219
|
| 1529 |
+
},
|
| 1530 |
+
{
|
| 1531 |
+
"row": 176,
|
| 1532 |
+
"label": 18,
|
| 1533 |
+
"upstream": 18,
|
| 1534 |
+
"coreml": 18,
|
| 1535 |
+
"max_abs_probability_error": 1.0728836059570312e-06,
|
| 1536 |
+
"max_abs_logit_error": 0.05123615264892578
|
| 1537 |
+
},
|
| 1538 |
+
{
|
| 1539 |
+
"row": 177,
|
| 1540 |
+
"label": 18,
|
| 1541 |
+
"upstream": 18,
|
| 1542 |
+
"coreml": 18,
|
| 1543 |
+
"max_abs_probability_error": 1.2799782567185503e-08,
|
| 1544 |
+
"max_abs_logit_error": 0.03157186508178711
|
| 1545 |
+
},
|
| 1546 |
+
{
|
| 1547 |
+
"row": 178,
|
| 1548 |
+
"label": 18,
|
| 1549 |
+
"upstream": 18,
|
| 1550 |
+
"coreml": 18,
|
| 1551 |
+
"max_abs_probability_error": 3.6954879760742188e-06,
|
| 1552 |
+
"max_abs_logit_error": 0.07230281829833984
|
| 1553 |
+
},
|
| 1554 |
+
{
|
| 1555 |
+
"row": 179,
|
| 1556 |
+
"label": 17,
|
| 1557 |
+
"upstream": 17,
|
| 1558 |
+
"coreml": 17,
|
| 1559 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 1560 |
+
"max_abs_logit_error": 0.03114461898803711
|
| 1561 |
+
},
|
| 1562 |
+
{
|
| 1563 |
+
"row": 180,
|
| 1564 |
+
"label": 18,
|
| 1565 |
+
"upstream": 18,
|
| 1566 |
+
"coreml": 18,
|
| 1567 |
+
"max_abs_probability_error": 8.429776876539563e-09,
|
| 1568 |
+
"max_abs_logit_error": 0.020772457122802734
|
| 1569 |
+
},
|
| 1570 |
+
{
|
| 1571 |
+
"row": 181,
|
| 1572 |
+
"label": 18,
|
| 1573 |
+
"upstream": 18,
|
| 1574 |
+
"coreml": 18,
|
| 1575 |
+
"max_abs_probability_error": 9.215698426601193e-09,
|
| 1576 |
+
"max_abs_logit_error": 0.03475606441497803
|
| 1577 |
+
},
|
| 1578 |
+
{
|
| 1579 |
+
"row": 182,
|
| 1580 |
+
"label": 18,
|
| 1581 |
+
"upstream": 18,
|
| 1582 |
+
"coreml": 18,
|
| 1583 |
+
"max_abs_probability_error": 3.84208304060607e-10,
|
| 1584 |
+
"max_abs_logit_error": 0.020298004150390625
|
| 1585 |
+
},
|
| 1586 |
+
{
|
| 1587 |
+
"row": 183,
|
| 1588 |
+
"label": 18,
|
| 1589 |
+
"upstream": 18,
|
| 1590 |
+
"coreml": 18,
|
| 1591 |
+
"max_abs_probability_error": 7.947568818333917e-12,
|
| 1592 |
+
"max_abs_logit_error": 0.04283332824707031
|
| 1593 |
+
},
|
| 1594 |
+
{
|
| 1595 |
+
"row": 184,
|
| 1596 |
+
"label": 18,
|
| 1597 |
+
"upstream": 18,
|
| 1598 |
+
"coreml": 18,
|
| 1599 |
+
"max_abs_probability_error": 5.291168614363073e-10,
|
| 1600 |
+
"max_abs_logit_error": 0.028450965881347656
|
| 1601 |
+
},
|
| 1602 |
+
{
|
| 1603 |
+
"row": 185,
|
| 1604 |
+
"label": 18,
|
| 1605 |
+
"upstream": 18,
|
| 1606 |
+
"coreml": 18,
|
| 1607 |
+
"max_abs_probability_error": 7.924417788629512e-10,
|
| 1608 |
+
"max_abs_logit_error": 0.02250051498413086
|
| 1609 |
+
},
|
| 1610 |
+
{
|
| 1611 |
+
"row": 186,
|
| 1612 |
+
"label": 18,
|
| 1613 |
+
"upstream": 18,
|
| 1614 |
+
"coreml": 18,
|
| 1615 |
+
"max_abs_probability_error": 1.837478791344438e-08,
|
| 1616 |
+
"max_abs_logit_error": 0.06335592269897461
|
| 1617 |
+
},
|
| 1618 |
+
{
|
| 1619 |
+
"row": 187,
|
| 1620 |
+
"label": 18,
|
| 1621 |
+
"upstream": 18,
|
| 1622 |
+
"coreml": 18,
|
| 1623 |
+
"max_abs_probability_error": 3.3051329034750054e-11,
|
| 1624 |
+
"max_abs_logit_error": 0.02735137939453125
|
| 1625 |
+
},
|
| 1626 |
+
{
|
| 1627 |
+
"row": 188,
|
| 1628 |
+
"label": 18,
|
| 1629 |
+
"upstream": 18,
|
| 1630 |
+
"coreml": 18,
|
| 1631 |
+
"max_abs_probability_error": 1.650468511860126e-10,
|
| 1632 |
+
"max_abs_logit_error": 0.015047073364257812
|
| 1633 |
+
},
|
| 1634 |
+
{
|
| 1635 |
+
"row": 189,
|
| 1636 |
+
"label": 18,
|
| 1637 |
+
"upstream": 18,
|
| 1638 |
+
"coreml": 18,
|
| 1639 |
+
"max_abs_probability_error": 6.181078218703284e-12,
|
| 1640 |
+
"max_abs_logit_error": 0.04868888854980469
|
| 1641 |
+
},
|
| 1642 |
+
{
|
| 1643 |
+
"row": 190,
|
| 1644 |
+
"label": 18,
|
| 1645 |
+
"upstream": 18,
|
| 1646 |
+
"coreml": 18,
|
| 1647 |
+
"max_abs_probability_error": 1.6455586893115992e-10,
|
| 1648 |
+
"max_abs_logit_error": 0.026497364044189453
|
| 1649 |
+
},
|
| 1650 |
+
{
|
| 1651 |
+
"row": 191,
|
| 1652 |
+
"label": 18,
|
| 1653 |
+
"upstream": 18,
|
| 1654 |
+
"coreml": 18,
|
| 1655 |
+
"max_abs_probability_error": 6.109900363426846e-10,
|
| 1656 |
+
"max_abs_logit_error": 0.022236347198486328
|
| 1657 |
+
},
|
| 1658 |
+
{
|
| 1659 |
+
"row": 192,
|
| 1660 |
+
"label": 18,
|
| 1661 |
+
"upstream": 18,
|
| 1662 |
+
"coreml": 18,
|
| 1663 |
+
"max_abs_probability_error": 6.693580800742893e-09,
|
| 1664 |
+
"max_abs_logit_error": 0.020044326782226562
|
| 1665 |
+
},
|
| 1666 |
+
{
|
| 1667 |
+
"row": 193,
|
| 1668 |
+
"label": 18,
|
| 1669 |
+
"upstream": 18,
|
| 1670 |
+
"coreml": 18,
|
| 1671 |
+
"max_abs_probability_error": 1.3718365998727222e-08,
|
| 1672 |
+
"max_abs_logit_error": 0.05533123016357422
|
| 1673 |
+
},
|
| 1674 |
+
{
|
| 1675 |
+
"row": 194,
|
| 1676 |
+
"label": 18,
|
| 1677 |
+
"upstream": 18,
|
| 1678 |
+
"coreml": 18,
|
| 1679 |
+
"max_abs_probability_error": 8.344650268554688e-07,
|
| 1680 |
+
"max_abs_logit_error": 0.0247042179107666
|
| 1681 |
+
},
|
| 1682 |
+
{
|
| 1683 |
+
"row": 195,
|
| 1684 |
+
"label": 18,
|
| 1685 |
+
"upstream": 18,
|
| 1686 |
+
"coreml": 18,
|
| 1687 |
+
"max_abs_probability_error": 1.042114572413766e-08,
|
| 1688 |
+
"max_abs_logit_error": 0.028873443603515625
|
| 1689 |
+
}
|
| 1690 |
+
]
|
| 1691 |
+
},
|
| 1692 |
+
"CPU_AND_NE": {
|
| 1693 |
+
"passed": true,
|
| 1694 |
+
"correct": 196,
|
| 1695 |
+
"accuracy": 1.0,
|
| 1696 |
+
"argmax_agreement": 196,
|
| 1697 |
+
"max_abs_probability_error": 0.00233614444732666,
|
| 1698 |
+
"mean_row_max_abs_probability_error": 2.934475840582507e-05,
|
| 1699 |
+
"max_abs_logit_error": 0.07230281829833984,
|
| 1700 |
+
"load_seconds": 0.578353041986702,
|
| 1701 |
+
"warm_inference_latency_ms": {
|
| 1702 |
+
"count": 196,
|
| 1703 |
+
"median_ms": 0.9623960067983717,
|
| 1704 |
+
"p95_ms": 0.9909170039463788,
|
| 1705 |
+
"min_ms": 0.9270830196328461,
|
| 1706 |
+
"max_ms": 1.0197919909842312
|
| 1707 |
+
},
|
| 1708 |
+
"reversed_option_order": {
|
| 1709 |
+
"rows": 6,
|
| 1710 |
+
"max_abs_probability_error": 3.1828880310058594e-05
|
| 1711 |
+
},
|
| 1712 |
+
"per_action": {
|
| 1713 |
+
"fill": {
|
| 1714 |
+
"rows": 36,
|
| 1715 |
+
"correct": 36
|
| 1716 |
+
},
|
| 1717 |
+
"skip": {
|
| 1718 |
+
"rows": 150,
|
| 1719 |
+
"correct": 150
|
| 1720 |
+
},
|
| 1721 |
+
"check": {
|
| 1722 |
+
"rows": 4,
|
| 1723 |
+
"correct": 4
|
| 1724 |
+
},
|
| 1725 |
+
"click": {
|
| 1726 |
+
"rows": 6,
|
| 1727 |
+
"correct": 6
|
| 1728 |
+
}
|
| 1729 |
+
},
|
| 1730 |
+
"decisions": [
|
| 1731 |
+
{
|
| 1732 |
+
"row": 0,
|
| 1733 |
+
"label": 22,
|
| 1734 |
+
"upstream": 22,
|
| 1735 |
+
"coreml": 22,
|
| 1736 |
+
"max_abs_probability_error": 3.1828880310058594e-05,
|
| 1737 |
+
"max_abs_logit_error": 0.03086566925048828
|
| 1738 |
+
},
|
| 1739 |
+
{
|
| 1740 |
+
"row": 1,
|
| 1741 |
+
"label": 23,
|
| 1742 |
+
"upstream": 23,
|
| 1743 |
+
"coreml": 23,
|
| 1744 |
+
"max_abs_probability_error": 3.814697265625e-05,
|
| 1745 |
+
"max_abs_logit_error": 0.020841598510742188
|
| 1746 |
+
},
|
| 1747 |
+
{
|
| 1748 |
+
"row": 2,
|
| 1749 |
+
"label": 2,
|
| 1750 |
+
"upstream": 2,
|
| 1751 |
+
"coreml": 2,
|
| 1752 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 1753 |
+
"max_abs_logit_error": 0.024377822875976562
|
| 1754 |
+
},
|
| 1755 |
+
{
|
| 1756 |
+
"row": 3,
|
| 1757 |
+
"label": 5,
|
| 1758 |
+
"upstream": 5,
|
| 1759 |
+
"coreml": 5,
|
| 1760 |
+
"max_abs_probability_error": 3.218650817871094e-05,
|
| 1761 |
+
"max_abs_logit_error": 0.030775785446166992
|
| 1762 |
+
},
|
| 1763 |
+
{
|
| 1764 |
+
"row": 4,
|
| 1765 |
+
"label": 4,
|
| 1766 |
+
"upstream": 4,
|
| 1767 |
+
"coreml": 4,
|
| 1768 |
+
"max_abs_probability_error": 2.944469451904297e-05,
|
| 1769 |
+
"max_abs_logit_error": 0.03573417663574219
|
| 1770 |
+
},
|
| 1771 |
+
{
|
| 1772 |
+
"row": 5,
|
| 1773 |
+
"label": 6,
|
| 1774 |
+
"upstream": 6,
|
| 1775 |
+
"coreml": 6,
|
| 1776 |
+
"max_abs_probability_error": 1.2636184692382812e-05,
|
| 1777 |
+
"max_abs_logit_error": 0.026729822158813477
|
| 1778 |
+
},
|
| 1779 |
+
{
|
| 1780 |
+
"row": 6,
|
| 1781 |
+
"label": 7,
|
| 1782 |
+
"upstream": 7,
|
| 1783 |
+
"coreml": 7,
|
| 1784 |
+
"max_abs_probability_error": 2.3365020751953125e-05,
|
| 1785 |
+
"max_abs_logit_error": 0.023685455322265625
|
| 1786 |
+
},
|
| 1787 |
+
{
|
| 1788 |
+
"row": 7,
|
| 1789 |
+
"label": 8,
|
| 1790 |
+
"upstream": 8,
|
| 1791 |
+
"coreml": 8,
|
| 1792 |
+
"max_abs_probability_error": 0.00014638900756835938,
|
| 1793 |
+
"max_abs_logit_error": 0.04038810729980469
|
| 1794 |
+
},
|
| 1795 |
+
{
|
| 1796 |
+
"row": 8,
|
| 1797 |
+
"label": 9,
|
| 1798 |
+
"upstream": 9,
|
| 1799 |
+
"coreml": 9,
|
| 1800 |
+
"max_abs_probability_error": 1.1920928955078125e-06,
|
| 1801 |
+
"max_abs_logit_error": 0.02460002899169922
|
| 1802 |
+
},
|
| 1803 |
+
{
|
| 1804 |
+
"row": 9,
|
| 1805 |
+
"label": 10,
|
| 1806 |
+
"upstream": 10,
|
| 1807 |
+
"coreml": 10,
|
| 1808 |
+
"max_abs_probability_error": 2.1457672119140625e-05,
|
| 1809 |
+
"max_abs_logit_error": 0.018064022064208984
|
| 1810 |
+
},
|
| 1811 |
+
{
|
| 1812 |
+
"row": 10,
|
| 1813 |
+
"label": 11,
|
| 1814 |
+
"upstream": 11,
|
| 1815 |
+
"coreml": 11,
|
| 1816 |
+
"max_abs_probability_error": 5.960464477539062e-07,
|
| 1817 |
+
"max_abs_logit_error": 0.047691673040390015
|
| 1818 |
+
},
|
| 1819 |
+
{
|
| 1820 |
+
"row": 11,
|
| 1821 |
+
"label": 13,
|
| 1822 |
+
"upstream": 13,
|
| 1823 |
+
"coreml": 13,
|
| 1824 |
+
"max_abs_probability_error": 3.2186508178710938e-06,
|
| 1825 |
+
"max_abs_logit_error": 0.03340768814086914
|
| 1826 |
+
},
|
| 1827 |
+
{
|
| 1828 |
+
"row": 12,
|
| 1829 |
+
"label": 15,
|
| 1830 |
+
"upstream": 15,
|
| 1831 |
+
"coreml": 15,
|
| 1832 |
+
"max_abs_probability_error": 2.384185791015625e-06,
|
| 1833 |
+
"max_abs_logit_error": 0.053191184997558594
|
| 1834 |
+
},
|
| 1835 |
+
{
|
| 1836 |
+
"row": 13,
|
| 1837 |
+
"label": 16,
|
| 1838 |
+
"upstream": 16,
|
| 1839 |
+
"coreml": 16,
|
| 1840 |
+
"max_abs_probability_error": 0.0005360841751098633,
|
| 1841 |
+
"max_abs_logit_error": 0.03362560272216797
|
| 1842 |
+
},
|
| 1843 |
+
{
|
| 1844 |
+
"row": 14,
|
| 1845 |
+
"label": 26,
|
| 1846 |
+
"upstream": 26,
|
| 1847 |
+
"coreml": 26,
|
| 1848 |
+
"max_abs_probability_error": 1.8596649169921875e-05,
|
| 1849 |
+
"max_abs_logit_error": 0.024669170379638672
|
| 1850 |
+
},
|
| 1851 |
+
{
|
| 1852 |
+
"row": 15,
|
| 1853 |
+
"label": 24,
|
| 1854 |
+
"upstream": 24,
|
| 1855 |
+
"coreml": 24,
|
| 1856 |
+
"max_abs_probability_error": 1.6689300537109375e-05,
|
| 1857 |
+
"max_abs_logit_error": 0.034501075744628906
|
| 1858 |
+
},
|
| 1859 |
+
{
|
| 1860 |
+
"row": 16,
|
| 1861 |
+
"label": 26,
|
| 1862 |
+
"upstream": 26,
|
| 1863 |
+
"coreml": 26,
|
| 1864 |
+
"max_abs_probability_error": 1.440092489701783e-08,
|
| 1865 |
+
"max_abs_logit_error": 0.033290743827819824
|
| 1866 |
+
},
|
| 1867 |
+
{
|
| 1868 |
+
"row": 17,
|
| 1869 |
+
"label": 25,
|
| 1870 |
+
"upstream": 25,
|
| 1871 |
+
"coreml": 25,
|
| 1872 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 1873 |
+
"max_abs_logit_error": 0.03323173522949219
|
| 1874 |
+
},
|
| 1875 |
+
{
|
| 1876 |
+
"row": 18,
|
| 1877 |
+
"label": 26,
|
| 1878 |
+
"upstream": 26,
|
| 1879 |
+
"coreml": 26,
|
| 1880 |
+
"max_abs_probability_error": 8.430758313693332e-09,
|
| 1881 |
+
"max_abs_logit_error": 0.022179126739501953
|
| 1882 |
+
},
|
| 1883 |
+
{
|
| 1884 |
+
"row": 19,
|
| 1885 |
+
"label": 26,
|
| 1886 |
+
"upstream": 26,
|
| 1887 |
+
"coreml": 26,
|
| 1888 |
+
"max_abs_probability_error": 3.0266471551243512e-09,
|
| 1889 |
+
"max_abs_logit_error": 0.029880523681640625
|
| 1890 |
+
},
|
| 1891 |
+
{
|
| 1892 |
+
"row": 20,
|
| 1893 |
+
"label": 26,
|
| 1894 |
+
"upstream": 26,
|
| 1895 |
+
"coreml": 26,
|
| 1896 |
+
"max_abs_probability_error": 2.4500966588902884e-08,
|
| 1897 |
+
"max_abs_logit_error": 0.031145095825195312
|
| 1898 |
+
},
|
| 1899 |
+
{
|
| 1900 |
+
"row": 21,
|
| 1901 |
+
"label": 26,
|
| 1902 |
+
"upstream": 26,
|
| 1903 |
+
"coreml": 26,
|
| 1904 |
+
"max_abs_probability_error": 1.647379281599637e-11,
|
| 1905 |
+
"max_abs_logit_error": 0.03861522674560547
|
| 1906 |
+
},
|
| 1907 |
+
{
|
| 1908 |
+
"row": 22,
|
| 1909 |
+
"label": 26,
|
| 1910 |
+
"upstream": 26,
|
| 1911 |
+
"coreml": 26,
|
| 1912 |
+
"max_abs_probability_error": 7.152557373046875e-07,
|
| 1913 |
+
"max_abs_logit_error": 0.027164459228515625
|
| 1914 |
+
},
|
| 1915 |
+
{
|
| 1916 |
+
"row": 23,
|
| 1917 |
+
"label": 26,
|
| 1918 |
+
"upstream": 26,
|
| 1919 |
+
"coreml": 26,
|
| 1920 |
+
"max_abs_probability_error": 5.960464477539062e-07,
|
| 1921 |
+
"max_abs_logit_error": 0.058716535568237305
|
| 1922 |
+
},
|
| 1923 |
+
{
|
| 1924 |
+
"row": 24,
|
| 1925 |
+
"label": 26,
|
| 1926 |
+
"upstream": 26,
|
| 1927 |
+
"coreml": 26,
|
| 1928 |
+
"max_abs_probability_error": 2.5055844551924444e-11,
|
| 1929 |
+
"max_abs_logit_error": 0.035381317138671875
|
| 1930 |
+
},
|
| 1931 |
+
{
|
| 1932 |
+
"row": 25,
|
| 1933 |
+
"label": 26,
|
| 1934 |
+
"upstream": 26,
|
| 1935 |
+
"coreml": 26,
|
| 1936 |
+
"max_abs_probability_error": 6.995705792434137e-09,
|
| 1937 |
+
"max_abs_logit_error": 0.04862499237060547
|
| 1938 |
+
},
|
| 1939 |
+
{
|
| 1940 |
+
"row": 26,
|
| 1941 |
+
"label": 26,
|
| 1942 |
+
"upstream": 26,
|
| 1943 |
+
"coreml": 26,
|
| 1944 |
+
"max_abs_probability_error": 6.470584068551943e-10,
|
| 1945 |
+
"max_abs_logit_error": 0.029034733772277832
|
| 1946 |
+
},
|
| 1947 |
+
{
|
| 1948 |
+
"row": 27,
|
| 1949 |
+
"label": 26,
|
| 1950 |
+
"upstream": 26,
|
| 1951 |
+
"coreml": 26,
|
| 1952 |
+
"max_abs_probability_error": 6.973024935241767e-11,
|
| 1953 |
+
"max_abs_logit_error": 0.03808116912841797
|
| 1954 |
+
},
|
| 1955 |
+
{
|
| 1956 |
+
"row": 28,
|
| 1957 |
+
"label": 26,
|
| 1958 |
+
"upstream": 26,
|
| 1959 |
+
"coreml": 26,
|
| 1960 |
+
"max_abs_probability_error": 5.994321927715873e-09,
|
| 1961 |
+
"max_abs_logit_error": 0.03319191932678223
|
| 1962 |
+
},
|
| 1963 |
+
{
|
| 1964 |
+
"row": 29,
|
| 1965 |
+
"label": 26,
|
| 1966 |
+
"upstream": 26,
|
| 1967 |
+
"coreml": 26,
|
| 1968 |
+
"max_abs_probability_error": 2.4426039316183257e-11,
|
| 1969 |
+
"max_abs_logit_error": 0.030045509338378906
|
| 1970 |
+
},
|
| 1971 |
+
{
|
| 1972 |
+
"row": 30,
|
| 1973 |
+
"label": 26,
|
| 1974 |
+
"upstream": 26,
|
| 1975 |
+
"coreml": 26,
|
| 1976 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 1977 |
+
"max_abs_logit_error": 0.026231765747070312
|
| 1978 |
+
},
|
| 1979 |
+
{
|
| 1980 |
+
"row": 31,
|
| 1981 |
+
"label": 26,
|
| 1982 |
+
"upstream": 26,
|
| 1983 |
+
"coreml": 26,
|
| 1984 |
+
"max_abs_probability_error": 7.78299757975276e-10,
|
| 1985 |
+
"max_abs_logit_error": 0.033112093806266785
|
| 1986 |
+
},
|
| 1987 |
+
{
|
| 1988 |
+
"row": 32,
|
| 1989 |
+
"label": 26,
|
| 1990 |
+
"upstream": 26,
|
| 1991 |
+
"coreml": 26,
|
| 1992 |
+
"max_abs_probability_error": 6.185003176284454e-09,
|
| 1993 |
+
"max_abs_logit_error": 0.022128582000732422
|
| 1994 |
+
},
|
| 1995 |
+
{
|
| 1996 |
+
"row": 33,
|
| 1997 |
+
"label": 26,
|
| 1998 |
+
"upstream": 26,
|
| 1999 |
+
"coreml": 26,
|
| 2000 |
+
"max_abs_probability_error": 3.4556297823229443e-09,
|
| 2001 |
+
"max_abs_logit_error": 0.038306236267089844
|
| 2002 |
+
},
|
| 2003 |
+
{
|
| 2004 |
+
"row": 34,
|
| 2005 |
+
"label": 26,
|
| 2006 |
+
"upstream": 26,
|
| 2007 |
+
"coreml": 26,
|
| 2008 |
+
"max_abs_probability_error": 0.0004820823669433594,
|
| 2009 |
+
"max_abs_logit_error": 0.032683372497558594
|
| 2010 |
+
},
|
| 2011 |
+
{
|
| 2012 |
+
"row": 35,
|
| 2013 |
+
"label": 26,
|
| 2014 |
+
"upstream": 26,
|
| 2015 |
+
"coreml": 26,
|
| 2016 |
+
"max_abs_probability_error": 1.462750809366753e-09,
|
| 2017 |
+
"max_abs_logit_error": 0.029730796813964844
|
| 2018 |
+
},
|
| 2019 |
+
{
|
| 2020 |
+
"row": 36,
|
| 2021 |
+
"label": 26,
|
| 2022 |
+
"upstream": 26,
|
| 2023 |
+
"coreml": 26,
|
| 2024 |
+
"max_abs_probability_error": 2.7510341227277024e-10,
|
| 2025 |
+
"max_abs_logit_error": 0.02333354949951172
|
| 2026 |
+
},
|
| 2027 |
+
{
|
| 2028 |
+
"row": 37,
|
| 2029 |
+
"label": 26,
|
| 2030 |
+
"upstream": 26,
|
| 2031 |
+
"coreml": 26,
|
| 2032 |
+
"max_abs_probability_error": 2.657592190757896e-08,
|
| 2033 |
+
"max_abs_logit_error": 0.022855758666992188
|
| 2034 |
+
},
|
| 2035 |
+
{
|
| 2036 |
+
"row": 38,
|
| 2037 |
+
"label": 26,
|
| 2038 |
+
"upstream": 26,
|
| 2039 |
+
"coreml": 26,
|
| 2040 |
+
"max_abs_probability_error": 9.552543478452691e-11,
|
| 2041 |
+
"max_abs_logit_error": 0.023164749145507812
|
| 2042 |
+
},
|
| 2043 |
+
{
|
| 2044 |
+
"row": 39,
|
| 2045 |
+
"label": 26,
|
| 2046 |
+
"upstream": 26,
|
| 2047 |
+
"coreml": 26,
|
| 2048 |
+
"max_abs_probability_error": 4.04716482549361e-10,
|
| 2049 |
+
"max_abs_logit_error": 0.02880859375
|
| 2050 |
+
},
|
| 2051 |
+
{
|
| 2052 |
+
"row": 40,
|
| 2053 |
+
"label": 26,
|
| 2054 |
+
"upstream": 26,
|
| 2055 |
+
"coreml": 26,
|
| 2056 |
+
"max_abs_probability_error": 0.00021719932556152344,
|
| 2057 |
+
"max_abs_logit_error": 0.04735088348388672
|
| 2058 |
+
},
|
| 2059 |
+
{
|
| 2060 |
+
"row": 41,
|
| 2061 |
+
"label": 26,
|
| 2062 |
+
"upstream": 26,
|
| 2063 |
+
"coreml": 26,
|
| 2064 |
+
"max_abs_probability_error": 6.146233744175333e-09,
|
| 2065 |
+
"max_abs_logit_error": 0.03671276569366455
|
| 2066 |
+
},
|
| 2067 |
+
{
|
| 2068 |
+
"row": 42,
|
| 2069 |
+
"label": 26,
|
| 2070 |
+
"upstream": 26,
|
| 2071 |
+
"coreml": 26,
|
| 2072 |
+
"max_abs_probability_error": 1.8819494851385343e-09,
|
| 2073 |
+
"max_abs_logit_error": 0.023815155029296875
|
| 2074 |
+
},
|
| 2075 |
+
{
|
| 2076 |
+
"row": 43,
|
| 2077 |
+
"label": 26,
|
| 2078 |
+
"upstream": 26,
|
| 2079 |
+
"coreml": 26,
|
| 2080 |
+
"max_abs_probability_error": 7.152557373046875e-07,
|
| 2081 |
+
"max_abs_logit_error": 0.02039623260498047
|
| 2082 |
+
},
|
| 2083 |
+
{
|
| 2084 |
+
"row": 44,
|
| 2085 |
+
"label": 26,
|
| 2086 |
+
"upstream": 26,
|
| 2087 |
+
"coreml": 26,
|
| 2088 |
+
"max_abs_probability_error": 1.780525865635596e-10,
|
| 2089 |
+
"max_abs_logit_error": 0.022927284240722656
|
| 2090 |
+
},
|
| 2091 |
+
{
|
| 2092 |
+
"row": 45,
|
| 2093 |
+
"label": 26,
|
| 2094 |
+
"upstream": 26,
|
| 2095 |
+
"coreml": 26,
|
| 2096 |
+
"max_abs_probability_error": 3.414331317674879e-11,
|
| 2097 |
+
"max_abs_logit_error": 0.030417919158935547
|
| 2098 |
+
},
|
| 2099 |
+
{
|
| 2100 |
+
"row": 46,
|
| 2101 |
+
"label": 26,
|
| 2102 |
+
"upstream": 26,
|
| 2103 |
+
"coreml": 26,
|
| 2104 |
+
"max_abs_probability_error": 5.599257724142603e-10,
|
| 2105 |
+
"max_abs_logit_error": 0.025608062744140625
|
| 2106 |
+
},
|
| 2107 |
+
{
|
| 2108 |
+
"row": 47,
|
| 2109 |
+
"label": 26,
|
| 2110 |
+
"upstream": 26,
|
| 2111 |
+
"coreml": 26,
|
| 2112 |
+
"max_abs_probability_error": 5.212314607705437e-11,
|
| 2113 |
+
"max_abs_logit_error": 0.022733211517333984
|
| 2114 |
+
},
|
| 2115 |
+
{
|
| 2116 |
+
"row": 48,
|
| 2117 |
+
"label": 26,
|
| 2118 |
+
"upstream": 26,
|
| 2119 |
+
"coreml": 26,
|
| 2120 |
+
"max_abs_probability_error": 1.8596649169921875e-05,
|
| 2121 |
+
"max_abs_logit_error": 0.024669170379638672
|
| 2122 |
+
},
|
| 2123 |
+
{
|
| 2124 |
+
"row": 49,
|
| 2125 |
+
"label": 26,
|
| 2126 |
+
"upstream": 26,
|
| 2127 |
+
"coreml": 26,
|
| 2128 |
+
"max_abs_probability_error": 1.932842080831776e-10,
|
| 2129 |
+
"max_abs_logit_error": 0.030317306518554688
|
| 2130 |
+
},
|
| 2131 |
+
{
|
| 2132 |
+
"row": 50,
|
| 2133 |
+
"label": 26,
|
| 2134 |
+
"upstream": 26,
|
| 2135 |
+
"coreml": 26,
|
| 2136 |
+
"max_abs_probability_error": 1.440092489701783e-08,
|
| 2137 |
+
"max_abs_logit_error": 0.033290743827819824
|
| 2138 |
+
},
|
| 2139 |
+
{
|
| 2140 |
+
"row": 51,
|
| 2141 |
+
"label": 25,
|
| 2142 |
+
"upstream": 25,
|
| 2143 |
+
"coreml": 25,
|
| 2144 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 2145 |
+
"max_abs_logit_error": 0.03323173522949219
|
| 2146 |
+
},
|
| 2147 |
+
{
|
| 2148 |
+
"row": 52,
|
| 2149 |
+
"label": 26,
|
| 2150 |
+
"upstream": 26,
|
| 2151 |
+
"coreml": 26,
|
| 2152 |
+
"max_abs_probability_error": 8.430758313693332e-09,
|
| 2153 |
+
"max_abs_logit_error": 0.022179126739501953
|
| 2154 |
+
},
|
| 2155 |
+
{
|
| 2156 |
+
"row": 53,
|
| 2157 |
+
"label": 26,
|
| 2158 |
+
"upstream": 26,
|
| 2159 |
+
"coreml": 26,
|
| 2160 |
+
"max_abs_probability_error": 3.0266471551243512e-09,
|
| 2161 |
+
"max_abs_logit_error": 0.029880523681640625
|
| 2162 |
+
},
|
| 2163 |
+
{
|
| 2164 |
+
"row": 54,
|
| 2165 |
+
"label": 26,
|
| 2166 |
+
"upstream": 26,
|
| 2167 |
+
"coreml": 26,
|
| 2168 |
+
"max_abs_probability_error": 2.4500966588902884e-08,
|
| 2169 |
+
"max_abs_logit_error": 0.031145095825195312
|
| 2170 |
+
},
|
| 2171 |
+
{
|
| 2172 |
+
"row": 55,
|
| 2173 |
+
"label": 26,
|
| 2174 |
+
"upstream": 26,
|
| 2175 |
+
"coreml": 26,
|
| 2176 |
+
"max_abs_probability_error": 1.647379281599637e-11,
|
| 2177 |
+
"max_abs_logit_error": 0.03861522674560547
|
| 2178 |
+
},
|
| 2179 |
+
{
|
| 2180 |
+
"row": 56,
|
| 2181 |
+
"label": 26,
|
| 2182 |
+
"upstream": 26,
|
| 2183 |
+
"coreml": 26,
|
| 2184 |
+
"max_abs_probability_error": 7.152557373046875e-07,
|
| 2185 |
+
"max_abs_logit_error": 0.027164459228515625
|
| 2186 |
+
},
|
| 2187 |
+
{
|
| 2188 |
+
"row": 57,
|
| 2189 |
+
"label": 26,
|
| 2190 |
+
"upstream": 26,
|
| 2191 |
+
"coreml": 26,
|
| 2192 |
+
"max_abs_probability_error": 5.960464477539062e-07,
|
| 2193 |
+
"max_abs_logit_error": 0.058716535568237305
|
| 2194 |
+
},
|
| 2195 |
+
{
|
| 2196 |
+
"row": 58,
|
| 2197 |
+
"label": 26,
|
| 2198 |
+
"upstream": 26,
|
| 2199 |
+
"coreml": 26,
|
| 2200 |
+
"max_abs_probability_error": 2.5055844551924444e-11,
|
| 2201 |
+
"max_abs_logit_error": 0.035381317138671875
|
| 2202 |
+
},
|
| 2203 |
+
{
|
| 2204 |
+
"row": 59,
|
| 2205 |
+
"label": 26,
|
| 2206 |
+
"upstream": 26,
|
| 2207 |
+
"coreml": 26,
|
| 2208 |
+
"max_abs_probability_error": 6.995705792434137e-09,
|
| 2209 |
+
"max_abs_logit_error": 0.04862499237060547
|
| 2210 |
+
},
|
| 2211 |
+
{
|
| 2212 |
+
"row": 60,
|
| 2213 |
+
"label": 26,
|
| 2214 |
+
"upstream": 26,
|
| 2215 |
+
"coreml": 26,
|
| 2216 |
+
"max_abs_probability_error": 6.470584068551943e-10,
|
| 2217 |
+
"max_abs_logit_error": 0.029034733772277832
|
| 2218 |
+
},
|
| 2219 |
+
{
|
| 2220 |
+
"row": 61,
|
| 2221 |
+
"label": 26,
|
| 2222 |
+
"upstream": 26,
|
| 2223 |
+
"coreml": 26,
|
| 2224 |
+
"max_abs_probability_error": 6.973024935241767e-11,
|
| 2225 |
+
"max_abs_logit_error": 0.03808116912841797
|
| 2226 |
+
},
|
| 2227 |
+
{
|
| 2228 |
+
"row": 62,
|
| 2229 |
+
"label": 26,
|
| 2230 |
+
"upstream": 26,
|
| 2231 |
+
"coreml": 26,
|
| 2232 |
+
"max_abs_probability_error": 5.994321927715873e-09,
|
| 2233 |
+
"max_abs_logit_error": 0.03319191932678223
|
| 2234 |
+
},
|
| 2235 |
+
{
|
| 2236 |
+
"row": 63,
|
| 2237 |
+
"label": 26,
|
| 2238 |
+
"upstream": 26,
|
| 2239 |
+
"coreml": 26,
|
| 2240 |
+
"max_abs_probability_error": 2.4426039316183257e-11,
|
| 2241 |
+
"max_abs_logit_error": 0.030045509338378906
|
| 2242 |
+
},
|
| 2243 |
+
{
|
| 2244 |
+
"row": 64,
|
| 2245 |
+
"label": 26,
|
| 2246 |
+
"upstream": 26,
|
| 2247 |
+
"coreml": 26,
|
| 2248 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 2249 |
+
"max_abs_logit_error": 0.026231765747070312
|
| 2250 |
+
},
|
| 2251 |
+
{
|
| 2252 |
+
"row": 65,
|
| 2253 |
+
"label": 26,
|
| 2254 |
+
"upstream": 26,
|
| 2255 |
+
"coreml": 26,
|
| 2256 |
+
"max_abs_probability_error": 7.78299757975276e-10,
|
| 2257 |
+
"max_abs_logit_error": 0.033112093806266785
|
| 2258 |
+
},
|
| 2259 |
+
{
|
| 2260 |
+
"row": 66,
|
| 2261 |
+
"label": 26,
|
| 2262 |
+
"upstream": 26,
|
| 2263 |
+
"coreml": 26,
|
| 2264 |
+
"max_abs_probability_error": 6.185003176284454e-09,
|
| 2265 |
+
"max_abs_logit_error": 0.022128582000732422
|
| 2266 |
+
},
|
| 2267 |
+
{
|
| 2268 |
+
"row": 67,
|
| 2269 |
+
"label": 26,
|
| 2270 |
+
"upstream": 26,
|
| 2271 |
+
"coreml": 26,
|
| 2272 |
+
"max_abs_probability_error": 3.4556297823229443e-09,
|
| 2273 |
+
"max_abs_logit_error": 0.038306236267089844
|
| 2274 |
+
},
|
| 2275 |
+
{
|
| 2276 |
+
"row": 68,
|
| 2277 |
+
"label": 0,
|
| 2278 |
+
"upstream": 0,
|
| 2279 |
+
"coreml": 0,
|
| 2280 |
+
"max_abs_probability_error": 3.147125244140625e-05,
|
| 2281 |
+
"max_abs_logit_error": 0.03265953063964844
|
| 2282 |
+
},
|
| 2283 |
+
{
|
| 2284 |
+
"row": 69,
|
| 2285 |
+
"label": 1,
|
| 2286 |
+
"upstream": 1,
|
| 2287 |
+
"coreml": 1,
|
| 2288 |
+
"max_abs_probability_error": 5.030632019042969e-05,
|
| 2289 |
+
"max_abs_logit_error": 0.038794517517089844
|
| 2290 |
+
},
|
| 2291 |
+
{
|
| 2292 |
+
"row": 70,
|
| 2293 |
+
"label": 2,
|
| 2294 |
+
"upstream": 2,
|
| 2295 |
+
"coreml": 2,
|
| 2296 |
+
"max_abs_probability_error": 1.7881393432617188e-06,
|
| 2297 |
+
"max_abs_logit_error": 0.040470123291015625
|
| 2298 |
+
},
|
| 2299 |
+
{
|
| 2300 |
+
"row": 71,
|
| 2301 |
+
"label": 3,
|
| 2302 |
+
"upstream": 3,
|
| 2303 |
+
"coreml": 3,
|
| 2304 |
+
"max_abs_probability_error": 5.2928924560546875e-05,
|
| 2305 |
+
"max_abs_logit_error": 0.040035247802734375
|
| 2306 |
+
},
|
| 2307 |
+
{
|
| 2308 |
+
"row": 72,
|
| 2309 |
+
"label": 5,
|
| 2310 |
+
"upstream": 5,
|
| 2311 |
+
"coreml": 5,
|
| 2312 |
+
"max_abs_probability_error": 4.649162292480469e-06,
|
| 2313 |
+
"max_abs_logit_error": 0.042186737060546875
|
| 2314 |
+
},
|
| 2315 |
+
{
|
| 2316 |
+
"row": 73,
|
| 2317 |
+
"label": 6,
|
| 2318 |
+
"upstream": 6,
|
| 2319 |
+
"coreml": 6,
|
| 2320 |
+
"max_abs_probability_error": 2.1576881408691406e-05,
|
| 2321 |
+
"max_abs_logit_error": 0.033161163330078125
|
| 2322 |
+
},
|
| 2323 |
+
{
|
| 2324 |
+
"row": 74,
|
| 2325 |
+
"label": 7,
|
| 2326 |
+
"upstream": 7,
|
| 2327 |
+
"coreml": 7,
|
| 2328 |
+
"max_abs_probability_error": 4.470348358154297e-05,
|
| 2329 |
+
"max_abs_logit_error": 0.0293731689453125
|
| 2330 |
+
},
|
| 2331 |
+
{
|
| 2332 |
+
"row": 75,
|
| 2333 |
+
"label": 8,
|
| 2334 |
+
"upstream": 8,
|
| 2335 |
+
"coreml": 8,
|
| 2336 |
+
"max_abs_probability_error": 1.1563301086425781e-05,
|
| 2337 |
+
"max_abs_logit_error": 0.03249359130859375
|
| 2338 |
+
},
|
| 2339 |
+
{
|
| 2340 |
+
"row": 76,
|
| 2341 |
+
"label": 9,
|
| 2342 |
+
"upstream": 9,
|
| 2343 |
+
"coreml": 9,
|
| 2344 |
+
"max_abs_probability_error": 2.86102294921875e-06,
|
| 2345 |
+
"max_abs_logit_error": 0.03498554229736328
|
| 2346 |
+
},
|
| 2347 |
+
{
|
| 2348 |
+
"row": 77,
|
| 2349 |
+
"label": 13,
|
| 2350 |
+
"upstream": 13,
|
| 2351 |
+
"coreml": 13,
|
| 2352 |
+
"max_abs_probability_error": 0.0003635883331298828,
|
| 2353 |
+
"max_abs_logit_error": 0.023473739624023438
|
| 2354 |
+
},
|
| 2355 |
+
{
|
| 2356 |
+
"row": 78,
|
| 2357 |
+
"label": 20,
|
| 2358 |
+
"upstream": 20,
|
| 2359 |
+
"coreml": 20,
|
| 2360 |
+
"max_abs_probability_error": 9.5367431640625e-07,
|
| 2361 |
+
"max_abs_logit_error": 0.034421443939208984
|
| 2362 |
+
},
|
| 2363 |
+
{
|
| 2364 |
+
"row": 79,
|
| 2365 |
+
"label": 18,
|
| 2366 |
+
"upstream": 18,
|
| 2367 |
+
"coreml": 18,
|
| 2368 |
+
"max_abs_probability_error": 0.0003609657287597656,
|
| 2369 |
+
"max_abs_logit_error": 0.03937721252441406
|
| 2370 |
+
},
|
| 2371 |
+
{
|
| 2372 |
+
"row": 80,
|
| 2373 |
+
"label": 18,
|
| 2374 |
+
"upstream": 18,
|
| 2375 |
+
"coreml": 18,
|
| 2376 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 2377 |
+
"max_abs_logit_error": 0.03752422332763672
|
| 2378 |
+
},
|
| 2379 |
+
{
|
| 2380 |
+
"row": 81,
|
| 2381 |
+
"label": 20,
|
| 2382 |
+
"upstream": 20,
|
| 2383 |
+
"coreml": 20,
|
| 2384 |
+
"max_abs_probability_error": 1.7881393432617188e-06,
|
| 2385 |
+
"max_abs_logit_error": 0.025417327880859375
|
| 2386 |
+
},
|
| 2387 |
+
{
|
| 2388 |
+
"row": 82,
|
| 2389 |
+
"label": 19,
|
| 2390 |
+
"upstream": 19,
|
| 2391 |
+
"coreml": 19,
|
| 2392 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 2393 |
+
"max_abs_logit_error": 0.04453086853027344
|
| 2394 |
+
},
|
| 2395 |
+
{
|
| 2396 |
+
"row": 83,
|
| 2397 |
+
"label": 20,
|
| 2398 |
+
"upstream": 20,
|
| 2399 |
+
"coreml": 20,
|
| 2400 |
+
"max_abs_probability_error": 5.0942090545902374e-09,
|
| 2401 |
+
"max_abs_logit_error": 0.023950576782226562
|
| 2402 |
+
},
|
| 2403 |
+
{
|
| 2404 |
+
"row": 84,
|
| 2405 |
+
"label": 20,
|
| 2406 |
+
"upstream": 20,
|
| 2407 |
+
"coreml": 20,
|
| 2408 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 2409 |
+
"max_abs_logit_error": 0.022706031799316406
|
| 2410 |
+
},
|
| 2411 |
+
{
|
| 2412 |
+
"row": 85,
|
| 2413 |
+
"label": 20,
|
| 2414 |
+
"upstream": 20,
|
| 2415 |
+
"coreml": 20,
|
| 2416 |
+
"max_abs_probability_error": 3.5405053888659666e-10,
|
| 2417 |
+
"max_abs_logit_error": 0.035375118255615234
|
| 2418 |
+
},
|
| 2419 |
+
{
|
| 2420 |
+
"row": 86,
|
| 2421 |
+
"label": 20,
|
| 2422 |
+
"upstream": 20,
|
| 2423 |
+
"coreml": 20,
|
| 2424 |
+
"max_abs_probability_error": 4.76837158203125e-07,
|
| 2425 |
+
"max_abs_logit_error": 0.03717994689941406
|
| 2426 |
+
},
|
| 2427 |
+
{
|
| 2428 |
+
"row": 87,
|
| 2429 |
+
"label": 20,
|
| 2430 |
+
"upstream": 20,
|
| 2431 |
+
"coreml": 20,
|
| 2432 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 2433 |
+
"max_abs_logit_error": 0.04058122634887695
|
| 2434 |
+
},
|
| 2435 |
+
{
|
| 2436 |
+
"row": 88,
|
| 2437 |
+
"label": 20,
|
| 2438 |
+
"upstream": 20,
|
| 2439 |
+
"coreml": 20,
|
| 2440 |
+
"max_abs_probability_error": 1.3188037328859537e-09,
|
| 2441 |
+
"max_abs_logit_error": 0.032048702239990234
|
| 2442 |
+
},
|
| 2443 |
+
{
|
| 2444 |
+
"row": 89,
|
| 2445 |
+
"label": 20,
|
| 2446 |
+
"upstream": 20,
|
| 2447 |
+
"coreml": 20,
|
| 2448 |
+
"max_abs_probability_error": 1.9970605169561395e-09,
|
| 2449 |
+
"max_abs_logit_error": 0.030427932739257812
|
| 2450 |
+
},
|
| 2451 |
+
{
|
| 2452 |
+
"row": 90,
|
| 2453 |
+
"label": 20,
|
| 2454 |
+
"upstream": 20,
|
| 2455 |
+
"coreml": 20,
|
| 2456 |
+
"max_abs_probability_error": 1.7617375336342889e-09,
|
| 2457 |
+
"max_abs_logit_error": 0.0281219482421875
|
| 2458 |
+
},
|
| 2459 |
+
{
|
| 2460 |
+
"row": 91,
|
| 2461 |
+
"label": 20,
|
| 2462 |
+
"upstream": 20,
|
| 2463 |
+
"coreml": 20,
|
| 2464 |
+
"max_abs_probability_error": 1.612549260787688e-10,
|
| 2465 |
+
"max_abs_logit_error": 0.030226707458496094
|
| 2466 |
+
},
|
| 2467 |
+
{
|
| 2468 |
+
"row": 92,
|
| 2469 |
+
"label": 20,
|
| 2470 |
+
"upstream": 20,
|
| 2471 |
+
"coreml": 20,
|
| 2472 |
+
"max_abs_probability_error": 6.506330630512425e-12,
|
| 2473 |
+
"max_abs_logit_error": 0.04007530212402344
|
| 2474 |
+
},
|
| 2475 |
+
{
|
| 2476 |
+
"row": 93,
|
| 2477 |
+
"label": 20,
|
| 2478 |
+
"upstream": 20,
|
| 2479 |
+
"coreml": 20,
|
| 2480 |
+
"max_abs_probability_error": 1.5150824594911683e-08,
|
| 2481 |
+
"max_abs_logit_error": 0.02728891372680664
|
| 2482 |
+
},
|
| 2483 |
+
{
|
| 2484 |
+
"row": 94,
|
| 2485 |
+
"label": 20,
|
| 2486 |
+
"upstream": 20,
|
| 2487 |
+
"coreml": 20,
|
| 2488 |
+
"max_abs_probability_error": 1.3666674458789885e-09,
|
| 2489 |
+
"max_abs_logit_error": 0.0217437744140625
|
| 2490 |
+
},
|
| 2491 |
+
{
|
| 2492 |
+
"row": 95,
|
| 2493 |
+
"label": 20,
|
| 2494 |
+
"upstream": 20,
|
| 2495 |
+
"coreml": 20,
|
| 2496 |
+
"max_abs_probability_error": 3.969476136678196e-10,
|
| 2497 |
+
"max_abs_logit_error": 0.03214454650878906
|
| 2498 |
+
},
|
| 2499 |
+
{
|
| 2500 |
+
"row": 96,
|
| 2501 |
+
"label": 20,
|
| 2502 |
+
"upstream": 20,
|
| 2503 |
+
"coreml": 20,
|
| 2504 |
+
"max_abs_probability_error": 2.657726538846106e-10,
|
| 2505 |
+
"max_abs_logit_error": 0.03669023513793945
|
| 2506 |
+
},
|
| 2507 |
+
{
|
| 2508 |
+
"row": 97,
|
| 2509 |
+
"label": 20,
|
| 2510 |
+
"upstream": 20,
|
| 2511 |
+
"coreml": 20,
|
| 2512 |
+
"max_abs_probability_error": 1.9073486328125e-06,
|
| 2513 |
+
"max_abs_logit_error": 0.019012451171875
|
| 2514 |
+
},
|
| 2515 |
+
{
|
| 2516 |
+
"row": 98,
|
| 2517 |
+
"label": 20,
|
| 2518 |
+
"upstream": 20,
|
| 2519 |
+
"coreml": 20,
|
| 2520 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 2521 |
+
"max_abs_logit_error": 0.026651382446289062
|
| 2522 |
+
},
|
| 2523 |
+
{
|
| 2524 |
+
"row": 99,
|
| 2525 |
+
"label": 20,
|
| 2526 |
+
"upstream": 20,
|
| 2527 |
+
"coreml": 20,
|
| 2528 |
+
"max_abs_probability_error": 2.1457672119140625e-06,
|
| 2529 |
+
"max_abs_logit_error": 0.04161381721496582
|
| 2530 |
+
},
|
| 2531 |
+
{
|
| 2532 |
+
"row": 100,
|
| 2533 |
+
"label": 20,
|
| 2534 |
+
"upstream": 20,
|
| 2535 |
+
"coreml": 20,
|
| 2536 |
+
"max_abs_probability_error": 9.5367431640625e-07,
|
| 2537 |
+
"max_abs_logit_error": 0.04680633544921875
|
| 2538 |
+
},
|
| 2539 |
+
{
|
| 2540 |
+
"row": 101,
|
| 2541 |
+
"label": 20,
|
| 2542 |
+
"upstream": 20,
|
| 2543 |
+
"coreml": 20,
|
| 2544 |
+
"max_abs_probability_error": 1.789079107084035e-08,
|
| 2545 |
+
"max_abs_logit_error": 0.029542922973632812
|
| 2546 |
+
},
|
| 2547 |
+
{
|
| 2548 |
+
"row": 102,
|
| 2549 |
+
"label": 20,
|
| 2550 |
+
"upstream": 20,
|
| 2551 |
+
"coreml": 20,
|
| 2552 |
+
"max_abs_probability_error": 2.5862225694339713e-09,
|
| 2553 |
+
"max_abs_logit_error": 0.023795127868652344
|
| 2554 |
+
},
|
| 2555 |
+
{
|
| 2556 |
+
"row": 103,
|
| 2557 |
+
"label": 20,
|
| 2558 |
+
"upstream": 20,
|
| 2559 |
+
"coreml": 20,
|
| 2560 |
+
"max_abs_probability_error": 0.00024586915969848633,
|
| 2561 |
+
"max_abs_logit_error": 0.030111312866210938
|
| 2562 |
+
},
|
| 2563 |
+
{
|
| 2564 |
+
"row": 104,
|
| 2565 |
+
"label": 20,
|
| 2566 |
+
"upstream": 20,
|
| 2567 |
+
"coreml": 20,
|
| 2568 |
+
"max_abs_probability_error": 5.841255187988281e-06,
|
| 2569 |
+
"max_abs_logit_error": 0.03126239776611328
|
| 2570 |
+
},
|
| 2571 |
+
{
|
| 2572 |
+
"row": 105,
|
| 2573 |
+
"label": 20,
|
| 2574 |
+
"upstream": 20,
|
| 2575 |
+
"coreml": 20,
|
| 2576 |
+
"max_abs_probability_error": 4.928799035575082e-10,
|
| 2577 |
+
"max_abs_logit_error": 0.026149272918701172
|
| 2578 |
+
},
|
| 2579 |
+
{
|
| 2580 |
+
"row": 106,
|
| 2581 |
+
"label": 20,
|
| 2582 |
+
"upstream": 20,
|
| 2583 |
+
"coreml": 20,
|
| 2584 |
+
"max_abs_probability_error": 2.4136979082101107e-09,
|
| 2585 |
+
"max_abs_logit_error": 0.024585723876953125
|
| 2586 |
+
},
|
| 2587 |
+
{
|
| 2588 |
+
"row": 107,
|
| 2589 |
+
"label": 20,
|
| 2590 |
+
"upstream": 20,
|
| 2591 |
+
"coreml": 20,
|
| 2592 |
+
"max_abs_probability_error": 6.302839361538304e-10,
|
| 2593 |
+
"max_abs_logit_error": 0.024765491485595703
|
| 2594 |
+
},
|
| 2595 |
+
{
|
| 2596 |
+
"row": 108,
|
| 2597 |
+
"label": 20,
|
| 2598 |
+
"upstream": 20,
|
| 2599 |
+
"coreml": 20,
|
| 2600 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 2601 |
+
"max_abs_logit_error": 0.03492164611816406
|
| 2602 |
+
},
|
| 2603 |
+
{
|
| 2604 |
+
"row": 109,
|
| 2605 |
+
"label": 20,
|
| 2606 |
+
"upstream": 20,
|
| 2607 |
+
"coreml": 20,
|
| 2608 |
+
"max_abs_probability_error": 9.5367431640625e-07,
|
| 2609 |
+
"max_abs_logit_error": 0.034421443939208984
|
| 2610 |
+
},
|
| 2611 |
+
{
|
| 2612 |
+
"row": 110,
|
| 2613 |
+
"label": 20,
|
| 2614 |
+
"upstream": 20,
|
| 2615 |
+
"coreml": 20,
|
| 2616 |
+
"max_abs_probability_error": 9.5367431640625e-07,
|
| 2617 |
+
"max_abs_logit_error": 0.0320439338684082
|
| 2618 |
+
},
|
| 2619 |
+
{
|
| 2620 |
+
"row": 111,
|
| 2621 |
+
"label": 20,
|
| 2622 |
+
"upstream": 20,
|
| 2623 |
+
"coreml": 20,
|
| 2624 |
+
"max_abs_probability_error": 1.811981201171875e-05,
|
| 2625 |
+
"max_abs_logit_error": 0.032814979553222656
|
| 2626 |
+
},
|
| 2627 |
+
{
|
| 2628 |
+
"row": 112,
|
| 2629 |
+
"label": 20,
|
| 2630 |
+
"upstream": 20,
|
| 2631 |
+
"coreml": 20,
|
| 2632 |
+
"max_abs_probability_error": 1.7881393432617188e-06,
|
| 2633 |
+
"max_abs_logit_error": 0.025417327880859375
|
| 2634 |
+
},
|
| 2635 |
+
{
|
| 2636 |
+
"row": 113,
|
| 2637 |
+
"label": 19,
|
| 2638 |
+
"upstream": 19,
|
| 2639 |
+
"coreml": 19,
|
| 2640 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 2641 |
+
"max_abs_logit_error": 0.04453086853027344
|
| 2642 |
+
},
|
| 2643 |
+
{
|
| 2644 |
+
"row": 114,
|
| 2645 |
+
"label": 20,
|
| 2646 |
+
"upstream": 20,
|
| 2647 |
+
"coreml": 20,
|
| 2648 |
+
"max_abs_probability_error": 5.0942090545902374e-09,
|
| 2649 |
+
"max_abs_logit_error": 0.023950576782226562
|
| 2650 |
+
},
|
| 2651 |
+
{
|
| 2652 |
+
"row": 115,
|
| 2653 |
+
"label": 20,
|
| 2654 |
+
"upstream": 20,
|
| 2655 |
+
"coreml": 20,
|
| 2656 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 2657 |
+
"max_abs_logit_error": 0.022706031799316406
|
| 2658 |
+
},
|
| 2659 |
+
{
|
| 2660 |
+
"row": 116,
|
| 2661 |
+
"label": 20,
|
| 2662 |
+
"upstream": 20,
|
| 2663 |
+
"coreml": 20,
|
| 2664 |
+
"max_abs_probability_error": 3.5405053888659666e-10,
|
| 2665 |
+
"max_abs_logit_error": 0.035375118255615234
|
| 2666 |
+
},
|
| 2667 |
+
{
|
| 2668 |
+
"row": 117,
|
| 2669 |
+
"label": 20,
|
| 2670 |
+
"upstream": 20,
|
| 2671 |
+
"coreml": 20,
|
| 2672 |
+
"max_abs_probability_error": 4.76837158203125e-07,
|
| 2673 |
+
"max_abs_logit_error": 0.03717994689941406
|
| 2674 |
+
},
|
| 2675 |
+
{
|
| 2676 |
+
"row": 118,
|
| 2677 |
+
"label": 20,
|
| 2678 |
+
"upstream": 20,
|
| 2679 |
+
"coreml": 20,
|
| 2680 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 2681 |
+
"max_abs_logit_error": 0.04058122634887695
|
| 2682 |
+
},
|
| 2683 |
+
{
|
| 2684 |
+
"row": 119,
|
| 2685 |
+
"label": 20,
|
| 2686 |
+
"upstream": 20,
|
| 2687 |
+
"coreml": 20,
|
| 2688 |
+
"max_abs_probability_error": 1.3188037328859537e-09,
|
| 2689 |
+
"max_abs_logit_error": 0.032048702239990234
|
| 2690 |
+
},
|
| 2691 |
+
{
|
| 2692 |
+
"row": 120,
|
| 2693 |
+
"label": 20,
|
| 2694 |
+
"upstream": 20,
|
| 2695 |
+
"coreml": 20,
|
| 2696 |
+
"max_abs_probability_error": 1.9970605169561395e-09,
|
| 2697 |
+
"max_abs_logit_error": 0.030427932739257812
|
| 2698 |
+
},
|
| 2699 |
+
{
|
| 2700 |
+
"row": 121,
|
| 2701 |
+
"label": 20,
|
| 2702 |
+
"upstream": 20,
|
| 2703 |
+
"coreml": 20,
|
| 2704 |
+
"max_abs_probability_error": 1.7617375336342889e-09,
|
| 2705 |
+
"max_abs_logit_error": 0.0281219482421875
|
| 2706 |
+
},
|
| 2707 |
+
{
|
| 2708 |
+
"row": 122,
|
| 2709 |
+
"label": 20,
|
| 2710 |
+
"upstream": 20,
|
| 2711 |
+
"coreml": 20,
|
| 2712 |
+
"max_abs_probability_error": 1.612549260787688e-10,
|
| 2713 |
+
"max_abs_logit_error": 0.030226707458496094
|
| 2714 |
+
},
|
| 2715 |
+
{
|
| 2716 |
+
"row": 123,
|
| 2717 |
+
"label": 20,
|
| 2718 |
+
"upstream": 20,
|
| 2719 |
+
"coreml": 20,
|
| 2720 |
+
"max_abs_probability_error": 6.506330630512425e-12,
|
| 2721 |
+
"max_abs_logit_error": 0.04007530212402344
|
| 2722 |
+
},
|
| 2723 |
+
{
|
| 2724 |
+
"row": 124,
|
| 2725 |
+
"label": 20,
|
| 2726 |
+
"upstream": 20,
|
| 2727 |
+
"coreml": 20,
|
| 2728 |
+
"max_abs_probability_error": 1.5150824594911683e-08,
|
| 2729 |
+
"max_abs_logit_error": 0.02728891372680664
|
| 2730 |
+
},
|
| 2731 |
+
{
|
| 2732 |
+
"row": 125,
|
| 2733 |
+
"label": 20,
|
| 2734 |
+
"upstream": 20,
|
| 2735 |
+
"coreml": 20,
|
| 2736 |
+
"max_abs_probability_error": 1.3666674458789885e-09,
|
| 2737 |
+
"max_abs_logit_error": 0.0217437744140625
|
| 2738 |
+
},
|
| 2739 |
+
{
|
| 2740 |
+
"row": 126,
|
| 2741 |
+
"label": 20,
|
| 2742 |
+
"upstream": 20,
|
| 2743 |
+
"coreml": 20,
|
| 2744 |
+
"max_abs_probability_error": 3.969476136678196e-10,
|
| 2745 |
+
"max_abs_logit_error": 0.03214454650878906
|
| 2746 |
+
},
|
| 2747 |
+
{
|
| 2748 |
+
"row": 127,
|
| 2749 |
+
"label": 20,
|
| 2750 |
+
"upstream": 20,
|
| 2751 |
+
"coreml": 20,
|
| 2752 |
+
"max_abs_probability_error": 2.657726538846106e-10,
|
| 2753 |
+
"max_abs_logit_error": 0.03669023513793945
|
| 2754 |
+
},
|
| 2755 |
+
{
|
| 2756 |
+
"row": 128,
|
| 2757 |
+
"label": 20,
|
| 2758 |
+
"upstream": 20,
|
| 2759 |
+
"coreml": 20,
|
| 2760 |
+
"max_abs_probability_error": 1.9073486328125e-06,
|
| 2761 |
+
"max_abs_logit_error": 0.019012451171875
|
| 2762 |
+
},
|
| 2763 |
+
{
|
| 2764 |
+
"row": 129,
|
| 2765 |
+
"label": 20,
|
| 2766 |
+
"upstream": 20,
|
| 2767 |
+
"coreml": 20,
|
| 2768 |
+
"max_abs_probability_error": 2.384185791015625e-07,
|
| 2769 |
+
"max_abs_logit_error": 0.026651382446289062
|
| 2770 |
+
},
|
| 2771 |
+
{
|
| 2772 |
+
"row": 130,
|
| 2773 |
+
"label": 1,
|
| 2774 |
+
"upstream": 1,
|
| 2775 |
+
"coreml": 1,
|
| 2776 |
+
"max_abs_probability_error": 3.170967102050781e-05,
|
| 2777 |
+
"max_abs_logit_error": 0.071075439453125
|
| 2778 |
+
},
|
| 2779 |
+
{
|
| 2780 |
+
"row": 131,
|
| 2781 |
+
"label": 2,
|
| 2782 |
+
"upstream": 2,
|
| 2783 |
+
"coreml": 2,
|
| 2784 |
+
"max_abs_probability_error": 8.344650268554688e-07,
|
| 2785 |
+
"max_abs_logit_error": 0.051357269287109375
|
| 2786 |
+
},
|
| 2787 |
+
{
|
| 2788 |
+
"row": 132,
|
| 2789 |
+
"label": 3,
|
| 2790 |
+
"upstream": 3,
|
| 2791 |
+
"coreml": 3,
|
| 2792 |
+
"max_abs_probability_error": 2.7894973754882812e-05,
|
| 2793 |
+
"max_abs_logit_error": 0.033801641315221786
|
| 2794 |
+
},
|
| 2795 |
+
{
|
| 2796 |
+
"row": 133,
|
| 2797 |
+
"label": 4,
|
| 2798 |
+
"upstream": 4,
|
| 2799 |
+
"coreml": 4,
|
| 2800 |
+
"max_abs_probability_error": 1.0967254638671875e-05,
|
| 2801 |
+
"max_abs_logit_error": 0.039325714111328125
|
| 2802 |
+
},
|
| 2803 |
+
{
|
| 2804 |
+
"row": 134,
|
| 2805 |
+
"label": 5,
|
| 2806 |
+
"upstream": 5,
|
| 2807 |
+
"coreml": 5,
|
| 2808 |
+
"max_abs_probability_error": 6.258487701416016e-05,
|
| 2809 |
+
"max_abs_logit_error": 0.033056676387786865
|
| 2810 |
+
},
|
| 2811 |
+
{
|
| 2812 |
+
"row": 135,
|
| 2813 |
+
"label": 6,
|
| 2814 |
+
"upstream": 6,
|
| 2815 |
+
"coreml": 6,
|
| 2816 |
+
"max_abs_probability_error": 1.2993812561035156e-05,
|
| 2817 |
+
"max_abs_logit_error": 0.02561807632446289
|
| 2818 |
+
},
|
| 2819 |
+
{
|
| 2820 |
+
"row": 136,
|
| 2821 |
+
"label": 7,
|
| 2822 |
+
"upstream": 7,
|
| 2823 |
+
"coreml": 7,
|
| 2824 |
+
"max_abs_probability_error": 6.198883056640625e-06,
|
| 2825 |
+
"max_abs_logit_error": 0.03448677062988281
|
| 2826 |
+
},
|
| 2827 |
+
{
|
| 2828 |
+
"row": 137,
|
| 2829 |
+
"label": 8,
|
| 2830 |
+
"upstream": 8,
|
| 2831 |
+
"coreml": 8,
|
| 2832 |
+
"max_abs_probability_error": 0.00233614444732666,
|
| 2833 |
+
"max_abs_logit_error": 0.04230833053588867
|
| 2834 |
+
},
|
| 2835 |
+
{
|
| 2836 |
+
"row": 138,
|
| 2837 |
+
"label": 9,
|
| 2838 |
+
"upstream": 9,
|
| 2839 |
+
"coreml": 9,
|
| 2840 |
+
"max_abs_probability_error": 0.00022917985916137695,
|
| 2841 |
+
"max_abs_logit_error": 0.05339241027832031
|
| 2842 |
+
},
|
| 2843 |
+
{
|
| 2844 |
+
"row": 139,
|
| 2845 |
+
"label": 10,
|
| 2846 |
+
"upstream": 10,
|
| 2847 |
+
"coreml": 10,
|
| 2848 |
+
"max_abs_probability_error": 4.851818084716797e-05,
|
| 2849 |
+
"max_abs_logit_error": 0.032756805419921875
|
| 2850 |
+
},
|
| 2851 |
+
{
|
| 2852 |
+
"row": 140,
|
| 2853 |
+
"label": 11,
|
| 2854 |
+
"upstream": 11,
|
| 2855 |
+
"coreml": 11,
|
| 2856 |
+
"max_abs_probability_error": 3.0994415283203125e-06,
|
| 2857 |
+
"max_abs_logit_error": 0.029809951782226562
|
| 2858 |
+
},
|
| 2859 |
+
{
|
| 2860 |
+
"row": 141,
|
| 2861 |
+
"label": 12,
|
| 2862 |
+
"upstream": 12,
|
| 2863 |
+
"coreml": 12,
|
| 2864 |
+
"max_abs_probability_error": 9.34600830078125e-05,
|
| 2865 |
+
"max_abs_logit_error": 0.026587963104248047
|
| 2866 |
+
},
|
| 2867 |
+
{
|
| 2868 |
+
"row": 142,
|
| 2869 |
+
"label": 18,
|
| 2870 |
+
"upstream": 18,
|
| 2871 |
+
"coreml": 18,
|
| 2872 |
+
"max_abs_probability_error": 1.9073486328125e-06,
|
| 2873 |
+
"max_abs_logit_error": 0.03671073913574219
|
| 2874 |
+
},
|
| 2875 |
+
{
|
| 2876 |
+
"row": 143,
|
| 2877 |
+
"label": 16,
|
| 2878 |
+
"upstream": 16,
|
| 2879 |
+
"coreml": 16,
|
| 2880 |
+
"max_abs_probability_error": 7.152557373046875e-07,
|
| 2881 |
+
"max_abs_logit_error": 0.05281543731689453
|
| 2882 |
+
},
|
| 2883 |
+
{
|
| 2884 |
+
"row": 144,
|
| 2885 |
+
"label": 18,
|
| 2886 |
+
"upstream": 18,
|
| 2887 |
+
"coreml": 18,
|
| 2888 |
+
"max_abs_probability_error": 1.1920928955078125e-06,
|
| 2889 |
+
"max_abs_logit_error": 0.04511451721191406
|
| 2890 |
+
},
|
| 2891 |
+
{
|
| 2892 |
+
"row": 145,
|
| 2893 |
+
"label": 18,
|
| 2894 |
+
"upstream": 18,
|
| 2895 |
+
"coreml": 18,
|
| 2896 |
+
"max_abs_probability_error": 3.6954879760742188e-06,
|
| 2897 |
+
"max_abs_logit_error": 0.07230281829833984
|
| 2898 |
+
},
|
| 2899 |
+
{
|
| 2900 |
+
"row": 146,
|
| 2901 |
+
"label": 17,
|
| 2902 |
+
"upstream": 17,
|
| 2903 |
+
"coreml": 17,
|
| 2904 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 2905 |
+
"max_abs_logit_error": 0.03114461898803711
|
| 2906 |
+
},
|
| 2907 |
+
{
|
| 2908 |
+
"row": 147,
|
| 2909 |
+
"label": 18,
|
| 2910 |
+
"upstream": 18,
|
| 2911 |
+
"coreml": 18,
|
| 2912 |
+
"max_abs_probability_error": 8.429776876539563e-09,
|
| 2913 |
+
"max_abs_logit_error": 0.020772457122802734
|
| 2914 |
+
},
|
| 2915 |
+
{
|
| 2916 |
+
"row": 148,
|
| 2917 |
+
"label": 18,
|
| 2918 |
+
"upstream": 18,
|
| 2919 |
+
"coreml": 18,
|
| 2920 |
+
"max_abs_probability_error": 9.215698426601193e-09,
|
| 2921 |
+
"max_abs_logit_error": 0.03475606441497803
|
| 2922 |
+
},
|
| 2923 |
+
{
|
| 2924 |
+
"row": 149,
|
| 2925 |
+
"label": 18,
|
| 2926 |
+
"upstream": 18,
|
| 2927 |
+
"coreml": 18,
|
| 2928 |
+
"max_abs_probability_error": 3.84208304060607e-10,
|
| 2929 |
+
"max_abs_logit_error": 0.020298004150390625
|
| 2930 |
+
},
|
| 2931 |
+
{
|
| 2932 |
+
"row": 150,
|
| 2933 |
+
"label": 18,
|
| 2934 |
+
"upstream": 18,
|
| 2935 |
+
"coreml": 18,
|
| 2936 |
+
"max_abs_probability_error": 7.947568818333917e-12,
|
| 2937 |
+
"max_abs_logit_error": 0.04283332824707031
|
| 2938 |
+
},
|
| 2939 |
+
{
|
| 2940 |
+
"row": 151,
|
| 2941 |
+
"label": 18,
|
| 2942 |
+
"upstream": 18,
|
| 2943 |
+
"coreml": 18,
|
| 2944 |
+
"max_abs_probability_error": 5.291168614363073e-10,
|
| 2945 |
+
"max_abs_logit_error": 0.028450965881347656
|
| 2946 |
+
},
|
| 2947 |
+
{
|
| 2948 |
+
"row": 152,
|
| 2949 |
+
"label": 18,
|
| 2950 |
+
"upstream": 18,
|
| 2951 |
+
"coreml": 18,
|
| 2952 |
+
"max_abs_probability_error": 7.924417788629512e-10,
|
| 2953 |
+
"max_abs_logit_error": 0.02250051498413086
|
| 2954 |
+
},
|
| 2955 |
+
{
|
| 2956 |
+
"row": 153,
|
| 2957 |
+
"label": 18,
|
| 2958 |
+
"upstream": 18,
|
| 2959 |
+
"coreml": 18,
|
| 2960 |
+
"max_abs_probability_error": 1.837478791344438e-08,
|
| 2961 |
+
"max_abs_logit_error": 0.06335592269897461
|
| 2962 |
+
},
|
| 2963 |
+
{
|
| 2964 |
+
"row": 154,
|
| 2965 |
+
"label": 18,
|
| 2966 |
+
"upstream": 18,
|
| 2967 |
+
"coreml": 18,
|
| 2968 |
+
"max_abs_probability_error": 3.3051329034750054e-11,
|
| 2969 |
+
"max_abs_logit_error": 0.02735137939453125
|
| 2970 |
+
},
|
| 2971 |
+
{
|
| 2972 |
+
"row": 155,
|
| 2973 |
+
"label": 18,
|
| 2974 |
+
"upstream": 18,
|
| 2975 |
+
"coreml": 18,
|
| 2976 |
+
"max_abs_probability_error": 1.650468511860126e-10,
|
| 2977 |
+
"max_abs_logit_error": 0.015047073364257812
|
| 2978 |
+
},
|
| 2979 |
+
{
|
| 2980 |
+
"row": 156,
|
| 2981 |
+
"label": 18,
|
| 2982 |
+
"upstream": 18,
|
| 2983 |
+
"coreml": 18,
|
| 2984 |
+
"max_abs_probability_error": 6.181078218703284e-12,
|
| 2985 |
+
"max_abs_logit_error": 0.04868888854980469
|
| 2986 |
+
},
|
| 2987 |
+
{
|
| 2988 |
+
"row": 157,
|
| 2989 |
+
"label": 18,
|
| 2990 |
+
"upstream": 18,
|
| 2991 |
+
"coreml": 18,
|
| 2992 |
+
"max_abs_probability_error": 1.6455586893115992e-10,
|
| 2993 |
+
"max_abs_logit_error": 0.026497364044189453
|
| 2994 |
+
},
|
| 2995 |
+
{
|
| 2996 |
+
"row": 158,
|
| 2997 |
+
"label": 18,
|
| 2998 |
+
"upstream": 18,
|
| 2999 |
+
"coreml": 18,
|
| 3000 |
+
"max_abs_probability_error": 6.109900363426846e-10,
|
| 3001 |
+
"max_abs_logit_error": 0.022236347198486328
|
| 3002 |
+
},
|
| 3003 |
+
{
|
| 3004 |
+
"row": 159,
|
| 3005 |
+
"label": 18,
|
| 3006 |
+
"upstream": 18,
|
| 3007 |
+
"coreml": 18,
|
| 3008 |
+
"max_abs_probability_error": 6.693580800742893e-09,
|
| 3009 |
+
"max_abs_logit_error": 0.020044326782226562
|
| 3010 |
+
},
|
| 3011 |
+
{
|
| 3012 |
+
"row": 160,
|
| 3013 |
+
"label": 18,
|
| 3014 |
+
"upstream": 18,
|
| 3015 |
+
"coreml": 18,
|
| 3016 |
+
"max_abs_probability_error": 1.3718365998727222e-08,
|
| 3017 |
+
"max_abs_logit_error": 0.05533123016357422
|
| 3018 |
+
},
|
| 3019 |
+
{
|
| 3020 |
+
"row": 161,
|
| 3021 |
+
"label": 18,
|
| 3022 |
+
"upstream": 18,
|
| 3023 |
+
"coreml": 18,
|
| 3024 |
+
"max_abs_probability_error": 8.344650268554688e-07,
|
| 3025 |
+
"max_abs_logit_error": 0.0247042179107666
|
| 3026 |
+
},
|
| 3027 |
+
{
|
| 3028 |
+
"row": 162,
|
| 3029 |
+
"label": 18,
|
| 3030 |
+
"upstream": 18,
|
| 3031 |
+
"coreml": 18,
|
| 3032 |
+
"max_abs_probability_error": 1.042114572413766e-08,
|
| 3033 |
+
"max_abs_logit_error": 0.028873443603515625
|
| 3034 |
+
},
|
| 3035 |
+
{
|
| 3036 |
+
"row": 163,
|
| 3037 |
+
"label": 18,
|
| 3038 |
+
"upstream": 18,
|
| 3039 |
+
"coreml": 18,
|
| 3040 |
+
"max_abs_probability_error": 1.9131388140358752e-10,
|
| 3041 |
+
"max_abs_logit_error": 0.015494346618652344
|
| 3042 |
+
},
|
| 3043 |
+
{
|
| 3044 |
+
"row": 164,
|
| 3045 |
+
"label": 18,
|
| 3046 |
+
"upstream": 18,
|
| 3047 |
+
"coreml": 18,
|
| 3048 |
+
"max_abs_probability_error": 1.0254025184508464e-08,
|
| 3049 |
+
"max_abs_logit_error": 0.02497100830078125
|
| 3050 |
+
},
|
| 3051 |
+
{
|
| 3052 |
+
"row": 165,
|
| 3053 |
+
"label": 18,
|
| 3054 |
+
"upstream": 18,
|
| 3055 |
+
"coreml": 18,
|
| 3056 |
+
"max_abs_probability_error": 5.15840287151903e-11,
|
| 3057 |
+
"max_abs_logit_error": 0.02679443359375
|
| 3058 |
+
},
|
| 3059 |
+
{
|
| 3060 |
+
"row": 166,
|
| 3061 |
+
"label": 18,
|
| 3062 |
+
"upstream": 18,
|
| 3063 |
+
"coreml": 18,
|
| 3064 |
+
"max_abs_probability_error": 2.6797479790729994e-09,
|
| 3065 |
+
"max_abs_logit_error": 0.028203964233398438
|
| 3066 |
+
},
|
| 3067 |
+
{
|
| 3068 |
+
"row": 167,
|
| 3069 |
+
"label": 18,
|
| 3070 |
+
"upstream": 18,
|
| 3071 |
+
"coreml": 18,
|
| 3072 |
+
"max_abs_probability_error": 7.54509399403247e-10,
|
| 3073 |
+
"max_abs_logit_error": 0.03371429443359375
|
| 3074 |
+
},
|
| 3075 |
+
{
|
| 3076 |
+
"row": 168,
|
| 3077 |
+
"label": 18,
|
| 3078 |
+
"upstream": 18,
|
| 3079 |
+
"coreml": 18,
|
| 3080 |
+
"max_abs_probability_error": 8.344650268554688e-07,
|
| 3081 |
+
"max_abs_logit_error": 0.028280355036258698
|
| 3082 |
+
},
|
| 3083 |
+
{
|
| 3084 |
+
"row": 169,
|
| 3085 |
+
"label": 18,
|
| 3086 |
+
"upstream": 18,
|
| 3087 |
+
"coreml": 18,
|
| 3088 |
+
"max_abs_probability_error": 2.4169340140378637e-11,
|
| 3089 |
+
"max_abs_logit_error": 0.038245439529418945
|
| 3090 |
+
},
|
| 3091 |
+
{
|
| 3092 |
+
"row": 170,
|
| 3093 |
+
"label": 18,
|
| 3094 |
+
"upstream": 18,
|
| 3095 |
+
"coreml": 18,
|
| 3096 |
+
"max_abs_probability_error": 3.0329603412093675e-11,
|
| 3097 |
+
"max_abs_logit_error": 0.030043363571166992
|
| 3098 |
+
},
|
| 3099 |
+
{
|
| 3100 |
+
"row": 171,
|
| 3101 |
+
"label": 18,
|
| 3102 |
+
"upstream": 18,
|
| 3103 |
+
"coreml": 18,
|
| 3104 |
+
"max_abs_probability_error": 1.7881393432617188e-06,
|
| 3105 |
+
"max_abs_logit_error": 0.02963542938232422
|
| 3106 |
+
},
|
| 3107 |
+
{
|
| 3108 |
+
"row": 172,
|
| 3109 |
+
"label": 18,
|
| 3110 |
+
"upstream": 18,
|
| 3111 |
+
"coreml": 18,
|
| 3112 |
+
"max_abs_probability_error": 4.66337235494052e-09,
|
| 3113 |
+
"max_abs_logit_error": 0.03510093688964844
|
| 3114 |
+
},
|
| 3115 |
+
{
|
| 3116 |
+
"row": 173,
|
| 3117 |
+
"label": 18,
|
| 3118 |
+
"upstream": 18,
|
| 3119 |
+
"coreml": 18,
|
| 3120 |
+
"max_abs_probability_error": 1.2885730260592254e-09,
|
| 3121 |
+
"max_abs_logit_error": 0.04009199142456055
|
| 3122 |
+
},
|
| 3123 |
+
{
|
| 3124 |
+
"row": 174,
|
| 3125 |
+
"label": 18,
|
| 3126 |
+
"upstream": 18,
|
| 3127 |
+
"coreml": 18,
|
| 3128 |
+
"max_abs_probability_error": 1.1279766010119374e-09,
|
| 3129 |
+
"max_abs_logit_error": 0.031810760498046875
|
| 3130 |
+
},
|
| 3131 |
+
{
|
| 3132 |
+
"row": 175,
|
| 3133 |
+
"label": 18,
|
| 3134 |
+
"upstream": 18,
|
| 3135 |
+
"coreml": 18,
|
| 3136 |
+
"max_abs_probability_error": 1.9073486328125e-06,
|
| 3137 |
+
"max_abs_logit_error": 0.03671073913574219
|
| 3138 |
+
},
|
| 3139 |
+
{
|
| 3140 |
+
"row": 176,
|
| 3141 |
+
"label": 18,
|
| 3142 |
+
"upstream": 18,
|
| 3143 |
+
"coreml": 18,
|
| 3144 |
+
"max_abs_probability_error": 1.0728836059570312e-06,
|
| 3145 |
+
"max_abs_logit_error": 0.05123615264892578
|
| 3146 |
+
},
|
| 3147 |
+
{
|
| 3148 |
+
"row": 177,
|
| 3149 |
+
"label": 18,
|
| 3150 |
+
"upstream": 18,
|
| 3151 |
+
"coreml": 18,
|
| 3152 |
+
"max_abs_probability_error": 1.2799782567185503e-08,
|
| 3153 |
+
"max_abs_logit_error": 0.03157186508178711
|
| 3154 |
+
},
|
| 3155 |
+
{
|
| 3156 |
+
"row": 178,
|
| 3157 |
+
"label": 18,
|
| 3158 |
+
"upstream": 18,
|
| 3159 |
+
"coreml": 18,
|
| 3160 |
+
"max_abs_probability_error": 3.6954879760742188e-06,
|
| 3161 |
+
"max_abs_logit_error": 0.07230281829833984
|
| 3162 |
+
},
|
| 3163 |
+
{
|
| 3164 |
+
"row": 179,
|
| 3165 |
+
"label": 17,
|
| 3166 |
+
"upstream": 17,
|
| 3167 |
+
"coreml": 17,
|
| 3168 |
+
"max_abs_probability_error": 1.1920928955078125e-07,
|
| 3169 |
+
"max_abs_logit_error": 0.03114461898803711
|
| 3170 |
+
},
|
| 3171 |
+
{
|
| 3172 |
+
"row": 180,
|
| 3173 |
+
"label": 18,
|
| 3174 |
+
"upstream": 18,
|
| 3175 |
+
"coreml": 18,
|
| 3176 |
+
"max_abs_probability_error": 8.429776876539563e-09,
|
| 3177 |
+
"max_abs_logit_error": 0.020772457122802734
|
| 3178 |
+
},
|
| 3179 |
+
{
|
| 3180 |
+
"row": 181,
|
| 3181 |
+
"label": 18,
|
| 3182 |
+
"upstream": 18,
|
| 3183 |
+
"coreml": 18,
|
| 3184 |
+
"max_abs_probability_error": 9.215698426601193e-09,
|
| 3185 |
+
"max_abs_logit_error": 0.03475606441497803
|
| 3186 |
+
},
|
| 3187 |
+
{
|
| 3188 |
+
"row": 182,
|
| 3189 |
+
"label": 18,
|
| 3190 |
+
"upstream": 18,
|
| 3191 |
+
"coreml": 18,
|
| 3192 |
+
"max_abs_probability_error": 3.84208304060607e-10,
|
| 3193 |
+
"max_abs_logit_error": 0.020298004150390625
|
| 3194 |
+
},
|
| 3195 |
+
{
|
| 3196 |
+
"row": 183,
|
| 3197 |
+
"label": 18,
|
| 3198 |
+
"upstream": 18,
|
| 3199 |
+
"coreml": 18,
|
| 3200 |
+
"max_abs_probability_error": 7.947568818333917e-12,
|
| 3201 |
+
"max_abs_logit_error": 0.04283332824707031
|
| 3202 |
+
},
|
| 3203 |
+
{
|
| 3204 |
+
"row": 184,
|
| 3205 |
+
"label": 18,
|
| 3206 |
+
"upstream": 18,
|
| 3207 |
+
"coreml": 18,
|
| 3208 |
+
"max_abs_probability_error": 5.291168614363073e-10,
|
| 3209 |
+
"max_abs_logit_error": 0.028450965881347656
|
| 3210 |
+
},
|
| 3211 |
+
{
|
| 3212 |
+
"row": 185,
|
| 3213 |
+
"label": 18,
|
| 3214 |
+
"upstream": 18,
|
| 3215 |
+
"coreml": 18,
|
| 3216 |
+
"max_abs_probability_error": 7.924417788629512e-10,
|
| 3217 |
+
"max_abs_logit_error": 0.02250051498413086
|
| 3218 |
+
},
|
| 3219 |
+
{
|
| 3220 |
+
"row": 186,
|
| 3221 |
+
"label": 18,
|
| 3222 |
+
"upstream": 18,
|
| 3223 |
+
"coreml": 18,
|
| 3224 |
+
"max_abs_probability_error": 1.837478791344438e-08,
|
| 3225 |
+
"max_abs_logit_error": 0.06335592269897461
|
| 3226 |
+
},
|
| 3227 |
+
{
|
| 3228 |
+
"row": 187,
|
| 3229 |
+
"label": 18,
|
| 3230 |
+
"upstream": 18,
|
| 3231 |
+
"coreml": 18,
|
| 3232 |
+
"max_abs_probability_error": 3.3051329034750054e-11,
|
| 3233 |
+
"max_abs_logit_error": 0.02735137939453125
|
| 3234 |
+
},
|
| 3235 |
+
{
|
| 3236 |
+
"row": 188,
|
| 3237 |
+
"label": 18,
|
| 3238 |
+
"upstream": 18,
|
| 3239 |
+
"coreml": 18,
|
| 3240 |
+
"max_abs_probability_error": 1.650468511860126e-10,
|
| 3241 |
+
"max_abs_logit_error": 0.015047073364257812
|
| 3242 |
+
},
|
| 3243 |
+
{
|
| 3244 |
+
"row": 189,
|
| 3245 |
+
"label": 18,
|
| 3246 |
+
"upstream": 18,
|
| 3247 |
+
"coreml": 18,
|
| 3248 |
+
"max_abs_probability_error": 6.181078218703284e-12,
|
| 3249 |
+
"max_abs_logit_error": 0.04868888854980469
|
| 3250 |
+
},
|
| 3251 |
+
{
|
| 3252 |
+
"row": 190,
|
| 3253 |
+
"label": 18,
|
| 3254 |
+
"upstream": 18,
|
| 3255 |
+
"coreml": 18,
|
| 3256 |
+
"max_abs_probability_error": 1.6455586893115992e-10,
|
| 3257 |
+
"max_abs_logit_error": 0.026497364044189453
|
| 3258 |
+
},
|
| 3259 |
+
{
|
| 3260 |
+
"row": 191,
|
| 3261 |
+
"label": 18,
|
| 3262 |
+
"upstream": 18,
|
| 3263 |
+
"coreml": 18,
|
| 3264 |
+
"max_abs_probability_error": 6.109900363426846e-10,
|
| 3265 |
+
"max_abs_logit_error": 0.022236347198486328
|
| 3266 |
+
},
|
| 3267 |
+
{
|
| 3268 |
+
"row": 192,
|
| 3269 |
+
"label": 18,
|
| 3270 |
+
"upstream": 18,
|
| 3271 |
+
"coreml": 18,
|
| 3272 |
+
"max_abs_probability_error": 6.693580800742893e-09,
|
| 3273 |
+
"max_abs_logit_error": 0.020044326782226562
|
| 3274 |
+
},
|
| 3275 |
+
{
|
| 3276 |
+
"row": 193,
|
| 3277 |
+
"label": 18,
|
| 3278 |
+
"upstream": 18,
|
| 3279 |
+
"coreml": 18,
|
| 3280 |
+
"max_abs_probability_error": 1.3718365998727222e-08,
|
| 3281 |
+
"max_abs_logit_error": 0.05533123016357422
|
| 3282 |
+
},
|
| 3283 |
+
{
|
| 3284 |
+
"row": 194,
|
| 3285 |
+
"label": 18,
|
| 3286 |
+
"upstream": 18,
|
| 3287 |
+
"coreml": 18,
|
| 3288 |
+
"max_abs_probability_error": 8.344650268554688e-07,
|
| 3289 |
+
"max_abs_logit_error": 0.0247042179107666
|
| 3290 |
+
},
|
| 3291 |
+
{
|
| 3292 |
+
"row": 195,
|
| 3293 |
+
"label": 18,
|
| 3294 |
+
"upstream": 18,
|
| 3295 |
+
"coreml": 18,
|
| 3296 |
+
"max_abs_probability_error": 1.042114572413766e-08,
|
| 3297 |
+
"max_abs_logit_error": 0.028873443603515625
|
| 3298 |
+
}
|
| 3299 |
+
]
|
| 3300 |
+
}
|
| 3301 |
+
},
|
| 3302 |
+
"passed": true,
|
| 3303 |
+
"code_sha256": {
|
| 3304 |
+
"ane_gather.py": "c3379a3797041dcfed82eaaea3990771ec91f1dff7ec146b025988ad7a8c9aae",
|
| 3305 |
+
"assets.py": "f7a5bc931075237e00c73bf21fee3575be35531f934f23b5e22627d50a79f92f",
|
| 3306 |
+
"convert-coreml.py": "46fe0194df924033126286e601214b6789f5d667aae38c153cf4dbc1b0e629b0",
|
| 3307 |
+
"export-reference.py": "ff9eab4d6e4e72ffaf074d82610f41fbea1e802da7c0e987ce562a89eb561b99",
|
| 3308 |
+
"export_model.py": "c61da5d678c77030d1e9a78359626063ea31da46fb6434e49517fdeaa7800949",
|
| 3309 |
+
"preprocessing.py": "18c74ede43f95f91cd638c7e9631923a353e3a24d3b522ddb8b18b480f9c2846",
|
| 3310 |
+
"profile-coreml.py": "d5e1386f54fc6c482647120e593e7ffbbe4bbb277c2cc6d4949154660fe239fd",
|
| 3311 |
+
"score-report.py": "c78e45caa86fb59f9a56ef18cc6a35020ea6e281a6a23d23618f56da85a0d95e",
|
| 3312 |
+
"verify.py": "bc20ec9df47708e9b48e411076abe4eab7c18313f67e11334de2d9e3ecb3efa7"
|
| 3313 |
+
}
|
| 3314 |
+
}
|
reports/swift-ane-validation.json
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"byte_encoding_limits_and_rejection": "passed",
|
| 3 |
+
"concurrent_reversed_rows": 6,
|
| 4 |
+
"correct": 196,
|
| 5 |
+
"dataset_sha256": "4f43b442e79ba2e2ce731e27e9b8e340c2b5dfcaffc92d8ff564c34f115ff1ca",
|
| 6 |
+
"maximum_probability_error": 0.00233614444732666,
|
| 7 |
+
"model_path": "ane-gather/cua_s1_forms_fp16_options32.mlpackage",
|
| 8 |
+
"os": "Version 27.0 (Build 26A428)",
|
| 9 |
+
"purpose": "Standalone Swift validation against the real upstream demo; XCTest unavailable locally",
|
| 10 |
+
"rows": 196,
|
| 11 |
+
"shared_compiled_cache": "passed"
|
| 12 |
+
}
|