Instructions to use Cr7z676/sam2.1-hiera-tiny-onnx with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sam2
How to use Cr7z676/sam2.1-hiera-tiny-onnx with sam2:
# Use SAM2 with images import torch from sam2.sam2_image_predictor import SAM2ImagePredictor predictor = SAM2ImagePredictor.from_pretrained(Cr7z676/sam2.1-hiera-tiny-onnx) with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16): predictor.set_image(<your_image>) masks, _, _ = predictor.predict(<input_prompts>)# Use SAM2 with videos import torch from sam2.sam2_video_predictor import SAM2VideoPredictor predictor = SAM2VideoPredictor.from_pretrained(Cr7z676/sam2.1-hiera-tiny-onnx) with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16): state = predictor.init_state(<your_video>) # add new prompts and instantly get the output on the same frame frame_idx, object_ids, masks = predictor.add_new_points(state, <your_prompts>): # propagate the prompts to get masklets throughout the video for frame_idx, object_ids, masks in predictor.propagate_in_video(state): ... - Notebooks
- Google Colab
- Kaggle
SAM 2.1 Hiera Tiny — ONNX / ORT, reproduzierbar exportiert
Encoder und Decoder von facebook/sam2.1-hiera-tiny
(Meta, Apache-2.0) für onnxruntime-web. Exportiert mit einem
veröffentlichten Skript und gegen die PyTorch-Referenz nachgemessen.
| Datei | Format | Größe |
|---|---|---|
sam2.1-tiny-encoder.ort |
ORT | 134,7 MB |
sam2.1-tiny-decoder.onnx |
ONNX | 16,6 MB |
Warum es diesen Export gibt
Meta veröffentlicht SAM 2.1 nur als .pt. Die im Netz auffindbaren
ONNX-Exporte sind Re-Uploads ohne dokumentiertes Verfahren. Eine Prüfsumme
sichert, dass sich eine Datei nach dem ersten Abruf nicht mehr ändert — über
ihren Ursprung sagt sie nichts. Und dieses Modell läuft im Browser von
Endnutzern.
Das war zunächst nur ein Vorbehalt. Die Messung hat daraus einen Befund
gemacht. Verglichen wurde die Encoder-Ausgabe image_embed gegen die
PyTorch-Referenz, gleicher Reiz, feste Saat:
| mittlere Abweichung | größte | |
|---|---|---|
| dieser Export | 0.000001 | 0.000014 |
| ein kursierender Fremd-Export | 0.005858 | 0.175503 |
Die Fremddatei trifft die Referenz nicht — und auch keine erklärbare Variante
davon (ohne no_mem_embed liegt sie mit 0.013 noch weiter daneben). Sie liefert
plausible Masken und besteht deshalb oberflächliche Tests, rechnet aber
nachweislich etwas anderes als SAM 2.1.
Der Vergleich ist reproduzierbar: compare_reference.py im Export-Werkzeug.
Zwei Formate, mit Absicht
- Encoder → ORT. Der plain-ONNX-Encoder scheitert in
onnxruntime-weban der Shape-Inferenz (Inferred=4 Declared=5), an mehreren unabhängigen Exporten verifiziert. Das ORT-Format trägt die aufgelösten Shapes in sich. - Decoder → plain ONNX. Lädt sauber und bleibt lesbar.
Zwei Fallen, die still falsch geworden wären
- SAM 2.1 staucht auf 1024² statt zu padden — Vorverarbeitung mit Padding ergibt versetzte Masken.
- Der Decoder braucht
high_res_feats_0/1,mask_inputundhas_mask_input;has_mask_inputmuss ein Tensor sein, kein Python-Zweig, sonst backt der Export einen der beiden Fälle fest.
Ein- und Ausgänge
Encoder — image [1,3,1024,1024], ImageNet-normiert →
image_embed [1,256,64,64], high_res_feats_0 [1,32,256,256],
high_res_feats_1 [1,64,128,128]
Decoder — die drei oben, dazu point_coords [1,N,2] (im
1024er-Pixelraum), point_labels [1,N], mask_input [1,1,256,256],
has_mask_input [1] → masks [1,3,256,256], iou_predictions [1,3]
N ist dynamisch: mehrere Klicks verfeinern dieselbe Maske in einem Lauf.
Gemessen
Apple Silicon, onnxruntime-web auf wasm mit 4 Threads: Encoder 2747 ms,
Klick-Decode kalt 74 ms, warm 49 ms. Auf einer Kontrollszene trifft die Maske
38007 px bei 38013 px Sollfläche.
Selbst nachbauen
Das Export-Skript, die Prüfvorschrift und die Schritt-für-Schritt-Anleitung liegen im Werkzeug, mit dem diese Dateien entstanden sind. Wer den Vergleich gegen die Referenz selbst laufen lässt, bekommt die Zahlen oben.
Lizenz: Apache-2.0, wie die Gewichte von Meta.
Model tree for Cr7z676/sam2.1-hiera-tiny-onnx
Base model
facebook/sam2.1-hiera-tiny