pypi ultralytics 8.3.230
v8.3.230 - `ultralytics 8.3.230` Fix color conversion for Tensor inputs and PIL plots (#22734)

5 hours ago

🌟 Summary

ultralytics 8.3.230 is a stability and UX-focused release that fixes color issues in visualizations, improves TensorRT and device handling, and loosens dependency constraints for smoother installs, along with some docs and CI polish. 🎨⚙️🚀


📊 Key Changes

  • 🎨 Accurate colors for visualizations (Tensor + PIL) [@Y-T-G, #22734]

    • Fixes channel order for tensor inputs in predictors (RT-DETR, SAM, YOLO detect, YOLO classify).
    • Ensures pil=True plots return proper RGB images instead of visually “off” colors.
    • Results.plot() now delegates to annotator.result(pil) for consistent behavior.
  • ⚙️ More robust TensorRT dynamic input handling [@Laughing-q, #22729]

    • For dynamic TensorRT models, the input shape now uses the maximum profile shape, not the “optimal” one.
    • Reduces runtime shape errors when running YOLO models at larger or varying resolutions.
  • 🧠 Safer device selection for CPU / MPS [@Y-T-G, #22740]

    • When using select_device("cpu") or select_device("mps"), CUDA_VISIBLE_DEVICES is now set to "" instead of "-1".
    • Avoids crashes and odd CUDA behavior on some systems (including Windows via Ultralytics HUB).
  • 📦 Looser dependency version pins for better compatibility [@glenn-jocher, #22721]

    • Removes upper bounds on major dependencies: numpy, matplotlib, opencv-python, pillow, pyyaml, requests, scipy, torchvision, psutil, polars.
    • PyTorch requirements updated to:
      • General: torch>=1.8.0
      • Windows: torch>=1.8.0,!=2.4.0 (skips known-bad 2.4.0 on Windows CPU).
    • ultralytics-thop now uses >=2.0.18 instead of an upper cap.
  • 🖼️ Docs UX + SEO improvements [@sergiuwaxmann, @glenn-jocher, @RizwanMunawar]

    • Docs banner updated to highlight Ultralytics’ $30M Series A with new visuals and investor logos.
    • Page title logic made safer to handle pages without TOC or page metadata, preventing template errors.
    • Object blurring & cropping guides now embed a new, clearer YouTube tutorial (J1BaCqytBmA), aligned with current YOLO11 workflows.
  • 🧪 CI & workflow maintenance [@dependabot[bot]]

    • All GitHub workflows now use actions/checkout@v6 (including CI, docs, docker, link checks, publishing, mirroring).
    • Keeps automation aligned with the latest GitHub Actions best practices.

🎯 Purpose & Impact

  • 🎨 More trustworthy visual outputs

    • Fixes incorrect RGB/BGR handling so prediction overlays look right across RT-DETR, SAM, YOLO detect, and YOLO classify.
    • Especially important for users working directly with tensors or using pil=True for plotting or UI integrations.
  • 🧩 Smoother deployment on TensorRT and varied input sizes

    • Using the maximum TensorRT profile shape for dynamic inputs reduces shape mismatches and runtime failures.
    • Helpful for production setups that need to handle different image resolutions reliably.
  • 💻 More reliable CPU/MPS runs and Ultralytics HUB integration

    • Clearing CUDA_VISIBLE_DEVICES properly avoids crashes and confusing CUDA behavior on systems where GPUs must be “hidden.”
    • Leads to more predictable device selection across CLI, Python API, and Ultralytics HUB.
  • 📦 Easier installs and upgrades

    • Looser dependency pins mean fewer version conflicts with existing environments (e.g., modern numpy, torch, torchvision).
    • Still protects Windows users from known PyTorch 2.4.0 CPU issues.
  • 📚 Better docs experience & onboarding

    • Updated banner and safer HTML title logic improve stability, branding, and SEO for documentation.
    • New video tutorials make object blurring/cropping with YOLO11 easier to learn and replicate.
  • 🏗️ More robust CI/CD

    • Upgrading to actions/checkout@v6 keeps the project’s automation current, aiding long-term reliability of builds, tests, and releases.

Overall, v8.3.230 is a quality-focused release: if you visualize results, run dynamic TensorRT models, rely on CPU/MPS, or manage modern Python stacks, you should see more stable and predictable behavior. ✅

What's Changed

Full Changelog: v8.3.229...v8.3.230

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.