v1.7.1: Stability (BF16 train & ckpt loading)
Summary
RF-DETR 1.7.1 is a focused patch release that fixes three bugs affecting common workflows. If you train segmentation models with BF16 mixed-precision, load official starter checkpoints with from_checkpoint, or run RF-DETR alongside NumPy 2.x, this release resolves crashes you may have hit.
What's fixed
-
BF16 mixed-precision segmentation training crash. Training a segmentation model with BF16 mixed-precision (e.g.
amp_dtype="bfloat16") could fail with a dtype mismatch error in fused AdamW. The root cause was a low-level convolution backward pass converting a gradient to reduced precision before it reached the optimizer. Gradients now stay in the correct dtype throughout, matching standard PyTorch behaviour. (#1076) -
RFDETR.from_checkpointfailing on official starter checkpoints. Loading official Roboflow starter weights withRFDETR.from_checkpoint(...)raisedValueError: Could not infer model class. The checkpoint metadata storespretrain_weights="none"as a sentinel value, which the loader didn't handle. It now falls back to inferring the model variant from the checkpoint filename and logs which variant it detected. (#1065) -
NumPy 2.x import crash.
import rfdetrraisedAttributeError: module 'numpy' has no attribute 'complex_'when NumPy 2.0 or later was installed alongside an older transitive dependency (such as chumpy or older TensorFlow builds) that still references the removednp.complex_alias. A compatibility shim at import time resolves this without requiring any changes to your environment. (#1064)
Contributors
New contributor to this release — welcome!
- Omkar Kabde (@omkar-334) — TFLite test reliability improvements
- Jirka Borovec (@Borda) — BF16 segmentation fix, release
Full changelog: 1.7.0...1.7.1