Sapiens2 ONNX

CPU-friendly ONNX exports of Meta's facebook/sapiens2-*. 15 task heads across 4 tasks and 4 sizes.

Folder layout

Each task has its own folder. Each model is split into a small .onnx graph file plus a .onnx.data external sidecar (both must live in the same directory at download time).

Task 0.4b 0.8b 1b 5b
seg seg/seg_0.4b_fp16.onnx (777 MB, fp16) seg/seg_0.8b_fp32.onnx (3.3 GB) seg/seg_1b_fp32.onnx (5.9 GB) seg/seg_5b_int8.onnx (5.2 GB)
normal normal/normal_0.4b_fp32.onnx (1.7 GB) normal/normal_0.8b_fp32.onnx (3.5 GB) normal/normal_1b_fp32.onnx (6.2 GB) normal/normal_5b_int8.onnx (6.1 GB)
pointmap pointmap/pointmap_0.4b_fp32.onnx (2.0 GB) pointmap/pointmap_0.8b_fp32.onnx (3.9 GB) pointmap/pointmap_1b_fp32.onnx (6.5 GB) pointmap/pointmap_5b_int8.onnx (6.2 GB)
pose pose/pose_0.4b_fp32.onnx (1.6 GB) pose/pose_0.8b_fp32.onnx (3.4 GB) pose/pose_1b_fp32.onnx (6.1 GB) not shipped

Cosine similarity vs the PyTorch reference is 0.999 or better on every shipped file.

Precision notes

  • seg-0.4b is fp16 (50 percent smaller than fp32 and verified cos 0.99999)
  • 0.4b/0.8b/1b for normal, pointmap, pose are fp32. Naive fp16 cast produces NaN (normal L2-normalize divides near zero) or cos around 0.7 (pointmap metric scale, pose sigmoid heatmaps saturate)
  • 5B variants are INT8 (per-channel symmetric, MatMulIntegerToFloat)
  • pose-5b is not shipped (the int8 quantize attempt did not complete on the available hardware)

Inference

import numpy as np
import onnxruntime as ort
from huggingface_hub import hf_hub_download

# Download both the .onnx graph and the .onnx.data sidecar side by side
for fn in ("seg/seg_0.4b_fp16.onnx", "seg/seg_0.4b_fp16.onnx.data"):
    hf_hub_download(repo_id="WeReCooking/sapiens2-onnx", filename=fn, local_dir=".")

sess = ort.InferenceSession("seg/seg_0.4b_fp16.onnx", providers=["CPUExecutionProvider"])
# Input expects (N, 3, 1024, 768) fp32 BGR mean-subtracted preprocessed tensor
out = sess.run(None, {"input": preprocessed})

For a standalone CLI without sapiens2 or PyTorch, see app.py onnx ... in the source Space WeReCooking/sapiens2-cpu.

License

Same as upstream facebook/sapiens2-*.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Space using WeReCooking/sapiens2-onnx 1