From 13e90f7f49bdcf421125cf6737784bc2c71f3108 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Fri, 13 Jun 2025 18:22:13 -0600 Subject: [PATCH] Reduce tf initialization --- frigate/util/classification.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/frigate/util/classification.py b/frigate/util/classification.py index c6e2b5878..2f5cc89f2 100644 --- a/frigate/util/classification.py +++ b/frigate/util/classification.py @@ -5,10 +5,6 @@ import sys import cv2 import numpy as np -import tensorflow as tf -from tensorflow.keras import layers, models, optimizers -from tensorflow.keras.applications import MobileNetV2 -from tensorflow.keras.preprocessing.image import ImageDataGenerator from frigate.comms.embeddings_updater import EmbeddingsRequestEnum, EmbeddingsRequestor from frigate.comms.inter_process import InterProcessRequestor @@ -44,6 +40,13 @@ def __generate_representative_dataset_factory(dataset_dir: str): @staticmethod def __train_classification_model(model_name: str) -> bool: """Train a classification model.""" + + # import in the function so that tensorflow is not initialized multiple times + import tensorflow as tf + from tensorflow.keras import layers, models, optimizers + from tensorflow.keras.applications import MobileNetV2 + from tensorflow.keras.preprocessing.image import ImageDataGenerator + dataset_dir = os.path.join(CLIPS_DIR, model_name, "dataset") model_dir = os.path.join(MODEL_CACHE_DIR, model_name) num_classes = len(