From d9292fb7f10a2ee0265af28fad5d56b8ab79eece Mon Sep 17 00:00:00 2001 From: Mohammed Yasin <32206511+Y-T-G@users.noreply.github.com> Date: Thu, 16 Jan 2025 18:18:19 +0800 Subject: [PATCH] `ultralytics 8.3.62` Fix non-deterministic transforms with `albumentations>=1.4.21` (#18701) Signed-off-by: Mohammed Yasin <32206511+Y-T-G@users.noreply.github.com> Signed-off-by: Glenn Jocher Co-authored-by: Glenn Jocher --- ultralytics/__init__.py | 2 +- ultralytics/data/augment.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ultralytics/__init__.py b/ultralytics/__init__.py index 1794888d..d1930b9c 100644 --- a/ultralytics/__init__.py +++ b/ultralytics/__init__.py @@ -1,6 +1,6 @@ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license -__version__ = "8.3.61" +__version__ = "8.3.62" import os diff --git a/ultralytics/data/augment.py b/ultralytics/data/augment.py index 72152693..85b90148 100644 --- a/ultralytics/data/augment.py +++ b/ultralytics/data/augment.py @@ -1860,6 +1860,9 @@ class Albumentations: if self.contains_spatial else A.Compose(T) ) + if hasattr(self.transform, "set_random_seed"): + # Required for deterministic transforms in albumentations>=1.4.21 + self.transform.set_random_seed(torch.initial_seed()) LOGGER.info(prefix + ", ".join(f"{x}".replace("always_apply=False, ", "") for x in T if x.p)) except ImportError: # package not installed, skip pass