Bartosz Hanc
Fix config schema and explain Core ML precision
87137c8
|
Raw History Blame Contribute Delete
2.37 kB
---
license: mit
pipeline_tag: depth-estimation
library_name: executorch
---
# zipdepth
This repository hosts **ZipDepth Base NPU** (single-image depth estimation)
exported for the
[React Native ExecuTorch](https://www.npmjs.com/package/react-native-executorch)
library as ExecuTorch `.pte` programs, ready to run on device.
Upstream model: [fabiotosi92/ZipDepth](https://github.com/fabiotosi92/ZipDepth),
checkpoint [`zipdepth_base_npu.pth`](https://github.com/fabiotosi92/ZipDepth/blob/91f3fd21e131641f51e8d35736d1958350180e3a/checkpoints/zipdepth_base_npu.pth),
revision `91f3fd21e131641f51e8d35736d1958350180e3a`.
## Variants
| Path | Backend | Precision |
| --- | --- | --- |
| `base/coreml/zipdepth_base_384_coreml_fp32.pte` | coreml | fp32 |
| `base/vulkan/zipdepth_base_384_vulkan_fp16.pte` | vulkan | fp16 |
| `base/xnnpack/zipdepth_base_384_xnnpack_fp32.pte` | xnnpack | fp32 |
## Core ML precision
The Core ML export uses FP32 because FP16 reduced numerical agreement with the
float reference: across seven photos/illustrations, its worst range-normalized
RMSE was 6.31% and minimum correlation was 0.970. FP32 reduced the worst
range-normalized RMSE to below 0.00012%.
Unlike the FP16 Core ML exports, this FP32 ML program runs on CPU/GPU and cannot
use the Apple Neural Engine, even with compute units set to `ALL`; see
[Apple's typed-execution guide](https://apple.github.io/coremltools/docs-guides/source/typed-execution.html).
## Repository structure
```
config.json 30 B
base/coreml/config.json 847 B
base/coreml/zipdepth_base_384_coreml_fp32.pte 24.9 MB
base/vulkan/config.json 847 B
base/vulkan/zipdepth_base_384_vulkan_fp16.pte 12.8 MB
base/xnnpack/config.json 849 B
base/xnnpack/zipdepth_base_384_xnnpack_fp32.pte 24.6 MB
```
## Compatibility
These files are published for the **ExecuTorch v1.4.1** runtime. ExecuTorch
gives no forward compatibility guarantee, so an older runtime may fail to load
them.
For React Native ExecuTorch model loading, see the
[documentation](https://docs.swmansion.com/react-native-executorch/docs/fundamentals/downloading-models).
To load these files in your own runtime, read the
[compatibility note](https://github.com/pytorch/executorch/blob/main/runtime/COMPATIBILITY.md)
first.