mlboydaisuke commited on
Commit
ab90227
Β·
verified Β·
1 Parent(s): 73a15cc

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +13 -4
README.md CHANGED
@@ -10,7 +10,7 @@ tags:
10
  base_model:
11
  - Ruicheng/moge-2-vits-normal
12
  ---
13
- # moge2_vits β€” ExecuTorch XNNPACK
14
 
15
  - **Source**: Ruicheng/moge-2-vits-normal
16
  - **License**: MIT
@@ -21,11 +21,19 @@ base_model:
21
 
22
  All variants take and return fp32 tensors β€” swap the `.pte` file, keep your app code.
23
 
24
- | precision | file | size (MB) | parity vs fp32 eager (worst corr) | Mac median (ms)* |
25
  |-----------|------|-----------|------------------------------------|------------------|
26
  | fp32 | `moge2_vits_xnnpack_fp32.pte` | 140.8 | 0.999998 | 750.9 |
27
  | fp16 | `moge2_vits_xnnpack_fp16.pte` | 96.6 | 0.434851 β€” see below | 1714.8 |
28
  | int8 (dynamic) | `moge2_vits_xnnpack_int8.pte` | 76.4 | 0.998758 | 746.5 |
 
 
 
 
 
 
 
 
29
 
30
  \*Mac arm64, single process, median of 10 β€” a reference point for relative cost
31
  only, not a device number (torch eager fp32 on the same machine: 345.4 ms).
@@ -35,7 +43,8 @@ only, not a device number (torch eager fp32 on the same machine: 345.4 ms).
35
  Correlation is a first filter. These are the numbers that decide:
36
 
37
  - **fp16** β€” correlation reads 0.43 on this build, and that number is an artifact: one of the four outputs is a near-binary validity mask whose raw logits correlate badly while the thresholded mask is identical. Measured properly against fp32 β€” mask IoU 1.0000, point map cosine 1.000000, normals cosine 1.000000, metric scale within 0.6% β€” the geometry is unchanged.
38
- - **int8 (dynamic)** β€” point map and normals hold at cosine 0.999 against the fp32 build.
 
39
 
40
  ## Verification (executorch 1.4.0, torch 2.13.0)
41
 
@@ -53,5 +62,5 @@ XNNPACK delegate coverage (fp32): 53.7% (623/1160 ops); ops left on the portable
53
 
54
  ## Conversion
55
 
56
- torch.export -> to_edge_transform_and_lower(XnnpackPartitioner) -> .pte
57
  (conversion scripts: [executorch-models](https://github.com/john-rocky/executorch-models))
 
10
  base_model:
11
  - Ruicheng/moge-2-vits-normal
12
  ---
13
+ # moge2_vits β€” ExecuTorch
14
 
15
  - **Source**: Ruicheng/moge-2-vits-normal
16
  - **License**: MIT
 
21
 
22
  All variants take and return fp32 tensors β€” swap the `.pte` file, keep your app code.
23
 
24
+ | build | file | size (MB) | parity vs fp32 eager (worst corr) | Mac median (ms)* |
25
  |-----------|------|-----------|------------------------------------|------------------|
26
  | fp32 | `moge2_vits_xnnpack_fp32.pte` | 140.8 | 0.999998 | 750.9 |
27
  | fp16 | `moge2_vits_xnnpack_fp16.pte` | 96.6 | 0.434851 β€” see below | 1714.8 |
28
  | int8 (dynamic) | `moge2_vits_xnnpack_int8.pte` | 76.4 | 0.998758 | 746.5 |
29
+ | Core ML (fp16, iOS) | `moge2_vits_coreml_all.pte` | 73.2 | 0.541272 β€” see below | 87.7 |
30
+
31
+
32
+ The Core ML build is the same graph lowered to Apple's Neural Engine instead of
33
+ XNNPACK, which is CPU-only. On an iPhone 17 Pro, Depth-Anything-V2-Small runs
34
+ 500.8 ms through XNNPACK and 42.7 ms through Core ML, at half the file size. It
35
+ computes in fp16 and is iOS-only; the XNNPACK files stay the portable option and
36
+ are what runs on Android.
37
 
38
  \*Mac arm64, single process, median of 10 β€” a reference point for relative cost
39
  only, not a device number (torch eager fp32 on the same machine: 345.4 ms).
 
43
  Correlation is a first filter. These are the numbers that decide:
44
 
45
  - **fp16** β€” correlation reads 0.43 on this build, and that number is an artifact: one of the four outputs is a near-binary validity mask whose raw logits correlate badly while the thresholded mask is identical. Measured properly against fp32 β€” mask IoU 1.0000, point map cosine 1.000000, normals cosine 1.000000, metric scale within 0.6% β€” the geometry is unchanged.
46
+ - **int8 (dynamic)** β€” measured in the units that matter for this model β€” cosine similarity of the point map and normals: median 1.0000 over 10 real images, worst 1.0000.
47
+ - **Core ML (fp16, iOS)** β€” measured in the units that matter for this model β€” cosine similarity of the point map and normals: median 1.0000 over 10 real images, worst 1.0000.
48
 
49
  ## Verification (executorch 1.4.0, torch 2.13.0)
50
 
 
62
 
63
  ## Conversion
64
 
65
+ torch.export -> to_edge_transform_and_lower(partitioner) -> .pte
66
  (conversion scripts: [executorch-models](https://github.com/john-rocky/executorch-models))