sinapsis-anomalib 0.1.4__tar.gz → 0.1.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of sinapsis-anomalib might be problematic. Click here for more details.

Files changed (21) hide show
  1. {sinapsis_anomalib-0.1.4/src/sinapsis_anomalib.egg-info → sinapsis_anomalib-0.1.6}/PKG-INFO +1 -1
  2. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/pyproject.toml +1 -1
  3. sinapsis_anomalib-0.1.6/src/sinapsis_anomalib/helpers/tags.py +16 -0
  4. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib/templates/anomalib_base.py +12 -1
  5. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib/templates/anomalib_base_inference.py +7 -1
  6. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib/templates/anomalib_export.py +6 -1
  7. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib/templates/anomalib_openvino_inference.py +5 -0
  8. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib/templates/anomalib_torch_inference.py +5 -0
  9. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib/templates/anomalib_train.py +5 -0
  10. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6/src/sinapsis_anomalib.egg-info}/PKG-INFO +1 -1
  11. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib.egg-info/SOURCES.txt +1 -0
  12. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/LICENSE +0 -0
  13. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/README.md +0 -0
  14. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/setup.cfg +0 -0
  15. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib/__init__.py +0 -0
  16. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib/helpers/__init__.py +0 -0
  17. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib/helpers/config_factory.py +0 -0
  18. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib/templates/__init__.py +0 -0
  19. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib.egg-info/dependency_links.txt +0 -0
  20. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib.egg-info/requires.txt +0 -0
  21. {sinapsis_anomalib-0.1.4 → sinapsis_anomalib-0.1.6}/src/sinapsis_anomalib.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sinapsis-anomalib
3
- Version: 0.1.4
3
+ Version: 0.1.6
4
4
  Summary: Templates for anomaly detection with computer vision using anomalib library.
5
5
  Author-email: SinapsisAI <dev@sinapsis.tech>
6
6
  Project-URL: Homepage, https://sinapsis.tech
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sinapsis-anomalib"
3
- version = "0.1.4"
3
+ version = "0.1.6"
4
4
  description = "Templates for anomaly detection with computer vision using anomalib library."
