pypi ultralytics 8.3.239
v8.3.239 - SAM3 and `SystemLogger()` improvements (#22965)

10 hours ago

🌟 Summary

Ultralytics v8.3.239 focuses on smoother SAM 3 text prompting, richer system monitoring via SystemLogger(), quieter logs, and broader ONNX export support (including Jetson JetPack 6), plus improved contributor attribution in the docs. 🚀


📊 Key Changes

  • SAM 3 text prompting made plug‑and‑play 🧩

    • Replaced the custom SAM3 tokenizer with CLIP’s built‑in SimpleTokenizer().
    • Removed the need to manually download and pass bpe_simple_vocab_16e6.txt.gz.
    • SAM3SemanticPredictor and SAM3VideoSemanticPredictor no longer take a bpe_path argument.
    • If clip isn’t installed, Ultralytics auto-installs it from the Ultralytics CLIP repo.
    • Updated SAM 3 docs and reference nav to reflect the simpler API and removed tokenizer module.
  • SystemLogger() gains real‑time throughput metrics 📈

    • SystemLogger.get_metrics() now supports rates=True to report disk and network MB/s:
      • Disk: read_mbs, write_mbs
      • Network: recv_mbs, sent_mbs
    • Default behavior (rates=False) still returns cumulative MB since logger init.
    • Adds internal tracking of previous disk/net stats and time for safe rate calculations.
    • Example docs updated to show GPU keys as strings ("0", "1").
  • Centralized warning suppression for cleaner logs 🔕

    • Moved scattered warnings.filterwarnings(...) calls into ultralytics/utils/__init__.py.
    • Removed local warning suppression from:
      • Exporter (ultralytics/engine/exporter.py)
      • MobileCLIP text model loader (ultralytics/nn/text_model.py)
      • Plotting utils (ultralytics/utils/plotting.py)
      • TensorBoard callbacks (ultralytics/utils/callbacks/tensorboard.py)
    • TensorBoard graph logging now:
      • Tries a simple trace first, then an RT-DETR‑style export fallback.
      • Logs a single, more informative warning if both fail.
  • ONNX export updated to support ONNX 1.20.0+ 📦

    • Exporter now requires onnx>=1.12.0,<2.0.0 instead of capping at 1.19.1 for:
      • export_onnx
      • export_saved_model (TensorFlow route)
    • Jetson JetPack 6 Dockerfile no longer hard‑pins ONNX below 1.20.0; the workaround was removed.
    • Comment in pyproject.toml updated to note MacOS testing up to onnx==1.20.0.
  • Docs & authorship improvements 📚

    • SAM 3 docs simplified: all examples now construct SAM3SemanticPredictor / SAM3VideoSemanticPredictor without bpe_path.
    • mkdocs.yml nav updated to drop the removed tokenizer_ve reference page.
    • docs/mkdocs_github_authors.yaml expanded with many new GitHub usernames and avatars, plus aliases and Ultralytics team mappings for better contributor attribution.
  • CI / tooling maintenance 🧰

    • GitHub Actions: actions/download-artifact bumped from v6 → v7 (Node.js 24 runtime) in publish.yml.
    • Package version bumped to 8.3.239 in ultralytics/__init__.py for clear release tracking.

🎯 Purpose & Impact

  • Easier SAM 3 text-based segmentation 💬

    • No more manual BPE vocabulary downloads or bpe_path wiring.
    • Using CLIP’s own tokenizer reduces duplicated code and aligns SAM 3 text prompts with standard CLIP tooling.
    • SAM 3 examples become more “drop‑in” for new users: just provide sam3.pt and go.
  • Better monitoring for training and deployment 📊

    • SystemLogger.get_metrics(rates=True) lets you watch live I/O throughput, which is especially helpful when:
      • Diagnosing dataset loading bottlenecks.
      • Monitoring training jobs on shared servers or in production.
    • Preserving the old cumulative behavior avoids breaking existing dashboards or scripts.
  • Quieter, more focused logs 🤫

    • Centralized warning suppression cuts repeated, noisy framework warnings (timm, CoreML, ONNX/TorchScript, matplotlib) across the codebase.
    • Makes logs easier to read, especially during long training/export runs or when using TensorBoard.
  • More robust ONNX export, including Jetson 🖥️

    • Supporting ONNX up to <2.0.0 (including 1.20.0) unblocks environments like Jetson JetPack 6 that depend on newer ONNX.
    • Removing the Jetson Dockerfile hack avoids surprising dependency rewrites and simplifies maintenance.
  • Improved documentation and community recognition 🤝

    • Cleaner, up‑to‑date docs around SAM 3 reduce setup friction and confusion.
    • Expanded author mapping ensures more contributors are correctly credited on documentation pages, which encourages community engagement.

Overall, v8.3.239 is a quality‑of‑life release: SAM 3 is simpler to use, monitoring is more informative, logs are tidier, and ONNX export is more future‑proof—without breaking existing workflows. ✅

What's Changed

Full Changelog: v8.3.238...v8.3.239

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.