Visitar URL original
GitHub - derekclair/rfdetr-dgx-spark-gb10: First public RF-DETR latency numbers on NVIDIA DGX Spark (GB10), plus a live Protect RTSP + ByteTrack loop. · GitHub
Skip to content

About

First public RF-DETR latency numbers on NVIDIA DGX Spark (GB10), plus a live Protect RTSP + ByteTrack loop.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

RF-DETR on NVIDIA DGX Spark

First public RF-DETR latency numbers on NVIDIA GB10 (DGX Spark), plus a live UniFi Protect RTSP loop that stays real-time on the same box.

Roboflow’s own Spark write-up shows a Waymo counter and no FPS/ms table. Their official benchmark page is NVIDIA T4 + TensorRT. This repo fills the Spark gap with a script you can re-run.

Stack: rfdetr + supervision ByteTrack. Not the Inference server — same models, local Python.

Isolated model latency (GB10)

Protocol copied from Roboflow’s inference-latency cookbook: torch.cuda.Event, 20 warmup + 100 timed runs, batch 1, synthetic RGB (seed 42), official per-size resolution. PyTorch FP32 and FP16+JIT — not TensorRT. Official T4 column is a different runtime; it is there so the gap is honest.

Host: NVIDIA GB10, sm_121, PyTorch 2.13.0+cu130, driver 580.159.03, aarch64. Unedited script output: benchmarks/gb10-2026-08-14.json.

Model Resolution Official T4 TRT FP16 GB10 FP32 GB10 FP16+JIT GB10 FP16 FPS
RF-DETR Nano 384 2.3 ms 9.68 ms 7.06 ms 142
RF-DETR Small 512 3.5 ms 12.76 ms 7.96 ms 126
RF-DETR Medium 576 4.4 ms 14.57 ms 9.12 ms 110
python benchmark.py --models nano,small,medium

Other published Roboflow figures, for context only:

  • T4 TensorRT FP16, 200 ms thermal gap (docs): Nano 2.3 ms, Small 3.5 ms, Medium 4.4 ms
  • Jetson Orin Nano (edge post): Nano “around 25 FPS” (runtime not specified)

Live stream (end-to-end)

Same box, different measurement: Protect medium stream (H.264 1280×720 @ 30 fps) → decode → RF-DETR Nano FP16 → ByteTrack → annotated MP4.

~36 FPS after warmup, 7–10 tracks/frame. Keeps up with the camera. Isolated-model FPS above is higher because it skips decode, tracking, and draw.

Do not commit clips. Indoor / family footage stays local.

python run_live.py --model nano --seconds 20 --classes person

Setup

Python 3.12, CUDA 13 GPU, ffmpeg, uv.

uv venv --python 3.12
source .venv/bin/activate
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130
uv pip install -r requirements.txt
cp .env.example .env

Protect gives rtsps://<nvr>:7441/<token>?enableSrtp. Rewrite to unencrypted RTSP before use:

RTSP_URL=rtsp://<nvr-host>:7447/<token>

Confirm with:

ffprobe -rtsp_transport tcp -v error -show_entries stream=codec_name,width,height,avg_frame_rate \
  "$RTSP_URL"

What this is not

  • Not TensorRT / SAB. Those T4 milliseconds will not appear here until someone exports and times an engine on GB10.
  • Not Roboflow Inference Server or Workflows. That is the obvious next packaging step.
  • Not a Jetson port. Xavier / Orin is a later deploy of the same script.

Layout

Path Role
benchmark.py Cookbook-style isolated latency
benchmarks/gb10-2026-08-14.json This run (unedited benchmark.py output)
run_live.py Protect RTSP + ByteTrack
.env.example RTSP_URL shape only

About

First public RF-DETR latency numbers on NVIDIA DGX Spark (GB10), plus a live Protect RTSP + ByteTrack loop.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages