Skip to content

Commit b56021e

Browse files
echarlaixPenghuiCheng
authored andcommitted
Add reference to the temporary directory for windows fix (huggingface#581)
1 parent 22bc3d0 commit b56021e

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

optimum/intel/openvino/modeling_diffusion.py

+12-3
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,18 @@ def __init__(
9494
self._device = device.upper()
9595
self.is_dynamic = dynamic_shapes
9696
self.ov_config = ov_config if ov_config is not None else {}
97-
self._model_save_dir = (
98-
Path(model_save_dir.name) if isinstance(model_save_dir, TemporaryDirectory) else model_save_dir
99-
)
97+
98+
# This attribute is needed to keep one reference on the temporary directory, since garbage collecting
99+
# would end-up removing the directory containing the underlying OpenVINO model
100+
self._model_save_dir_tempdirectory_instance = None
101+
if isinstance(model_save_dir, TemporaryDirectory):
102+
self._model_save_dir_tempdirectory_instance = model_save_dir
103+
self._model_save_dir = Path(model_save_dir.name)
104+
elif isinstance(model_save_dir, str):
105+
self._model_save_dir = Path(model_save_dir)
106+
else:
107+
self._model_save_dir = model_save_dir
108+
100109
self.vae_decoder = OVModelVaeDecoder(vae_decoder, self)
101110
self.unet = OVModelUnet(unet, self)
102111
self.text_encoder = OVModelTextEncoder(text_encoder, self) if text_encoder is not None else None

0 commit comments

Comments
 (0)