Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -7,7 +7,7 @@ tags:
|
|
| 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,17 +18,31 @@ tags:
|
|
| 18 |
|
| 19 |
All variants take and return fp32 tensors β swap the `.pte` file, keep your app code.
|
| 20 |
|
| 21 |
-
|
|
| 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 |
-
###
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
-
- **int8 is not shipped**: measured in the units that matter for this model β fraction of images keeping the fp32 top-1 label:
|
| 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(
|
| 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))
|