Skip to content

v1.7.1: Stability (BF16 train & ckpt loading)

Choose a tag to compare

@Borda Borda released this 28 May 19:55
· 306 commits to release/latest since this release

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_checkpoint failing on official starter checkpoints. Loading official Roboflow starter weights with RFDETR.from_checkpoint(...) raised ValueError: Could not infer model class. The checkpoint metadata stores pretrain_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 rfdetr raised AttributeError: 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 removed np.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