Published September 6, 2025 | Version v8.3.195
Software Open

Ultralytics YOLO

  • 1. Ultralytics

Description

🌟 Summary

Ultralytics 8.3.195 boosts startup speed and reliability by replacing the py-cpuinfo dependency with a built-in, cross‑platform CPU info utility—plus several quality fixes for checkpoints, OBB predictions, and dataset verification. 🚀

📊 Key Changes

  • Zero-dependency CPU info (priority)

    • Replaced external py-cpuinfo with a lightweight internal utility ultralytics.utils.cpu.CPUInfo for fast, consistent CPU detection across macOS/Linux/Windows. See reference docs for CPUInfo added to the site.
    • Updated get_cpu_info() to use CPUInfo.name().
    • Removed py-cpuinfo from project dependencies.
    • PR: ultralytics 8.3.195 Zero-dependency 30X faster CPU info by @glenn-jocher (view PR #21972) ⚡
  • Checkpoint loading improved

    • Restores all checkpoint arguments on load (model.args now preserves the full args dict; DEFAULT_CFG_KEYS filter removed).
    • PR: Restore all arguments on checkpoint load by @Y-T-G (view PR #21968) 🧠
  • OBB prediction fix

    • Disabled inappropriate box clipping for OBB when using xywh=True in scale_boxes to prevent width/height distortion.
    • PR: Disable box clipping for OBB predictions by @Y-T-G (view PR #21950) 📐
  • Dataset verification bugfix

    • Fixed a typo in verify_image_label using the correct keypoint parameter (prevents shape errors on pose datasets).
    • PR: Fix keypoints typo by @LH-and-FPGA (view PR #21965) 🩹
  • Typing modernization

    • Switched legacy typing generics (List/Dict/...) to built-in list/dict/... across code and examples (no behavior change).
    • PR: Replace Uppercase Python 3.8 Types → 3.9 types by @glenn-jocher (view PR #21961) 🧹

🎯 Purpose & Impact

  • Faster startup and leaner installs

    • Eliminates a dependency and accelerates CPU info retrieval (notable improvement on cold starts and scripts) ⚡
    • Fewer environment conflicts and simpler deployments (especially in constrained or offline environments) 📦
  • More reliable training/resume/export

    • Preserving all checkpoint args improves compatibility with custom configs, training resumption, exports, and Ultralytics HUB workflows 🔁
    • Note: model.args may contain additional keys—ensure downstream code can handle them gracefully ⚠️
  • More accurate predictions and verification

    • Correct handling of OBB xywh boxes prevents subtle geometry errors in outputs ✅
    • Pose dataset checks are more robust thanks to the keypoint variable fix 🧪

Quick tip:

  • Get a human-readable CPU name anywhere in code:
from ultralytics.utils.cpu import CPUInfo
print(CPUInfo.name())  # e.g., "Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz"

Enjoy a snappier, more robust Ultralytics experience with 8.3.195! ✨

What's Changed

  • Replace Uppercase Python 3.8 Types → 3.9 types by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/21961
  • Restore all arguments on checkpoint load by @Y-T-G in https://github.com/ultralytics/ultralytics/pull/21968
  • Disable box clipping for OBB predictions by @Y-T-G in https://github.com/ultralytics/ultralytics/pull/21950
  • Fix keypoints typo in verify_image_label by @LH-and-FPGA in https://github.com/ultralytics/ultralytics/pull/21965
  • ultralytics 8.3.195 Zero-dependency 30X faster CPU info by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/21972

New Contributors

  • @LH-and-FPGA made their first contribution in https://github.com/ultralytics/ultralytics/pull/21965

Full Changelog: https://github.com/ultralytics/ultralytics/compare/v8.3.194...v8.3.195

Notes

If you use this software, please cite it using the metadata from this file.

Files

ultralytics/ultralytics-v8.3.195.zip

Files (2.5 MB)

Name Size Download all
md5:4340fbbdff62b98b73d551b6faeb0122
2.5 MB Preview Download

Additional details

Related works