An example implementation of RF-DETR object detection and instance segmentation using the Candle ML framework in Rust.
Code has been ported based on a minimal fork of original rf-detr code, found at py/rfdetr.
Original implementation commit history available at candle_xps.
Roughly equal amounts of work done by Opus 4.5 and human hands, but everything has been read by a human at least once and deemed... good enough.
Results have been manually and automatically verified (by AP comparisons on COCO).
Run predictions on an image using a pretrained checkpoint:
cargo run -r -p candle_rf_detr -- --which nano predict assets/sample_traffic.jpgRun instance segmentation using a pretrained checkpoint:
cargo run -r -p candle_rf_detr -- --which seg-2-x-large predict assets/sample_traffic.jpgRun a built-in configuration, but with custom weights:
cargo run -r -p candle_rf_detr -- --which medium --model ../py/rfdetr/export/rfdetr-seg-medium.safetensors predict assets/sample_traffic.jpgRun on cpu:
cargo run -r -p candle_rf_detr -- --which seg-nano --cpu predict assets/coco_dinner.jpgPython code vs rust code comparison:
# python
cd py/rfdetr && uv run predict_study.py -d output -m seg-nano -i ../../assets/coco_dinner.jpg
# rust
cargo run -r -p candle_rf_detr -- --which seg-nano predict assets/coco_dinner.jpgThe available --which cli strings are described in the comment column:
pub enum Which {
Nano, // nano
Small, // small
Medium, // medium
Base, // base
Large, // large
LargeDeprecated, // large-deprecated
SegPreview, // seg-preview
SegNano, // seg-nano
SegSmall, // seg-small
SegMedium, // seg-medium
SegLarge, // seg-large
SegXLarge, // seg-x-large
Seg2XLarge, // seg2-x-large
}Rust first, python second.
cargo run -r -p candle_rf_detr -- --which seg-nano predict assets/coco_dinner.jpg
cd py/rfdetr && uv run predict_study.py -d output -m seg-nano -i ../../assets/coco_dinner.jpg
cargo run -r -p candle_rf_detr -- --which large-deprecated predict assets/sample_bike.jpg
uv run predict_study.py -d output -m large-deprecated -i ../../assets/sample_bike.jpg
cargo run -r -p candle_rf_detr -- --which small predict assets/sample_traffic.jpg
uv run predict_study.py -d output -m small -i ../../assets/sample_traffic.jpg