5
5
  authors = [
6
6
  {name = "SinapsisAI", email = "dev@sinapsis.tech"},
@@ -0,0 +1,16 @@
1
+ # -*- coding: utf-8 -*-
2
+ from enum import Enum
3
+
4
+
5
+ class Tags(Enum):
6
+ """Tags."""
7
+
8
+ ANOMALIB = "anomalib"
9
+ ANOMALY_DETECTION = "anomaly_detection"
10
+ DYNAMIC = "dynamic"
11
+ EXPORT = "export"
12
+ INFERENCE = "inference"
13
+ MODELS = "models"
14
+ OPENVINO = "openvino"
15
+ PYTORCH = "pytorch"
16
+ TRAINING = "training"
@@ -4,6 +4,7 @@ from collections.abc import Iterable, Sequence
4
4
  from pathlib import Path
5
5
  from typing import Any, Protocol, TypeAlias
6
6
 
7
+ import torch
7
8
  from anomalib import models as anomalib_models
8
9
  from anomalib.data import Folder
9
10
  from anomalib.engine import Engine
@@ -22,6 +23,7 @@ from sinapsis_core.template_base.base_models import (
22
23
  from sinapsis_core.template_base.dynamic_template import BaseDynamicWrapperTemplate, WrapperEntryConfig
23
24
 
24
25
  from sinapsis_anomalib.helpers.config_factory import CallbackFactory, LoggerFactory
26
+ from sinapsis_anomalib.helpers.tags import Tags
25
27
 
26
28
  EXCLUDED_MODELS = [
27
29
  "EfficientAd",
@@ -154,7 +156,11 @@ class AnomalibBase(BaseDynamicWrapperTemplate):
154
156
 
155
157
  SUFFIX: str = "Wrapper"
156
158
  AttributesBaseModel = AnomalibBaseAttributes
157
- UIProperties = UIPropertiesMetadata(category="Anomalib", output_type=OutputTypes.IMAGE)
159
+ UIProperties = UIPropertiesMetadata(
160
+ category="Anomalib",
161
+ output_type=OutputTypes.IMAGE,
162
+ tags=[Tags.ANOMALIB, Tags.ANOMALY_DETECTION, Tags.DYNAMIC, Tags.MODELS],
163
+ )
158
164
  WrapperEntry = DynamicWrapperEntry()
159
165
 
160
166
  def __init__(self, attributes: TemplateAttributeType) -> None:
@@ -215,3 +221,8 @@ class AnomalibBase(BaseDynamicWrapperTemplate):
215
221
  Returns:
216
222
  DataContainer: Processed data container
217
223
  """
224
+
225
+ def reset_state(self, template_name: str | None = None) -> None:
226
+ if torch.cuda.is_available():
227
+ torch.cuda.empty_cache()
228
+ super().reset_state(template_name)
@@ -23,6 +23,8 @@ from sinapsis_core.template_base.base_models import (
23
23
  UIPropertiesMetadata,
24
24
  )
25
25
 
26
+ from sinapsis_anomalib.helpers.tags import Tags
27
+
26
28
 
27
29
  @dataclass(frozen=True)
28
30
  class AnomalibInferenceKeys:
@@ -63,7 +65,11 @@ class AnomalibBaseInference(Template):
63
65
  """
64
66
 
65
67
  AttributesBaseModel = AnomalibInferenceAttributes
66
- UiProperties = UIPropertiesMetadata(category="Anomalib", output_type=OutputTypes.IMAGE)
68
+ UIProperties = UIPropertiesMetadata(
69
+ category="Anomalib",
70
+ output_type=OutputTypes.IMAGE,
71
+ tags=[Tags.ANOMALIB, Tags.ANOMALY_DETECTION, Tags.INFERENCE, Tags.MODELS],
72
+ )
67
73
 
68
74
  def __init__(self, attributes: TemplateAttributeType) -> None:
69
75
  super().__init__(attributes)
@@ -11,12 +11,16 @@ from sinapsis_core.template_base.dynamic_template_factory import make_dynamic_te
11
11
  from sinapsis_core.utils.env_var_keys import SINAPSIS_BUILD_DOCS
12
12
  from torchmetrics import Metric
13
13
 
14
+ from sinapsis_anomalib.helpers.tags import Tags
14
15
  from sinapsis_anomalib.templates.anomalib_base import (
15
16
  AnomalibBase,
16
17
  AnomalibBaseAttributes,
17
18
  )
18
19
  from sinapsis_anomalib.templates.anomalib_train import AnomalibTrainDataClass
19
20
 
21
+ AnomalibExportUIProperties = AnomalibBase.UIProperties
22
+ AnomalibExportUIProperties.tags.extend([Tags.EXPORT])
23
+
20
24
 
21
25
  @dataclass(frozen=True, slots=True)
22
26
  class AnomalibExportDataClass:
@@ -110,6 +114,7 @@ class AnomalibExport(AnomalibBase):
110
114
 
111
115
  AttributesBaseModel = AnomalibExportAttributes
112
116
  SUFFIX = "Export"
117
+ UIProperties = AnomalibExportUIProperties
113
118
 
114
119
  def __init__(self, attributes: TemplateAttributeType) -> None:
115
120
  super().__init__(attributes)
@@ -169,7 +174,7 @@ class AnomalibExport(AnomalibBase):
169
174
  ckpt_path=ckpt_path,
170
175
  )
171
176
 
172
- return AnomalibExportDataClass(exported_model_path=exported_path)
177
+ return AnomalibExportDataClass(exported_model_path=str(exported_path))
173
178
 
174
179
  def execute(self, container: DataContainer) -> DataContainer:
175
180
  """Performs model export and stores results.
@@ -7,11 +7,15 @@ import numpy as np
7
7
  import torchvision.transforms.v2 as T
8
8
  from anomalib.deploy import OpenVINOInferencer
9
9
 
10
+ from sinapsis_anomalib.helpers.tags import Tags
10
11
  from sinapsis_anomalib.templates.anomalib_base_inference import (
11
12
  AnomalibBaseInference,
12
13
  AnomalibInferenceAttributes,
13
14
  )
14
15
 
16
+ AnomalibOpenVINOInferenceUIProperties = AnomalibBaseInference.UIProperties
17
+ AnomalibOpenVINOInferenceUIProperties.tags.extend([Tags.OPENVINO])
18
+
15
19
 
16
20
  class AnomalibOpenVINOInferenceAttributes(AnomalibInferenceAttributes):
17
21
  """OpenVINO-specific inference attribute configuration.
@@ -53,6 +57,7 @@ class AnomalibOpenVINOInference(AnomalibBaseInference):
53
57
  """
54
58
 
55
59
  AttributesBaseModel = AnomalibOpenVINOInferenceAttributes
60
+ UIProperties = AnomalibOpenVINOInferenceUIProperties
56
61
 
57
62
  def get_inferencer(self) -> OpenVINOInferencer:
58
63
  """Initialize OpenVINO inferencer with model and metadata.
@@ -7,11 +7,15 @@ import torch
7
7
  import torchvision.transforms.v2 as T
8
8
  from anomalib.deploy import TorchInferencer
9
9
 
10
+ from sinapsis_anomalib.helpers.tags import Tags
10
11
  from sinapsis_anomalib.templates.anomalib_base_inference import (
11
12
  AnomalibBaseInference,
12
13
  AnomalibInferenceAttributes,
13
14
  )
14
15
 
16
+ AnomalibTorchInferenceUIProperties = AnomalibBaseInference.UIProperties
17
+ AnomalibTorchInferenceUIProperties.tags.extend([Tags.PYTORCH])
18
+
15
19
 
16
20
  class AnomalibTorchInferenceAttributes(AnomalibInferenceAttributes):
17
21
  """PyTorch-specific inference attribute configuration.
@@ -46,6 +50,7 @@ class AnomalibTorchInference(AnomalibBaseInference):
46
50
  """
47
51
 
48
52
  AttributesBaseModel = AnomalibTorchInferenceAttributes
53
+ UIProperties = AnomalibTorchInferenceUIProperties
49
54
 
50
55
  def get_inferencer(self) -> TorchInferencer:
51
56
  """Get PyTorch Inferencer instance.
@@ -11,11 +11,15 @@ from sinapsis_core.template_base.base_models import TemplateAttributeType
11
11
  from sinapsis_core.template_base.dynamic_template_factory import make_dynamic_template
12
12
  from sinapsis_core.utils.env_var_keys import SINAPSIS_BUILD_DOCS
13
13
 
14
+ from sinapsis_anomalib.helpers.tags import Tags
14
15
  from sinapsis_anomalib.templates.anomalib_base import (
15
16
  AnomalibBase,
16
17
  AnomalibBaseAttributes,
17
18
  )
18
19
 
20
+ AnomalibTrainUIProperties = AnomalibBase.UIProperties
21
+ AnomalibTrainUIProperties.tags.extend([Tags.TRAINING])
22
+
19
23
 
20
24
  @dataclass(frozen=True)
21
25
  class AnomalibTrainKeys:
@@ -116,6 +120,7 @@ class AnomalibTrain(AnomalibBase):
116
120
 
117
121
  SUFFIX = "Train"
118
122
  AttributesBaseModel = AnomalibTrainAttributes
123
+ UIProperties = AnomalibTrainUIProperties
119
124
 
120
125
  def __init__(self, attributes: TemplateAttributeType) -> None:
121
126
  super().__init__(attributes)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sinapsis-anomalib
3
- Version: 0.1.4
3
+ Version: 0.1.6
4
4
  Summary: Templates for anomaly detection with computer vision using anomalib library.
5
5
  Author-email: SinapsisAI <dev@sinapsis.tech>
6
6
  Project-URL: Homepage, https://sinapsis.tech
@@ -9,6 +9,7 @@ src/sinapsis_anomalib.egg-info/requires.txt
9
9
  src/sinapsis_anomalib.egg-info/top_level.txt
10
10
  src/sinapsis_anomalib/helpers/__init__.py
11
11
  src/sinapsis_anomalib/helpers/config_factory.py
12
+ src/sinapsis_anomalib/helpers/tags.py
12
13
  src/sinapsis_anomalib/templates/__init__.py
13
14
  src/sinapsis_anomalib/templates/anomalib_base.py
14
15
  src/sinapsis_anomalib/templates/anomalib_base_inference.py