diff --git a/frigate/embeddings/functions/onnx.py b/frigate/embeddings/functions/onnx.py index 454fe3faf..c82b60517 100644 --- a/frigate/embeddings/functions/onnx.py +++ b/frigate/embeddings/functions/onnx.py @@ -119,21 +119,27 @@ class GenericONNXEmbedding: ) def _load_tokenizer(self): - tokenizer_path = os.path.join(f"{MODEL_CACHE_DIR}/{self.model_name}/tokenizer") - return AutoTokenizer.from_pretrained( - self.model_name, - cache_dir=tokenizer_path, - trust_remote_code=True, - clean_up_tokenization_spaces=True, - ) + if not self.tokenizer: + tokenizer_path = os.path.join( + f"{MODEL_CACHE_DIR}/{self.model_name}/tokenizer" + ) + self.tokenizer = AutoTokenizer.from_pretrained( + self.model_name, + cache_dir=tokenizer_path, + trust_remote_code=True, + clean_up_tokenization_spaces=True, + ) def _load_feature_extractor(self): - feature_extractor_path = os.path.join( - f"{MODEL_CACHE_DIR}/{self.model_name}/feature_extractor" - ) - return AutoFeatureExtractor.from_pretrained( - self.model_name, trust_remote_code=True, cache_dir=feature_extractor_path - ) + if not self.feature_extractor: + feature_extractor_path = os.path.join( + f"{MODEL_CACHE_DIR}/{self.model_name}/feature_extractor" + ) + self.feature_extractor = AutoFeatureExtractor.from_pretrained( + self.model_name, + trust_remote_code=True, + cache_dir=feature_extractor_path, + ) def _load_model(self, path: str, providers: List[str]): if os.path.exists(path):