π Summary
Ultralytics 8.4.133 improves hyperparameter tuning convergence, speeds up inference preprocessing, expands detection metrics, and simplifies edge-device setup. π
π Key Changes
-
Smarter hyperparameter tuning β PR #25984 by @glenn-jocher
- Replaces coordinate-by-coordinate crossover with fitness-weighted selection of complete, high-performing configurations.
- Preserves useful relationships between hyperparameters instead of mixing them independently.
- Mutates approximately half of the parameters in normalized search-space coordinates, allowing parameters that start at zeroβsuch as
degreesorshearβto evolve more effectively. - Gradually reduces mutation size when tuning stops finding better results, encouraging refinement after broad exploration.
- Prevents duplicate candidates after clipping, rounding, or integer conversion, including small and discrete search spaces.
- Ray Tune now defaults to Optuna multivariate TPE, with parallel-aware suggestions rather than independent random search.
-
Faster predictor preprocessing β PR #25982 by @jahsef β‘
- Moves image channel reordering and tensor-contiguity operations from CPU-side NumPy processing to the inference device.
- Preserves output values while reducing unnecessary CPU copies.
- Reported benchmarks show approximately 2.2β3.1Γ faster preprocessing on an RTX 5080, with additional gains on CPU.
-
Automatic channels-last CPU inference β PR #25983 by @JESUSROYETH
- Enables channels-last memory layout automatically for native PyTorch inference and standalone validation on supported x86 Linux and Windows CPUs with oneDNN.
- Keeps training defaults and unsupported platforms unchanged.
- Explicit
channels_last=Trueremains available for supported CPU and CUDA paths. - Saved models are converted back to a safe contiguous format and stale EMA data is cleared to improve compatibility.
-
More accurate INT8 calibration subsets β PR #25978 by @JESUSROYETH
- Fixes
fractionhandling during classification and detection INT8 export calibration. - Scalar fractions now apply directly to the selected calibration split, while list-based fractions retain train/validation/test behavior.
- Prevents exports from unintentionally calibrating on an entire dataset when only a subset was requested.
- Fixes
-
Size-specific mAP for custom detection datasets β PR #25981 by @fcakyon π
- Custom detection datasets can now report small-, medium-, and large-object mAP when using
save_json=True. - Builds temporary COCO-format annotations internally while preserving existing native metrics and prediction files.
- Applies consistently during training validation, final-model validation, and standalone validation.
- Custom detection datasets can now report small-, medium-, and large-object mAP when using
-
Simpler edge-device installation
- Raspberry Pi, Jetson, DGX Spark, DeepStream, and related guides now install the base
ultralyticspackage instead of the larger[export]extra. - Export dependencies are installed automatically when an export is requested, reducing installation size and dependency conflicts.
- Raspberry Pi, Jetson, DGX Spark, DeepStream, and related guides now install the base
-
Improved Weights & Biases artifact control β PR #25985 by @glenn-jocher
- W&B model artifact uploads now follow the existing training
saveargument. save=Falseskips uploading the best checkpoint while retaining metrics and plots.- Default behavior remains unchanged with
save=True.
- W&B model artifact uploads now follow the existing training
-
Package update
- Version bumped to 8.4.133.
π― Purpose & Impact
- Better tuning results: Hyperparameter searches are more likely to preserve successful configurations, explore meaningful alternatives, and avoid wasting trials on duplicates. π―
- Faster inference: Device-side preprocessing can reduce latency, particularly for batched inference and CPU-bound pipelines.
- Broader performance optimization: Supported x86 CPU users may benefit from channels-last inference without changing their existing commands.
- More reliable model export: INT8 calibration now honors requested dataset fractions, improving calibration speed and reducing unexpected resource usage.
- Richer evaluation: Custom detection datasets can now receive object-size performance breakdowns similar to COCO evaluations.
- Easier edge deployment: Base installations are smaller and less prone to dependency conflicts, while export workflows remain available when needed.
- More control over experiment storage: W&B users can keep experiment tracking lightweight by disabling checkpoint saving with the standard
savesetting.
What's Changed
- Allow skipping W&B model artifacts by @fcakyon in #25979
- Remove
[export]from edge-device install guides by @Y-T-G in #25977 - Accelerate predictor preprocessing on inference devices by @jahsef in #25982
- Fix INT8 export calibration fractions by @JESUSROYETH in #25978
- Use save argument for W&B model artifacts by @glenn-jocher in #25985
- Compute size-specific mAP for custom detection datasets by @fcakyon in #25981
- Enable channels-last by default for x86 CPU inference by @JESUSROYETH in #25983
- Improve hyperparameter Tuner mutation convergence by @glenn-jocher in #25984
Full Changelog: v8.4.132...v8.4.133