sinapsis-huggingface 0.2.11__tar.gz → 0.2.12__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.
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/PKG-INFO +1 -1
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface.egg-info/PKG-INFO +1 -1
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_diffusers/src/sinapsis_huggingface_diffusers/templates/base_diffusers.py +40 -8
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_diffusers/src/sinapsis_huggingface_diffusers/templates/image_to_image_diffusers.py +12 -11
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_diffusers/src/sinapsis_huggingface_diffusers/templates/image_to_video_gen_xl_diffusers.py +10 -5
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_diffusers/src/sinapsis_huggingface_diffusers/templates/inpainting_diffusers.py +7 -3
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_diffusers/src/sinapsis_huggingface_diffusers/templates/text_to_image_diffusers.py +1 -1
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_grounding_dino/src/sinapsis_huggingface_grounding_dino/templates/grounding_dino.py +31 -11
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/pyproject.toml +1 -1
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/LICENSE +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/README.md +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface.egg-info/SOURCES.txt +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface.egg-info/dependency_links.txt +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface.egg-info/requires.txt +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface.egg-info/top_level.txt +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_diffusers/src/sinapsis_huggingface_diffusers/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_diffusers/src/sinapsis_huggingface_diffusers/helpers/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_diffusers/src/sinapsis_huggingface_diffusers/helpers/tags.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_diffusers/src/sinapsis_huggingface_diffusers/templates/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_embeddings/src/sinapsis_huggingface_embeddings/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_embeddings/src/sinapsis_huggingface_embeddings/helpers/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_embeddings/src/sinapsis_huggingface_embeddings/helpers/tags.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_embeddings/src/sinapsis_huggingface_embeddings/templates/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_embeddings/src/sinapsis_huggingface_embeddings/templates/hugging_face_embedding_extractor.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_embeddings/src/sinapsis_huggingface_embeddings/templates/speaker_embedding_from_audio.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_grounding_dino/src/sinapsis_huggingface_grounding_dino/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_grounding_dino/src/sinapsis_huggingface_grounding_dino/helpers/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_grounding_dino/src/sinapsis_huggingface_grounding_dino/helpers/grounding_dino_keys.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_grounding_dino/src/sinapsis_huggingface_grounding_dino/helpers/tags.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_grounding_dino/src/sinapsis_huggingface_grounding_dino/templates/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_grounding_dino/src/sinapsis_huggingface_grounding_dino/templates/grounding_dino_classification.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/helpers/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/helpers/tags.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/helpers/text_to_sentences.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/templates/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/templates/base_transformers.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/templates/image_to_text_transformers.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/templates/pali_gemma/pali_gemma_base.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/templates/pali_gemma/pali_gemma_detection.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/templates/pali_gemma/pali_gemma_inference.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/templates/speech_to_text_transformers.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/templates/summarization_transformers.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/templates/text_to_speech_transformers.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/templates/translation_transformers.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/thirdparty/__init__.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/packages/sinapsis_huggingface_transformers/src/sinapsis_huggingface_transformers/thirdparty/helpers.py +0 -0
- {sinapsis_huggingface-0.2.11 → sinapsis_huggingface-0.2.12}/setup.cfg +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
|
|
3
|
+
import gc
|
|
3
4
|
from abc import ABC, abstractmethod
|
|
4
5
|
from typing import Literal
|
|
5
6
|
|
|
@@ -107,7 +108,14 @@ class BaseDiffusers(Template, ABC):
|
|
|
107
108
|
|
|
108
109
|
def __init__(self, attributes: TemplateAttributeType) -> None:
|
|
109
110
|
super().__init__(attributes)
|
|
111
|
+
self.initialize()
|
|
110
112
|
|
|
113
|
+
def initialize(self) -> None:
|
|
114
|
+
"""Initializes the template's common state for creation or reset.
|
|
115
|
+
|
|
116
|
+
This method is called by both `__init__` and `reset_state` to ensure
|
|
117
|
+
a consistent state. Can be overriden by subclasses for specific behaviour.
|
|
118
|
+
"""
|
|
111
119
|
self.pipeline = self._make_pipeline()
|
|
112
120
|
self.pipeline.set_progress_bar_config(disable=True)
|
|
113
121
|
self.num_images_per_prompt = self.attributes.generation_params.num_images_per_prompt
|
|
@@ -155,7 +163,7 @@ class BaseDiffusers(Template, ABC):
|
|
|
155
163
|
pipeline_class = self._pipeline_class()
|
|
156
164
|
return pipeline_class.from_pretrained(
|
|
157
165
|
self.attributes.model_path,
|
|
158
|
-
|
|
166
|
+
dtype=self.TORCH_DTYPE.get(self.attributes.torch_dtype),
|
|
159
167
|
cache_dir=self.attributes.model_cache_dir,
|
|
160
168
|
).to(self.attributes.device)
|
|
161
169
|
|
|
@@ -199,8 +207,10 @@ class BaseDiffusers(Template, ABC):
|
|
|
199
207
|
output_type="np",
|
|
200
208
|
)
|
|
201
209
|
generated_images = output.images if output_attribute == "images" else output.frames[0]
|
|
210
|
+
images_as_uint8 = [(image * 255).clip(0, 255).astype(np.uint8) for image in generated_images]
|
|
211
|
+
del output
|
|
202
212
|
|
|
203
|
-
return
|
|
213
|
+
return images_as_uint8
|
|
204
214
|
|
|
205
215
|
def _update_images_in_container(self, container: DataContainer, new_packets: list[ImagePacket]) -> None:
|
|
206
216
|
"""Updates the container with new image packets based on the `overwrite_images` attribute.
|
|
@@ -218,17 +228,39 @@ class BaseDiffusers(Template, ABC):
|
|
|
218
228
|
else:
|
|
219
229
|
container.images.extend(new_packets)
|
|
220
230
|
|
|
221
|
-
|
|
231
|
+
@staticmethod
|
|
232
|
+
def clear_memory() -> None:
|
|
222
233
|
"""Clears memory to free up resources.
|
|
223
234
|
|
|
224
235
|
This method performs garbage collection and clears GPU memory (if applicable) to prevent memory leaks
|
|
225
236
|
and ensure efficient resource usage.
|
|
226
237
|
"""
|
|
227
|
-
|
|
228
|
-
if
|
|
238
|
+
gc.collect()
|
|
239
|
+
if torch.cuda.is_available():
|
|
229
240
|
torch.cuda.empty_cache()
|
|
230
|
-
torch.cuda.ipc_collect()
|
|
231
241
|
|
|
232
242
|
def reset_state(self, template_name: str | None = None) -> None:
|
|
233
|
-
|
|
234
|
-
|
|
243
|
+
"""Releases the pipeline and processor from memory and re-instantiates the template.
|
|
244
|
+
|
|
245
|
+
Args:
|
|
246
|
+
template_name (str | None, optional): The name of the template instance being reset. Defaults to None.
|
|
247
|
+
"""
|
|
248
|
+
_ = template_name
|
|
249
|
+
|
|
250
|
+
if hasattr(self, "pipeline") and self.pipeline is not None:
|
|
251
|
+
components = self.pipeline.components
|
|
252
|
+
for component in components.values():
|
|
253
|
+
if isinstance(component, torch.nn.Module):
|
|
254
|
+
component.to("cpu")
|
|
255
|
+
|
|
256
|
+
del self.pipeline
|
|
257
|
+
|
|
258
|
+
if hasattr(self, "processor"):
|
|
259
|
+
del self.processor
|
|
260
|
+
|
|
261
|
+
if hasattr(self, "generator"):
|
|
262
|
+
del self.generator
|
|
263
|
+
|
|
264
|
+
self.clear_memory()
|
|
265
|
+
self.initialize()
|
|
266
|
+
self.logger.info(f"Reset template instance `{self.instance_name}`")
|
|
@@ -8,7 +8,6 @@ import numpy as np
|
|
|
8
8
|
from diffusers import AutoPipelineForImage2Image
|
|
9
9
|
from PIL import Image
|
|
10
10
|
from sinapsis_core.data_containers.data_packet import DataContainer, ImagePacket
|
|
11
|
-
from sinapsis_core.template_base.base_models import TemplateAttributeType
|
|
12
11
|
|
|
13
12
|
from sinapsis_huggingface_diffusers.helpers.tags import Tags
|
|
14
13
|
from sinapsis_huggingface_diffusers.templates.base_diffusers import BaseDiffusers
|
|
@@ -52,9 +51,13 @@ class ImageToImageDiffusers(BaseDiffusers):
|
|
|
52
51
|
|
|
53
52
|
UIProperties = ImageToImageDiffusersUIProperties
|
|
54
53
|
|
|
55
|
-
def
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
def initialize(self) -> None:
|
|
55
|
+
"""Initializes the template's common state for creation or reset.
|
|
56
|
+
|
|
57
|
+
This method is called by both `__init__` and `reset_state` to ensure
|
|
58
|
+
a consistent state. Can be overriden by subclasses for specific behaviour.
|
|
59
|
+
"""
|
|
60
|
+
super().initialize()
|
|
58
61
|
self.output_attribute: Literal["images", "frames"] = "images"
|
|
59
62
|
self.num_duplicates = self.num_images_per_prompt
|
|
60
63
|
|
|
@@ -67,7 +70,8 @@ class ImageToImageDiffusers(BaseDiffusers):
|
|
|
67
70
|
"""
|
|
68
71
|
return AutoPipelineForImage2Image
|
|
69
72
|
|
|
70
|
-
|
|
73
|
+
@staticmethod
|
|
74
|
+
def _convert_image_format(image_packet: ImagePacket) -> Image.Image:
|
|
71
75
|
"""Converts the input image into the appropriate format for the pipeline.
|
|
72
76
|
|
|
73
77
|
The format depends on the `requires_pil` attribute:
|
|
@@ -78,12 +82,9 @@ class ImageToImageDiffusers(BaseDiffusers):
|
|
|
78
82
|
image_packet (ImagePacket): The input image packet.
|
|
79
83
|
|
|
80
84
|
Returns:
|
|
81
|
-
|
|
82
|
-
PIL Image.
|
|
85
|
+
Image.Image: The converted image as a PIL Image.
|
|
83
86
|
"""
|
|
84
|
-
|
|
85
|
-
return Image.fromarray(image_packet.content)
|
|
86
|
-
return image_packet.content / 255.0
|
|
87
|
+
return Image.fromarray(image_packet.content)
|
|
87
88
|
|
|
88
89
|
def preprocess_inputs(self, image_packet: ImagePacket) -> dict[str, np.ndarray | list[np.ndarray]]:
|
|
89
90
|
"""Prepares the input image for the image-to-image pipeline.
|
|
@@ -157,6 +158,6 @@ class ImageToImageDiffusers(BaseDiffusers):
|
|
|
157
158
|
new_packets = [ImagePacket(content=image) for image in all_generated_images]
|
|
158
159
|
processed_packets, _ = self.post_processing_packets(new_packets, old_packets)
|
|
159
160
|
self._update_images_in_container(container, processed_packets)
|
|
160
|
-
self.
|
|
161
|
+
self.clear_memory()
|
|
161
162
|
|
|
162
163
|
return container
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
+
from typing import Literal
|
|
3
|
+
|
|
2
4
|
from diffusers import I2VGenXLPipeline
|
|
3
5
|
from pydantic import Field
|
|
4
|
-
from sinapsis_core.template_base.base_models import TemplateAttributeType
|
|
5
6
|
|
|
6
7
|
from sinapsis_huggingface_diffusers.helpers.tags import Tags
|
|
7
8
|
from sinapsis_huggingface_diffusers.templates.base_diffusers import BaseDiffusersAttributes, BaseGenerationParams
|
|
@@ -72,11 +73,15 @@ class ImageToVideoGenXLDiffusers(ImageToImageDiffusers):
|
|
|
72
73
|
AttributesBaseModel = ImageToVideoGenXLDiffusersAttributes
|
|
73
74
|
UIProperties = ImageToVideoGenXLDiffusersUIProperties
|
|
74
75
|
|
|
75
|
-
def
|
|
76
|
-
|
|
76
|
+
def initialize(self) -> None:
|
|
77
|
+
"""Initializes the template's common state for creation or reset.
|
|
78
|
+
|
|
79
|
+
This method is called by both `__init__` and `reset_state` to ensure
|
|
80
|
+
a consistent state. Can be overriden by subclasses for specific behaviour.
|
|
81
|
+
"""
|
|
82
|
+
super().initialize()
|
|
83
|
+
self.output_attribute: Literal["images", "frames"] = "frames"
|
|
77
84
|
self.num_duplicates = self.attributes.generation_params.num_frames
|
|
78
|
-
self.requires_pil = True
|
|
79
|
-
self.output_attribute = "frames"
|
|
80
85
|
|
|
81
86
|
@staticmethod
|
|
82
87
|
def _pipeline_class() -> I2VGenXLPipeline:
|
|
@@ -7,7 +7,6 @@ import cv2
|
|
|
7
7
|
import numpy as np
|
|
8
8
|
from diffusers import AutoPipelineForInpainting
|
|
9
9
|
from sinapsis_core.data_containers.data_packet import ImageAnnotations, ImagePacket
|
|
10
|
-
from sinapsis_core.template_base.base_models import TemplateAttributeType
|
|
11
10
|
|
|
12
11
|
from sinapsis_huggingface_diffusers.helpers.tags import Tags
|
|
13
12
|
from sinapsis_huggingface_diffusers.templates.base_diffusers import (
|
|
@@ -75,8 +74,13 @@ class InpaintingDiffusers(ImageToImageDiffusers):
|
|
|
75
74
|
UIProperties = InpaintingDiffusersUIProperties
|
|
76
75
|
AttributesBaseModel = InpaintingDiffusersAttributes
|
|
77
76
|
|
|
78
|
-
def
|
|
79
|
-
|
|
77
|
+
def initialize(self) -> None:
|
|
78
|
+
"""Initializes the template's common state for creation or reset.
|
|
79
|
+
|
|
80
|
+
This method is called by both `__init__` and `reset_state` to ensure
|
|
81
|
+
a consistent state. Can be overriden by subclasses for specific behaviour.
|
|
82
|
+
"""
|
|
83
|
+
super().initialize()
|
|
80
84
|
if self.attributes.preserve_outside_content and self.attributes.dilation_radius is None:
|
|
81
85
|
raise ValueError("Need to specify a dilation_radius if preserve_outside_content=True")
|
|
82
86
|
|
|
@@ -80,6 +80,6 @@ class TextToImageDiffusers(BaseDiffusers):
|
|
|
80
80
|
image_packets = [ImagePacket(content=image) for image in generated_images]
|
|
81
81
|
self._set_packet_sources(image_packets)
|
|
82
82
|
self._update_images_in_container(container, image_packets)
|
|
83
|
-
self.
|
|
83
|
+
self.clear_memory()
|
|
84
84
|
|
|
85
85
|
return container
|
|
@@ -111,11 +111,18 @@ class GroundingDINO(Template):
|
|
|
111
111
|
attributes (dict[str, Any]): Dictionary containing configuration parameters.
|
|
112
112
|
"""
|
|
113
113
|
super().__init__(attributes)
|
|
114
|
-
self.
|
|
114
|
+
self.initialize()
|
|
115
|
+
|
|
116
|
+
def initialize(self) -> None:
|
|
117
|
+
"""Initializes the template's common state for creation or reset.
|
|
118
|
+
|
|
119
|
+
This method is called by both `__init__` and `reset_state` to ensure
|
|
120
|
+
a consistent state. Can be overriden by subclasses for specific behaviour.
|
|
121
|
+
"""
|
|
115
122
|
self.processor = AutoProcessor.from_pretrained(
|
|
116
123
|
self.attributes.model_path, cache_dir=self.attributes.model_cache_dir
|
|
117
124
|
)
|
|
118
|
-
self.model = self._set_model().to(self.device)
|
|
125
|
+
self.model = self._set_model().to(self.attributes.device)
|
|
119
126
|
self.max_tokens = self.processor.tokenizer.model_max_length
|
|
120
127
|
self.text_input = self.validate_and_format_text_input(self.attributes.text_input)
|
|
121
128
|
|
|
@@ -171,7 +178,7 @@ class GroundingDINO(Template):
|
|
|
171
178
|
images=image_packet.content,
|
|
172
179
|
text=self.text_input,
|
|
173
180
|
return_tensors="pt",
|
|
174
|
-
).to(self.device)
|
|
181
|
+
).to(self.attributes.device)
|
|
175
182
|
|
|
176
183
|
with torch.no_grad():
|
|
177
184
|
outputs = self.model(**inputs)
|
|
@@ -350,19 +357,32 @@ class GroundingDINO(Template):
|
|
|
350
357
|
|
|
351
358
|
return container
|
|
352
359
|
|
|
353
|
-
|
|
360
|
+
@staticmethod
|
|
361
|
+
def clear_memory() -> None:
|
|
354
362
|
"""Clears memory to free up resources.
|
|
355
363
|
|
|
356
364
|
This method performs garbage collection and clears GPU memory (if applicable) to prevent memory leaks
|
|
357
365
|
and ensure efficient resource usage.
|
|
358
366
|
"""
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
gc.collect()
|
|
362
|
-
if self.attributes.device == "cuda":
|
|
367
|
+
gc.collect()
|
|
368
|
+
if torch.cuda.is_available():
|
|
363
369
|
torch.cuda.empty_cache()
|
|
364
|
-
torch.cuda.ipc_collect()
|
|
365
370
|
|
|
366
371
|
def reset_state(self, template_name: str | None = None) -> None:
|
|
367
|
-
|
|
368
|
-
|
|
372
|
+
"""Releases the pipeline and processor from memory and re-instantiates the template.
|
|
373
|
+
|
|
374
|
+
Args:
|
|
375
|
+
template_name (str | None, optional): The name of the template instance being reset. Defaults to None.
|
|
376
|
+
"""
|
|
377
|
+
_ = template_name
|
|
378
|
+
|
|
379
|
+
if hasattr(self, "model") and self.model is not None:
|
|
380
|
+
self.model.to("cpu")
|
|
381
|
+
del self.model
|
|
382
|
+
|
|
383
|
+
if hasattr(self, "processor"):
|
|
384
|
+
del self.processor
|
|
385
|
+
|
|
386
|
+
self.clear_memory()
|
|
387
|
+
self.initialize()
|
|
388
|
+
self.logger.info(f"Reset template instance `{self.instance_name}`")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|