v0.5.0 — Your checkpoint, your dataset, proven
The most requested capability since v0.4.0: taking this pipeline to a model that is not COCO.
This release makes that a first-class, verifiable path — export a fine-tuned D-FINE checkpoint
without a training checkout, evaluate it on your own COCO-format dataset, and compare operating
points through a chain that refuses to compare the wrong things. The published model artifacts
are byte-identical to v0.3.1–v0.4.0; no re-export is required.
Validate on your own dataset
preset_sweep(dfine sweep) runs the whole comparison in one command: export,slim
conversion, engine builds, accuracy on your split, baseline deltas, and native throughput over
configurable operating points (graph × precision × engine profile × runtime mode), assembled
into one decision table with an--ap-budgetrecommendation. Every step is the documented tool
run with its argv recorded, so the table is reproducible by hand.- D-FINE-seg YOLO splits convert on the fly (
--yolo-dataset);yolo_to_coco.pyis the
standalone converter. - Validation is a reproducible workflow for a custom checkpoint and any
COCO-format detection dataset: any class count, the same 640×640 stretch contract, standard
COCO bbox metrics. - Accuracy reports carry AP/AR slices, per-IoU and per-class metrics, GT density, and
original-pixel versus model-space object-size breakdowns, plus annotation, image, evaluator,
artifact, and lineage hashes. accuracy_chain.pyassembles export → TensorRT → precision → preset deltas and rejects reports
with different annotations, image bytes, preprocessing, thresholds, Top-K, inference batch,
evaluator source, GT population, model contract, or artifact lineage. Reports that predate
lineage recording are rejected unless--allow-missing-lineageis passed.- The v0.5 preset report is the worked example: four
independently fine-tuned cross-domain datasets (RF4) plus full COCO, five graph presets, every
backend transition isolated.
Self-contained checkpoint export
- The detection-only D-FINE definition is bundled; export no longer needs a training repository
checkout. Breaking: export requires an explicit--checkpoint;--dfine-srcand
DFINE_SEG_DIR/DFINE_SEG_SRCare removed from the export toolchain. - A path-gated CI job proves the bundled model bit-exact against the pinned D-FINE-seg revision
over all five published checkpoints whenever the bundle or the pin changes. - Checkpoint provenance is strict, model packs are validated canonically, and engine builders
deserialize the published plan to verify its compiled batch profile before recording metadata.
Benchmark surface
- The throughput surface was re-measured under an idle-gated protocol: five interleaved
single-round processes per configuration, published medians with min–max ranges. Batch-8 gains
are monotonic in pruned query count;Q200→C100is the fastest preset at +9.7%. - Runtime modes are now published points: full-pipeline CUDA Graph and 1/8/8 serving profiles,
including themaxconfiguration — 1.99 ms at batch 1 under graph capture and 662 img/s at
batch 8 (−0.96 COCO AP), measured with the standard fidelity chain. - A controlled eager versus
torch.compilebaseline accompanies the study.
Runtime and tooling contracts
- GPU-decode host staging buffers are pinned, so the mode's async copies stay asynchronous and
the reported dispatch/wait timing split is truthful; detections are unchanged. profile.pyenforces--topkon the native accuracy backend and rejects values above the
native decode limit.- Evaluation reports are stretch-only end to end; the producer-less letterbox report schema was
removed andaccuracy_chainrejects letterbox geometry.
Assets
The wheel is dfine-0.5.0-py3-none-linux_x86_64.whl; the model pack republishes the pinned
v0.3.1-lineage artifacts unchanged. Install and verification commands are in
Getting started; the asset grammar is in Naming.