Skip to content

fix(deps): update dependency ultralytics ( 8.4.75 → 8.4.78 ) - #428

Merged
jazzlyn-bot[bot] merged 1 commit into
mainfrom
renovate/ultralytics-8.x
Jun 26, 2026
Merged

fix(deps): update dependency ultralytics ( 8.4.75 → 8.4.78 )#428
jazzlyn-bot[bot] merged 1 commit into
mainfrom
renovate/ultralytics-8.x

Conversation

@jazzlyn-bot

@jazzlyn-bot jazzlyn-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change OpenSSF
ultralytics (changelog) project.dependencies patch ==8.4.75==8.4.78 OpenSSF Scorecard

Release Notes

ultralytics/ultralytics (ultralytics)

v8.4.78: - Remove scipy from core dependencies (#​24927)

Compare Source

🌟 Summary

Ultralytics v8.4.78 is mainly a lightweighting and usability release 🚀—the biggest change removes SciPy from core dependencies, making installs smaller and simpler with no expected behavior changes, while docs were also improved for region counting, predictor argument persistence, and site navigation.

📊 Key Changes

  • Removed SciPy from core dependencies 🪶

    • PR #​24927 by @​glenn-jocher replaces the remaining SciPy-based operations with NumPy-based equivalents.
    • This includes an internal replacement for linear_sum_assignment, used in important matching logic across:
      • RT-DETR
      • SAM / mask matching
      • validation
      • tracking utilities
    • The new implementation was validated against SciPy to machine precision, so this is intended as a drop-in change without functional differences.
  • Smaller and cleaner installation footprint 📦

    • Since SciPy was one of the heaviest required packages, removing it reduces the base install size noticeably.
    • This can make setup faster and easier, especially in constrained or cloud environments.
  • Region counting documentation was reworked 🎯

    • PR #​24816 by @​raimbekovm refreshes the RegionCounter guide around actual usage.
    • It now better explains:
      • how region counting works frame by frame
      • how to define one or multiple regions
      • how to access counts in code
      • the difference between live occupancy and cumulative counting
  • Clarified model.embed() / predictor argument persistence 📝

    • PR #​24926 by @​raimbekovm adds an important note that a loaded model may reuse the same predictor across calls.
    • This means arguments like embed can persist unexpectedly unless reset, such as with embed=None.
  • Large documentation link cleanup across the docs site 🔗

    • PR #​24915 by @​raimbekovm converts many internal docs links from absolute URLs to relative links.
    • This helps docs work better in:
      • local builds
      • GitHub previews
      • translated/localized documentation

🎯 Purpose & Impact

  • Easier installs for everyone

    • Removing SciPy lowers dependency weight, which can help users install Ultralytics faster and with fewer environment issues.
  • Better portability and deployment 🌍

    • Smaller dependencies are especially useful for CI, Docker images, edge devices, notebooks, and cloud workflows.
  • No intended model behavior changes

    • The SciPy removal is an infrastructure improvement, not a model redesign, so users should get the same results with a leaner package.
  • Improved reliability for advanced workflows 🤖

    • Because the replaced matching logic is used in areas like RT-DETR, SAM, tracking, and validation, this update keeps those features working while reducing external dependency burden.
  • Fewer documentation gotchas 📚

    • The updated RegionCounter guide should make multi-zone counting easier to understand and adopt.
    • The predictor persistence note may save users from confusing behavior when mixing model.embed() and model.predict().
  • Better docs experience across languages and previews 🌐

    • Relative linking improves navigation and helps non-English readers stay within the correct localized docs flow.

Overall, v8.4.78 is a quality-of-life release 💡: lighter installs, cleaner internals, and clearer documentation, with the SciPy removal being the standout improvement.

What's Changed

Full Changelog: ultralytics/ultralytics@v8.4.77...v8.4.78

v8.4.77: - Add knowledge distillation for YOLO detection models (#​24894)

Compare Source

🌟 Summary

Ultralytics v8.4.77 is headlined by new knowledge distillation support 🎓 for YOLO training, helping smaller models learn from larger ones to boost accuracy without slowing down inference, alongside a useful RegionCounter crash fix and clearer solution docs 📚.

📊 Key Changes

  • 🧠 Knowledge distillation added for YOLO training

    • New training support lets a smaller student model learn from a larger teacher model using the new distill_model argument.
    • A new dis setting controls how strongly the teacher guides training.
    • Added a new internal DistillationModel wrapper to handle:
      • frozen teacher models
      • trainable student models
      • feature matching between models
      • combined standard + distillation loss
    • Includes docs, tests, resume-training support, and checkpoint handling.
  • 🚀 New Knowledge Distillation guide

    • Added a dedicated guide with:
      • Python and CLI quickstarts
      • recommended YOLO26 teacher/student pairs
      • usage notes for detect, segment, pose, and OBB
      • benchmark tables for distilled YOLO26 models
      • FAQs and training tips
  • 📈 Potential accuracy gains for compact YOLO26 models

    • Release notes show improved validation results for distilled YOLO26 models, while keeping the deployed model size and runtime essentially the same as the original student model.
  • 🛠️ RegionCounter crash fixed

    • Fixed a bug where regions added with add_region() could crash during processing because required polygon preparation data was missing.
    • Regions are now fully prepared when added, making RegionCounter more reliable.
  • 📚 Documentation refresh for real-time solutions

    • Several YOLO26 guides were reorganized to be easier to follow, including:
      • analytics
      • object counting
      • object blurring
      • object cropping
      • speed estimation
      • distance calculation
    • The analytics guide now also documents area plots.
  • 🔎 Documentation SEO/title improvements

    • Fixed duplicate page title issues for some dataset and Roboflow-related docs pages, helping users find the right content more easily.

🎯 Purpose & Impact

  • 🎯 Better small-model performance

    • The biggest change is knowledge distillation: it helps smaller YOLO models become more accurate by learning from stronger models during training.
    • This is especially useful for users who want fast, lightweight deployment on edge devices or production systems.
  • No extra inference cost

    • Distillation improves training, not deployment overhead. That means users can often get a better student model without making inference slower.
  • 🧪 More robust training workflows

    • Support for tests, resume behavior, and cleaner checkpoint handling makes distillation more practical for real-world experiments and longer training jobs.
  • 🧰 More stable solution usage

    • The RegionCounter fix removes a frustrating crash path, especially for users creating regions programmatically instead of only through predefined setup.
  • 📖 Easier onboarding

    • The updated guides make common computer vision tasks more approachable for new users, while also giving experienced users clearer references and cleaner examples.
  • 🌍 Better discoverability

    • The docs metadata/title fixes improve site organization and search visibility, which helps users reach the right Ultralytics resources faster.

If you'd like, I can also turn this into a short release note version or a more technical developer-focused summary.

What's Changed

Full Changelog: ultralytics/ultralytics@v8.4.76...v8.4.77

v8.4.76: - Add multi-dataset fine-tuning via MultiTrainer (#​24914)

Compare Source

🌟 Summary

Ultralytics v8.4.76 is headlined by a powerful new multi-dataset fine-tuning workflow 🚀, making it much easier to train one YOLO model across several datasets in one run, while also improving tracking defaults, segmentation/tracking stability, and docs clarity.

📊 Key Changes

  • 🆕 Multi-dataset fine-tuning via MultiTrainer

    • You can now pass a list or tuple of datasets to model.train().
    • Ultralytics will fine-tune the same base model separately on each dataset in sequence.
    • It returns a per-dataset metrics dictionary and saves a cross-dataset results chart.
    • This expands the old RF100-specific workflow into a more general tool that works for RF100, custom dataset collections, and broader benchmarking.
  • 📈 Better multi-dataset benchmarking outputs

    • Training runs are grouped into a shared multitrain directory.
    • Results now include:
      • per-dataset metrics
      • a summary JSON file
      • a bar-chart image comparing results across datasets
  • 🔗 Easier Ultralytics Platform dataset/model loading

    • Platform web URLs can now be pasted directly and are automatically converted to ul:// format behind the scenes.
    • This helps streamline workflows using the Ultralytics Platform 🌐
  • 🎯 Default tracker changed to tracktrack.yaml

    • TrackTrack is now the default multi-object tracker instead of BoT-SORT.
    • Users who rely on default settings may notice different tracking behavior or ID consistency.
  • 🛠️ Segmentation + ReID compatibility fix

    • A fix prevents valid segmentation detections from being incorrectly filtered out when native ReID is enabled.
    • This improves reliability for advanced tracking workflows.
  • 📦 DDP training metrics recovery improved

    • Training now better returns metrics in distributed training setups, rather than losing them in some multi-GPU cases.
  • 🔄 Revert of recent predict() path-list loading change

    • A previous change meant to reduce memory issues for large file-path lists was reverted because it introduced breaking behavior for exported models with static batch sizes.
    • This restores previous compatibility, especially for ONNX, TensorRT, MNN, and TorchScript export use cases.
  • 🧩 Solutions improvements

    • Added show_boxes to instance segmentation solutions so users can turn bounding boxes on or off.
    • Fixed RegionCounter so counts no longer remain stale on empty frames.
    • Clarified region argument docs to better match actual behavior.
  • 📚 Documentation updates

    • Added ADE20K semantic segmentation benchmarks for YOLO26 models.
    • Added lightweight COCO16 / COCO32 / COCO64 test subsets to docs.
    • Tracking docs now highlight newer trackers like OC-SORT, Deep OC-SORT, FastTracker, and TrackTrack.
    • Large docs refresh for SEO, consistency, titles, and clearer guides.

🎯 Purpose & Impact

  • For researchers and advanced users 🧪

    • The new multi-dataset training feature is the biggest change in this release.
    • It makes it much easier to compare how a single YOLO base model performs across many datasets without building custom scripts.
    • This is especially useful for benchmarking, transfer learning, dataset sweeps, and robustness testing.
  • For teams managing many datasets 📂

    • You can now automate repeated fine-tuning runs in a cleaner, more reproducible way.
    • The saved summary plots and JSON outputs make results easier to review, share, and integrate into reporting pipelines.
  • For tracking users 🚗

    • The switch to TrackTrack as the default tracker may improve out-of-the-box tracking quality, but it could also slightly change results in existing workflows that depended on default behavior.
    • If you want the old default, you can still set tracker=botsort.yaml explicitly.
  • For deployment users ⚙️

    • The revert to the earlier predict() behavior helps avoid export/runtime issues, particularly when using static-batch exported models.
    • This favors compatibility and stability over the recent loader behavior change.
  • For solution users 👀

    • Visualization controls are better, and region counting is more accurate frame-to-frame.
    • These fixes reduce confusion and improve reliability in real-world video analytics setups.
  • For the broader community 📘

    • Many docs were cleaned up and expanded, making Ultralytics features easier to discover and use.
    • The added ADE20K benchmarks and smaller COCO subsets are especially helpful for quick testing and semantic segmentation evaluation.

In short: v8.4.76 is mainly about making multi-dataset fine-tuning much more practical and scalable 🌟, while also improving default tracking behavior, restoring inference compatibility, and polishing the overall user experience.

What's Changed

Full Changelog: ultralytics/ultralytics@v8.4.75...v8.4.76


Configuration

📅 Schedule: (in timezone Europe/Vienna)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

| datasource | package     | from   | to     |
| ---------- | ----------- | ------ | ------ |
| pypi       | ultralytics | 8.4.75 | 8.4.78 |
@jazzlyn-bot
jazzlyn-bot Bot force-pushed the renovate/ultralytics-8.x branch from 6c1df8b to e03a46f Compare June 25, 2026 13:55
@jazzlyn-bot jazzlyn-bot Bot changed the title fix(deps): update dependency ultralytics ( 8.4.75 → 8.4.76 ) fix(deps): update dependency ultralytics ( 8.4.75 → 8.4.78 ) Jun 25, 2026
@jazzlyn-bot
jazzlyn-bot Bot merged commit ddaaf0a into main Jun 26, 2026
1 check passed
@jazzlyn-bot
jazzlyn-bot Bot deleted the renovate/ultralytics-8.x branch June 26, 2026 01:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants