From 79e35f81b803848aced88be2619696f51e606dad Mon Sep 17 00:00:00 2001 From: Theelx <43764914+Theelx@users.noreply.github.com> Date: Mon, 22 Jul 2024 10:40:54 -0400 Subject: [PATCH 1/7] Fix albu versions >= 1.4.11 (#11770) This commit introduces very basic version parsing for albumentations in order to know whether the strict parameter for albu.Compose is supported, and passes strict=False if it is. If it isn't supported, fall back to not passing the strict parameter, which only works on albu <= 1.4.6. --- mmdet/datasets/transforms/transforms.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mmdet/datasets/transforms/transforms.py b/mmdet/datasets/transforms/transforms.py index c50b987db33..e7e6be1a704 100644 --- a/mmdet/datasets/transforms/transforms.py +++ b/mmdet/datasets/transforms/transforms.py @@ -32,9 +32,13 @@ try: import albumentations from albumentations import Compose + # This assumes albumentations' versions are just ints separated by + # periods, e.g. 1.4.11, allowing us to avoid a new dependency. + ALBU_VERSION = list(map(int, albumentations.__version__.split(".")))[:3] except ImportError: albumentations = None Compose = None + ALBU_VERSION = None Number = Union[int, float] @@ -1627,8 +1631,11 @@ def __init__(self, self.bbox_params = ( self.albu_builder(bbox_params) if bbox_params else None) - self.aug = Compose([self.albu_builder(t) for t in self.transforms], - bbox_params=self.bbox_params) + if ALBU_VERSION is not None and ALBU_VERSION >= (1, 4, 11): + self.aug = Compose([self.albu_builder(t) for t in self.transforms], + bbox_params=self.bbox_params, strict=False) + else: + self.aug = Compose([self.albu_builder(t) for t in self.transforms]) if not keymap: self.keymap_to_albu = { From 9a41cadfa2f1ea1fb6822802ad36fce3e287b7fd Mon Sep 17 00:00:00 2001 From: Theelx <43764914+Theelx@users.noreply.github.com> Date: Mon, 22 Jul 2024 10:43:33 -0400 Subject: [PATCH 2/7] Pass bbox_params regardless of ALBU_VERSION --- mmdet/datasets/transforms/transforms.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mmdet/datasets/transforms/transforms.py b/mmdet/datasets/transforms/transforms.py index e7e6be1a704..925bf439c6f 100644 --- a/mmdet/datasets/transforms/transforms.py +++ b/mmdet/datasets/transforms/transforms.py @@ -1635,7 +1635,8 @@ def __init__(self, self.aug = Compose([self.albu_builder(t) for t in self.transforms], bbox_params=self.bbox_params, strict=False) else: - self.aug = Compose([self.albu_builder(t) for t in self.transforms]) + self.aug = Compose([self.albu_builder(t) for t in self.transforms], + bbox_params=self.bbox_params) if not keymap: self.keymap_to_albu = { From d3ed6b2286959de2d60932bac92990d810e65301 Mon Sep 17 00:00:00 2001 From: Theelx <43764914+Theelx@users.noreply.github.com> Date: Mon, 22 Jul 2024 11:07:08 -0400 Subject: [PATCH 3/7] Fix linting run Change double quotes to single quotes. --- mmdet/datasets/transforms/transforms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mmdet/datasets/transforms/transforms.py b/mmdet/datasets/transforms/transforms.py index 925bf439c6f..bda9128ab97 100644 --- a/mmdet/datasets/transforms/transforms.py +++ b/mmdet/datasets/transforms/transforms.py @@ -34,7 +34,7 @@ from albumentations import Compose # This assumes albumentations' versions are just ints separated by # periods, e.g. 1.4.11, allowing us to avoid a new dependency. - ALBU_VERSION = list(map(int, albumentations.__version__.split(".")))[:3] + ALBU_VERSION = list(map(int, albumentations.__version__.split('.')))[:3] except ImportError: albumentations = None Compose = None From 0afb7f78a103c5b7b859acc33b686e5ec060e77a Mon Sep 17 00:00:00 2001 From: Theelx <43764914+Theelx@users.noreply.github.com> Date: Mon, 22 Jul 2024 11:16:53 -0400 Subject: [PATCH 4/7] Fix isort run --- mmdet/datasets/transforms/transforms.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mmdet/datasets/transforms/transforms.py b/mmdet/datasets/transforms/transforms.py index bda9128ab97..f0966f2ccd1 100644 --- a/mmdet/datasets/transforms/transforms.py +++ b/mmdet/datasets/transforms/transforms.py @@ -32,6 +32,7 @@ try: import albumentations from albumentations import Compose + # This assumes albumentations' versions are just ints separated by # periods, e.g. 1.4.11, allowing us to avoid a new dependency. ALBU_VERSION = list(map(int, albumentations.__version__.split('.')))[:3] From d716d0fcd525f1d75cf84db6b4fd3976ca9805c8 Mon Sep 17 00:00:00 2001 From: Theelx <43764914+Theelx@users.noreply.github.com> Date: Mon, 22 Jul 2024 11:31:18 -0400 Subject: [PATCH 5/7] Run pre-commit hooks --- mmdet/datasets/transforms/transforms.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mmdet/datasets/transforms/transforms.py b/mmdet/datasets/transforms/transforms.py index f0966f2ccd1..4e81e33c610 100644 --- a/mmdet/datasets/transforms/transforms.py +++ b/mmdet/datasets/transforms/transforms.py @@ -1634,7 +1634,8 @@ def __init__(self, self.albu_builder(bbox_params) if bbox_params else None) if ALBU_VERSION is not None and ALBU_VERSION >= (1, 4, 11): self.aug = Compose([self.albu_builder(t) for t in self.transforms], - bbox_params=self.bbox_params, strict=False) + bbox_params=self.bbox_params, + strict=False) else: self.aug = Compose([self.albu_builder(t) for t in self.transforms], bbox_params=self.bbox_params) From 0c0a640d5b4436fbf6028cafd7d233e74d4827ab Mon Sep 17 00:00:00 2001 From: Theelx <43764914+Theelx@users.noreply.github.com> Date: Mon, 22 Jul 2024 11:55:41 -0400 Subject: [PATCH 6/7] Fix list >= tuple comparison --- mmdet/datasets/transforms/transforms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mmdet/datasets/transforms/transforms.py b/mmdet/datasets/transforms/transforms.py index 4e81e33c610..f9b444fe4f9 100644 --- a/mmdet/datasets/transforms/transforms.py +++ b/mmdet/datasets/transforms/transforms.py @@ -35,7 +35,7 @@ # This assumes albumentations' versions are just ints separated by # periods, e.g. 1.4.11, allowing us to avoid a new dependency. - ALBU_VERSION = list(map(int, albumentations.__version__.split('.')))[:3] + ALBU_VERSION = tuple(map(int, albumentations.__version__.split('.')))[:3] except ImportError: albumentations = None Compose = None From bec159e527b5de627f257eccd47b1bd1bc2ca1ef Mon Sep 17 00:00:00 2001 From: Theelx <43764914+Theelx@users.noreply.github.com> Date: Mon, 22 Jul 2024 11:56:20 -0400 Subject: [PATCH 7/7] Fix list >= tuple comparison v2 --- mmdet/datasets/transforms/transforms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mmdet/datasets/transforms/transforms.py b/mmdet/datasets/transforms/transforms.py index f9b444fe4f9..7abcf5ec9cd 100644 --- a/mmdet/datasets/transforms/transforms.py +++ b/mmdet/datasets/transforms/transforms.py @@ -35,7 +35,7 @@ # This assumes albumentations' versions are just ints separated by # periods, e.g. 1.4.11, allowing us to avoid a new dependency. - ALBU_VERSION = tuple(map(int, albumentations.__version__.split('.')))[:3] + ALBU_VERSION = tuple(map(int, albumentations.__version__.split('.'))) except ImportError: albumentations = None Compose = None