dinov2-base-onnx

facebook/dinov2-base(์ปค๋ฐ‹ f9e44c814b77203eaa57a6bdbbd535f21ede1415)์˜ pooler_output(์ตœ์ข… layernorm ๋’ค CLS ํ† ํฐ, 768)๋งŒ ๋‚ด๋Š” ONNX ๊ทธ๋ž˜ํ”„๋‹ค.

OpenArm SciEdu ๋Œ€ํ™”์ธต์˜ ๋กœ์ปฌ ๋‚˜๋ญ‡์žŽ ํŒ์ •๊ธฐ(leapshared/leaf_kind_dinov2_logreg)๊ฐ€ ์“ด๋‹ค. torchยทtransformers๊ฐ€ ์—†๋Š” ๋Œ€ํ™”์ธต ์ปจํ…Œ์ด๋„ˆ์—์„œ onnxruntime(CPU)์œผ๋กœ ํŠน์ง•์„ ๋‚ธ๋‹ค.

์ž…์ถœ๋ ฅ

  • ์ž…๋ ฅ pixel_values: [N, 3, 224, 224] float32. AutoImageProcessor(facebook/dinov2-base) ์ „์ฒ˜๋ฆฌ๋ฅผ ๋งˆ์นœ ๊ฐ’์ด๋‹ค.
    • ์งง์€ ๋ณ€ 256์œผ๋กœ bicubic ์ค„์ด๊ธฐ(antialias) โ†’ ๊ฐ€์šด๋ฐ 224 ์ž๋ฅด๊ธฐ โ†’ /255 โ†’ ImageNet mean/std, RGB
  • ์ถœ๋ ฅ pooler_output: [N, 768] float32. N์€ 1~64.
  • 224ร—224 ์ „์šฉ์ด๋‹ค. ์œ„์น˜ ์ž„๋ฒ ๋”ฉ(37ร—37 โ†’ 16ร—16 bicubic ๋ณด๊ฐ„)์„ torch๋กœ ํ•œ ๋ฒˆ ์…ˆํ•ด ์ƒ์ˆ˜๋กœ ๋„ฃ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๋ž˜ํ”„์— ๋ณด๊ฐ„์ด ์—†๊ณ , ๋‹ค๋ฅธ ํฌ๊ธฐ๋Š” ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.

๋งŒ๋“  ๋ฒ•

  • leaf_kind_onnx.py export(์ด ์ €์žฅ์†Œ์— ์‚ฌ๋ณธ์ด ์žˆ๋‹ค. ์›๋ณธ์€ LEAP-LAB-KUS/openarmsciedu-robot์˜ scripts/diagnostics/leaf_kind_onnx.py). CPU์—์„œ ๋‚ด๋ณด๋ƒˆ๋‹ค.
  • torch 2.11.0, transformers 5.5.4, onnx 1.23.1, onnxscript 0.7.2. torch.onnx.export(dynamo=True), opset 20.
  • ๊ฐ€์ค‘์น˜๋Š” ํŒŒ์ผ ์•ˆ์— ์žˆ๋‹ค(์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์—†์Œ). ๋…ธ๋“œ๋งˆ๋‹ค ๋ถ™๋Š” stack_trace ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์ง€์› ๋‹ค(๋‚ด๋ณด๋‚ธ PC์˜ ๊ฒฝ๋กœ). ๊ทธ๋ž˜์„œ ๊ฐ™์€ ๋„๊ตฌ๋กœ ๋‹ค์‹œ ๋‚ด๋ณด๋‚ด๋ฉด ๊ฐ™์€ ํŒŒ์ผ์ด ๋‚˜์˜จ๋‹ค(๋‘ ๋ฒˆ ๋‚ด๋ณด๋‚ด sha256์ด ๊ฐ™์Œ์„ ํ™•์ธ).
  • model.onnx: 343.0 MB, sha256 8f905c48a542eddc7e43e77d98918683dfc59ecb827ab5789ef8c09a4ac0cc2a
  • ๋ชจ๋ธ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ source_model, source_revision์— ์›๋ณธ์„ ์ ์—ˆ๋‹ค.

๊ฒ€์ฆ (2026-10-04, ๋กœ๋ด‡ PC CPU, onnxruntime 1.30.0)

