pypi ultralytics 8.4.83
v8.4.83 - New Google LiteRT export replaces legacy TFLite and TF.js (#22870)

4 hours ago

🌟 Summary

πŸš€ Ultralytics v8.4.83 is led by a major export upgrade: the new Google LiteRT format now replaces the older separate TFLite and TF.js export paths, while several reliability and performance fixes make training, segmentation, and deployment more stable.

πŸ“Š Key Changes

  • πŸ”„ New LiteRT export replaces legacy TFLite and TF.js workflows

    • Added a new format="litert" export option.
    • LiteRT becomes the unified path for mobile, edge, embedded, and browser deployment.
    • Legacy tflite and tfjs names still work, but now show deprecation warnings and redirect to LiteRT.
    • Added a dedicated LiteRT backend so exported .tflite models can be loaded for predict and val inside Ultralytics.
  • πŸ“± Broader on-device deployment support

    • LiteRT uses Google’s newer runtime direction for .tflite models.
    • Supports multiple quantization modes, including:
      • standard INT8
      • mixed INT8 + 16-bit activations
      • dynamic INT8 without calibration data
    • This makes exports more flexible for mobile and edge hardware.
  • 🌐 Browser deployment is simplified

    • Instead of needing a separate TF.js export, browser use is now handled through LiteRT.js with the same .tflite model.
    • This reduces duplication and makes web deployment easier to understand.
  • 🧠 Segmentation memory use and speed improved

    • Segmentation mask post-processing was optimized to reduce peak memory use and speed up execution.
    • This helps avoid out-of-memory failures on large images or high-object-count scenes.
  • πŸ›‘οΈ Training checkpoint reliability improved

    • Fixed a long-standing issue where a bad EMA state could prevent any checkpoint from being saved.
    • Training runs are now less likely to fail at the finish line because of temporary numerical issues.
  • ⚑ Mixed-precision attention made safer

    • Attention computations were reordered to reduce FP16 overflow risk.
    • This helps prevent inf/nan problems during AMP or half-precision training.
  • 🧹 Multi-dataset and dataloader memory/file-handle fixes

    • MultiTrainer now avoids retaining large trainer objects unnecessarily.
    • DataLoader reset now properly shuts down old workers, preventing β€œtoo many open files” errors in long runs.
  • 🎯 Classification INT8 calibration improved

    • Classification exports now use a classification-specific dataset pipeline for INT8 calibration rather than detection-style loading.
    • This should produce more correct and robust classification quantized exports.
  • βœ… Better dataset validation

    • Segment tasks now fail early if users accidentally provide box-only labels instead of segmentation labels.
    • This prevents confusing downstream errors later in validation or training.
  • 🌍 YOLO-World distributed training fix

    • Class setup is now applied on all DDP ranks, improving consistency in multi-GPU training.

🎯 Purpose & Impact

  • For mobile, edge, and web developers πŸ“¦
    LiteRT is the biggest change in this release. It simplifies deployment by replacing two older export formats with one modern, unified export flow. That means less confusion, fewer export branches, and a cleaner path from training to deployment.

  • For teams shipping browser apps 🌐
    You no longer need to think of browser support as a separate TF.js pipeline. A single LiteRT .tflite model can now cover both on-device and web use cases more cleanly.

  • For users exporting quantized models βš™οΈ
    The added LiteRT quantization options offer more choices for balancing size, speed, and accuracy, especially on constrained hardware.

  • For training stability πŸ› οΈ
    Several fixes reduce frustrating failures:

    • fewer broken checkpoints
    • fewer FP16 numerical issues
    • fewer leaked workers and file descriptors
    • more reliable multi-dataset training
  • For segmentation users 🎭
    Lower memory usage and faster mask processing can make segmentation inference more practical on larger inputs and reduce OOM crashes.

  • For dataset preparation 🧾
    Earlier validation catches common mistakes sooner, which saves debugging time and prevents invalid runs.

  • Overall impact ✨
    This release is especially valuable for anyone deploying YOLO26 to mobile, embedded, edge, or browser environments, while also improving everyday robustness for training and segmentation workloads.

What's Changed

New Contributors

Full Changelog: v8.4.82...v8.4.83

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.