🌟 Summary
Ultralytics v8.4.169 improves dataset reliability, preserves more COCO annotations, and fixes Edge TPU export setup when Google’s old package repository is unavailable.
📊 Key Changes
- Unique disk-cache files: Cache filenames now keep the original image extension, so files like
sample.jpgandsample.pngno longer share a cache file. This prevents one image’s pixels from being mistakenly used for another, in both detection-family and classification datasets. - COCO conversion preserves distinct annotations: Segmentation polygons and pose keypoints are no longer discarded just because they share a class and bounding box. Exact duplicate output annotations are still removed, and detection continues to deduplicate boxes.
- More reliable Edge TPU export: If the Edge TPU compiler is missing, it is downloaded from an Ultralytics asset instead of Google’s retired apt repository. This avoids apt and sudo requirements; an installed compiler on
PATHis still used when available. The bundled compiler supports Linux x86_64. - Clearer export guidance: Documentation now explains that NCNN, Ultralytics’ MNN backend, and some OpenVINO CPU configurations can run FP32 exports with reduced precision. It also updates guidance on quantization, multi-input exports, and ExecuTorch setup.
🎯 Purpose & Impact
- 🗂️ More trustworthy training data: Disk caching no longer risks silently mixing image contents, including when datasets are loaded in separate subsets.
- 🧩 Fewer lost training labels: COCO segmentation and pose datasets retain distinct annotations needed to train on different shapes or keypoints within the same box.
- 🚀 Fewer export setup failures: Edge TPU exports can install the compiler without relying on Google’s inaccessible apt repository, including in rootless environments.
- 📖 Easier export troubleshooting: Updated documentation helps users understand expected numerical differences between runtimes and choose the correct export options.
What's Changed
- Install the Edge TPU compiler without Google's retired apt repo by @glenn-jocher in #26456
- Name every reduced-precision runtime in the non-YOLO export parity guidance by @raimbekovm in #26455
- Preserve distinct COCO polygons and keypoints sharing a box by @Vaishnavi220506 in #26454
- Avoid disk cache collisions for same-stem images by @aswanth-07 in #26457
Full Changelog: v8.4.168...v8.4.169