New Release: Ultralytics v8.4.157

:rocket: Ultralytics v8.4.157: Faster TensorRT, Expanded YOLOE-26 Support, and Better Apple Silicon Performance

Ultralytics v8.4.157 delivers up to 20% faster TensorRT FP16 and INT8 inference, expanded prompt-free YOLOE-26 support, major Apple Silicon optimizations, and more reliable training, validation, export, and dataset workflows. :glowing_star:

Explore the Ultralytics v8.4.157 release for the complete release details.

:glowing_star: New Features

:high_voltage: TensorRT inference up to 20% faster

In PR #26223, @Y-T-G introduced several TensorRT optimizations:

  • FP16 conversion is calibrated with a real image instead of random noise.
  • SiLU activations are rewritten into a TensorRT-fusable form.
  • CUDA Graph replay reduces launch overhead for supported static engines.
  • FP16 and INT8 inference can be up to 20% faster, particularly with static-shape engines.

CUDA Graph acceleration is excluded for dynamic engines, DLA execution, and engines with embedded NMS.

:bullseye: Expanded prompt-free YOLOE-26 inference

In PR #26201, @ShuaiLYU added support for checkpoints containing both one-to-many and one-to-one LRPC detection heads.

This update enables:

  • Selection between standard NMS and NMS-free inference through the nms setting.
  • Regeneration of both branches with set_vocab().
  • More flexible custom prompt-free YOLOE-26 workflows.

:red_apple: Performance Improvements

Apple Silicon users receive several CPU and MPS optimizations:

  • PR #26221 by @raimbekovm disables a slow NNPACK convolution path during CPU inference and training.
  • PR #26228 by @raimbekovm replaces costly box-IoU reductions for faster MPS validation.
  • PR #26234 by @raimbekovm accelerates TaskAlignedAssigner on CPU and MPS.
  • PR #26239 by @Y-T-G replaces problematic semantic segmentation operations with MPS-friendly alternatives, addressing slowdowns and buffer-size failures.
  • PR #26233 by @raimbekovm avoids repeated box and keypoint conversions in Results.save_txt(), plotting, and summaries.

Together, these changes improve larger-batch training, validation, segmentation, result export, and visualization performance.

:test_tube: Training and Validation Reliability

  • PR #26224 by @fcakyon prevents early AutoBatch probe failures from being incorrectly treated as memory limits.
  • PR #26226 by @cainiao33 ensures mosaic augmentation closes correctly during short training runs.
  • PR #26225 by @cainiao33 preserves the real checkpoint or configuration error when resume checks fail.
  • PR #26236 by @wizzseen rejects invalid negative patience values during configuration validation.
  • PR #26243 by @cainiao33 floors imgsz at the model stride during image-size validation.

These updates provide earlier validation and clearer failures for invalid or unsupported configurations.

:triangular_ruler: Export, Dataset, and Evaluation Fixes

  • PR #26241 by @cainiao33 keeps the exported image size for fixed-shape models across repeated predict() calls.
  • PR #26244 by @cainiao33 makes TAR extraction return the dataset’s actual top-level directory, matching ZIP behavior.
  • PR #26227 by @cainiao33 refreshes stale semantic mask caches when nc changes to 1, preserving foreground pixels.
  • PR #26240 by @Nicholas022400701 prevents standalone detection validation from crashing on labels with classes unsupported by the model.
  • PR #26246 by @Nicholas022400701 keeps COCO size-specific metrics correctly associated with detection, segmentation, and pose tasks.

:package: Dependency Improvements

In PR #26219, @hylreg corrected Python-version markers and export-extra conflicts, improving uv lock and uv sync dependency resolution.

:raising_hands: New Contributors

A warm welcome to two first-time contributors:

Thank you to every contributor and the wider YOLO community for helping make this release possible! :blue_heart:

:rocket: Try v8.4.157

Upgrade to the latest release:

pip install -U ultralytics

TensorRT, YOLOE-26, and Apple Silicon users are especially encouraged to test this release and share feedback. You can review every change in the v8.4.156 to v8.4.157 full changelog.