File tree 1 file changed +12
-3
lines changed
1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -94,9 +94,18 @@ def __init__(
94
94
self ._device = device .upper ()
95
95
self .is_dynamic = dynamic_shapes
96
96
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
+
100
109
self .vae_decoder = OVModelVaeDecoder (vae_decoder , self )
101
110
self .unet = OVModelUnet (unet , self )
102
111
self .text_encoder = OVModelTextEncoder (text_encoder , self ) if text_encoder is not None else None
You can’t perform that action at this time.
0 commit comments