🌟 Summary
Ultralytics 8.4.202 improves stream-video saving and fixes several compatibility and reliability issues, alongside updated model and benchmark documentation.
📊 Key Changes
- 🎥 Stream predictions now save at the stream’s actual frame rate. RTSP streams, webcams, and
.streamssources use each stream’s own FPS—including in multi-stream setups—instead of assuming 30 FPS. Video-file and screen capture rates remain unchanged. - 🔧 Improved model loading and export compatibility. MNN exports now expose task metadata before loading, helping renamed pose, segmentation, classification, and OBB models—and RT-DETR exports—be identified correctly. Class-name weight remapping also works when loading CPU checkpoints into GPU models.
- ⚡ More reliable TensorRT INT8 exports on older GPUs. Dynamic INT8 builds on GPUs such as the T4 now use a safer minimum input size, avoiding build failures for small inputs.
- 🧰 Clearer dataset and Platform behavior. Classification validation now reports a helpful error when neither a
valnortestsplit exists. Platform training arguments are sent as JSON values rather than being converted to strings. - 📚 Updated YOLO27 and benchmark documentation. YOLO27 results, model details, and FLOPs reporting were corrected; benchmark scores were recalculated to account for ignored regions in VisDrone and HIT-UAV.
🎯 Purpose & Impact
- ✅ Stream recordings should now play at the right speed, including when streams have different frame rates or frames are skipped.
- ✅ Model loading and deployment workflows are less likely to fail because of metadata, device, or older-GPU INT8 limitations.
- ✅ Dataset setup issues are easier to diagnose, and Platform receives more useful, correctly typed training settings.
- 📖 Updated documentation gives users more accurate performance comparisons and clearer evaluation details. These are documentation corrections, not changes to the models themselves.
What's Changed
- docs: update YOLO27 detection, segmentation and pose results by @fcakyon in #27020
- Read MNN export metadata before loading so renamed and RT-DETR exports keep their task by @raimbekovm in #27019
- Keep class-name weight transfers on the target device by @aswanth-07 in #27017
- Fix classify dataset checks and send Platform train args as JSON values by @glenn-jocher in #27023
- Fix dynamic TensorRT INT8 engine builds on T4 and other SM 7.5 GPUs by @raimbekovm in #27018
- docs: update Ultralytics Benchmark scores by @fcakyon in #27022
ultralytics 8.4.202Save stream prediction videos at the stream's frame rate by @raimbekovm in #27016
Full Changelog: v8.4.201...v8.4.202