๋…นํ™” leapshared/Leaf_rules_20261002_225313_subtask์˜ ๊ฐ€์Šด ์นด๋ฉ”๋ผ ํ”„๋ ˆ์ž„ 698์žฅ์„ ์„œ๋น™ ์นด๋ฉ”๋ผ์ฒ˜๋Ÿผ JPEG(ํ’ˆ์งˆ 80)์œผ๋กœ ๋ฌถ์—ˆ๋‹ค. ๊ทธ ์‚ฌ์ง„์—์„œ torch ๊ธธ(transformers ์ฒ˜๋ฆฌ๊ธฐ + Dinov2Model)๊ณผ onnx ๊ธธ(numpy ์ „์ฒ˜๋ฆฌ + ์ด ํŒŒ์ผ)์„ ๊ฒฌ์คฌ๋‹ค.

  • ์ „์ฒ˜๋ฆฌ: numpy๋กœ ์˜ฎ๊ธด ๊ฒƒ(dialogue/leaf_onnx.py)์ด transformers ์ฒ˜๋ฆฌ๊ธฐ์™€ ์›์†Œ 105,068,544๊ฐœ ์ค‘ ๋‹ค๋ฅธ ๊ฒƒ 0
  • ํŠน์ง•: ์ฝ”์‚ฌ์ธ ์ตœ์†Œ 0.999999999994(1 โˆ’ ์ฝ”์‚ฌ์ธ โ‰ค 6.4e-12), ์›์†Œ ์ตœ๋Œ€ ์ฐจ์ด 2.4e-5(์›์†Œ ํฌ๊ธฐ ์ค‘์•™ 1.07)
  • ํŒ์ •(leaf_kind_dinov2_logreg): ํ•œ ์žฅ ํŒ์ • 698/698 ๊ฐ™์Œ, ๋Œ€ํ™”์ธต ํŒ์ •(์„ธ ์žฅ ํ•œ ๋ฒˆ ํฌํ•จ) 654/654 ๊ฐ™์Œ
    • ๊ฒ€์ฆ ์—ํ”ผ์†Œ๋“œ 6ยท7ยท46ยท47์˜ ์นด๋“œ 22์žฅ(์„ธ ์žฅ ํ•œ ๋ฒˆ): ๋‘ ๊ธธ ๋ชจ๋‘ 22/22
    • ๊ทธ๋ฆฌํผ๊ฐ€ ์นด๋“œ๋ฅผ ์ฅ” ํ”„๋ ˆ์ž„ 22์žฅ, ๋นˆ ์ค„ 4์žฅ: ๋‘ ๊ธธ ๋ชจ๋‘ none
  • 3์žฅ ํŒ์ • ์ง€์—ฐ(JPEG ํ’€๊ธฐ ํฌํ•จ, AMD Ryzen 5 7500F 4์Šค๋ ˆ๋“œ, ๋‘ ๋ฒˆ ์žผ): onnx ์ค‘์•™ 324ยท353 ms, torch ์ค‘์•™ 425ยท431 ms

์“ฐ๋Š” ๋ฒ•

import onnxruntime as ort
session = ort.InferenceSession("model.onnx", providers=["CPUExecutionProvider"])
features = session.run(None, {"pixel_values": pixel_values})[0]   # [N, 768]

์ „์ฒ˜๋ฆฌ๋ฅผ numpy๋กœ ๋˜‘๊ฐ™์ด ํ•˜๋Š” ์ฝ”๋“œ๋Š” LEAP-LAB-KUS/openarmsciedu-robot์˜ dialogue/leaf_onnx.py(pixel_values)์— ์žˆ๋‹ค.

๋ผ์ด์„ ์Šค

์›๋ณธ DINOv2(Meta AI)์˜ Apache-2.0์„ ๋”ฐ๋ฅธ๋‹ค. ๊ฐ€์ค‘์น˜๋Š” ์›๋ณธ ๊ทธ๋Œ€๋กœ์ด๊ณ , ์œ„์น˜ ์ž„๋ฒ ๋”ฉ๋งŒ 224ร—224๋กœ ๋ฏธ๋ฆฌ ๋ณด๊ฐ„ํ•œ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟจ๋‹ค.

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

Model tree for leapshared/dinov2-base-onnx

Quantized
(9)
this model