From f2f4f0bad8298f1d73112e3aca94de11bddd4e30 Mon Sep 17 00:00:00 2001 From: Samet Akcay Date: Wed, 3 Apr 2024 12:46:19 +0100 Subject: [PATCH 1/3] Address dimension issue caused by different kornia versions Signed-off-by: Samet Akcay --- src/anomalib/models/components/filters/blur.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/anomalib/models/components/filters/blur.py b/src/anomalib/models/components/filters/blur.py index c50f77cee4..14eb09c05b 100644 --- a/src/anomalib/models/components/filters/blur.py +++ b/src/anomalib/models/components/filters/blur.py @@ -64,7 +64,16 @@ def __init__( self.register_buffer("kernel", get_gaussian_kernel2d(kernel_size=kernel_size, sigma=sigma)) if normalize: self.kernel = normalize_kernel2d(self.kernel) - self.kernel.unsqueeze_(0).unsqueeze_(0) + + # Check if the kernel is 2d or 3d and expand it to the number of channels. + if self.kernel.ndim == 2: # For kornia versions < 0.7.0 + self.kernel.unsqueeze_(0).unsqueeze_(0) + elif self.kernel.ndim == 3: # For kornia versions >= 0.7.0 + self.kernel.unsqueeze_(0) + else: + msg = "Kernel should be either 2d or 3d." + raise ValueError(msg) + self.kernel = self.kernel.expand(self.channels, -1, -1, -1) self.border_type = border_type self.padding = padding From 872cc9df545f3dcb7e1125f80c75a17b90304355 Mon Sep 17 00:00:00 2001 From: Samet Akcay Date: Wed, 3 Apr 2024 12:46:41 +0100 Subject: [PATCH 2/3] Unbound the kornia version in pyproject.toml file Signed-off-by: Samet Akcay --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 09da79c894..cad6eecb8f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ core = [ "einops>=0.3.2", "freia>=0.2", "imgaug==0.4.0", - "kornia>=0.6.6,<0.6.10", + "kornia>=0.6.6", "matplotlib>=3.4.3", "opencv-python>=4.5.3.56", "pandas>=1.1.0", From dc201e9bd26eef728927b74e163bf58d32225ab2 Mon Sep 17 00:00:00 2001 From: Samet Akcay Date: Wed, 3 Apr 2024 13:40:07 +0100 Subject: [PATCH 3/3] Update src/anomalib/models/components/filters/blur.py Co-authored-by: Dick Ameln --- src/anomalib/models/components/filters/blur.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/anomalib/models/components/filters/blur.py b/src/anomalib/models/components/filters/blur.py index 14eb09c05b..986214707d 100644 --- a/src/anomalib/models/components/filters/blur.py +++ b/src/anomalib/models/components/filters/blur.py @@ -65,14 +65,7 @@ def __init__( if normalize: self.kernel = normalize_kernel2d(self.kernel) - # Check if the kernel is 2d or 3d and expand it to the number of channels. - if self.kernel.ndim == 2: # For kornia versions < 0.7.0 - self.kernel.unsqueeze_(0).unsqueeze_(0) - elif self.kernel.ndim == 3: # For kornia versions >= 0.7.0 - self.kernel.unsqueeze_(0) - else: - msg = "Kernel should be either 2d or 3d." - raise ValueError(msg) + self.kernel = self.kernel.view(1, 1, *self.kernel.shape[-2:]) self.kernel = self.kernel.expand(self.channels, -1, -1, -1) self.border_type = border_type