mlboydaisuke commited on
Commit
6d663c2
Β·
verified Β·
1 Parent(s): a418fe0

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +19 -5
README.md CHANGED
@@ -7,7 +7,7 @@ tags:
7
  - on-device
8
  - image-classification
9
  ---
10
- # efficientnet_b1 β€” ExecuTorch XNNPACK
11
 
12
  - **Source**: torchvision efficientnet_b1 IMAGENET1K_V2
13
  - **License**: BSD-3-Clause
@@ -18,17 +18,31 @@ tags:
18
 
19
  All variants take and return fp32 tensors β€” swap the `.pte` file, keep your app code.
20
 
21
- | precision | file | size (MB) | parity vs fp32 eager (worst corr) | Mac median (ms)* |
22
  |-----------|------|-----------|------------------------------------|------------------|
23
  | fp32 | `efficientnet_b1_xnnpack_fp32.pte` | 31.2 | 1.000000 | 9.3 |
24
  | fp16 | `efficientnet_b1_xnnpack_fp16.pte` | 28.8 | 0.999816 | 54.9 |
 
 
 
 
 
 
 
 
25
 
26
  \*Mac arm64, single process, median of 10 β€” a reference point for relative cost
27
  only, not a device number (torch eager fp32 on the same machine: 352.7 ms).
28
 
29
- ### Precisions that did not earn a slot
 
 
 
 
 
 
30
 
31
- - **int8 is not shipped**: measured in the units that matter for this model β€” fraction of images keeping the fp32 top-1 label: median 0.0000 over 10 real images, worst 0.0000.
32
 
33
  ## Verification (executorch 1.4.0, torch 2.13.0)
34
 
@@ -43,5 +57,5 @@ XNNPACK delegate coverage (fp32): 100.0% (410/410 ops)
43
 
44
  ## Conversion
45
 
46
- torch.export -> to_edge_transform_and_lower(XnnpackPartitioner) -> .pte
47
  (conversion scripts: [executorch-models](https://github.com/john-rocky/executorch-models))
 
7
  - on-device
8
  - image-classification
9
  ---
10
+ # efficientnet_b1 β€” ExecuTorch
11
 
12
  - **Source**: torchvision efficientnet_b1 IMAGENET1K_V2
13
  - **License**: BSD-3-Clause
 
18
 
19
  All variants take and return fp32 tensors β€” swap the `.pte` file, keep your app code.
20
 
21
+ | build | file | size (MB) | parity vs fp32 eager (worst corr) | Mac median (ms)* |
22
  |-----------|------|-----------|------------------------------------|------------------|
23
  | fp32 | `efficientnet_b1_xnnpack_fp32.pte` | 31.2 | 1.000000 | 9.3 |
24
  | fp16 | `efficientnet_b1_xnnpack_fp16.pte` | 28.8 | 0.999816 | 54.9 |
25
+ | Core ML (fp16, iOS) | `efficientnet_b1_coreml_all.pte` | 16.3 | 0.992817 β€” see below | 0.6 |
26
+
27
+
28
+ The Core ML build is the same graph lowered to Apple's Neural Engine instead of
29
+ XNNPACK, which is CPU-only. On an iPhone 17 Pro, Depth-Anything-V2-Small runs
30
+ 500.8 ms through XNNPACK and 42.7 ms through Core ML, at half the file size. It
31
+ computes in fp16 and is iOS-only; the XNNPACK files stay the portable option and
32
+ are what runs on Android.
33
 
34
  \*Mac arm64, single process, median of 10 β€” a reference point for relative cost
35
  only, not a device number (torch eager fp32 on the same machine: 352.7 ms).
36
 
37
+ ### Checked in the task's own units
38
+
39
+ Correlation is a first filter. These are the numbers that decide:
40
+
41
+ - **Core ML (fp16, iOS)** β€” measured in the units that matter for this model β€” fraction of images keeping the fp32 top-1 label: 9 of 10 images keep the fp32 top-1 label.
42
+
43
+ ### Builds that did not earn a slot
44
 
45
+ - **int8 is not shipped**: measured in the units that matter for this model β€” fraction of images keeping the fp32 top-1 label: 0 of 10 images keep the fp32 top-1 label.
46
 
47
  ## Verification (executorch 1.4.0, torch 2.13.0)
48
 
 
57
 
58
  ## Conversion
59
 
60
+ torch.export -> to_edge_transform_and_lower(partitioner) -> .pte
61
  (conversion scripts: [executorch-models](https://github.com/john-rocky/executorch-models))