diff --git a/frigate/app.py b/frigate/app.py index e3f2f9d7f..1aecce2c3 100644 --- a/frigate/app.py +++ b/frigate/app.py @@ -39,6 +39,7 @@ from frigate.const import ( RECORD_DIR, SHM_FRAMES_VAR, ) +from frigate.data_processing.types import DataProcessorMetrics from frigate.db.sqlitevecq import SqliteVecQueueDatabase from frigate.embeddings import EmbeddingsContext, manage_embeddings from frigate.events.audio import AudioProcessor @@ -59,7 +60,6 @@ from frigate.models import ( from frigate.object_detection import ObjectDetectProcess from frigate.object_processing import TrackedObjectProcessor from frigate.output.output import output_frames -from frigate.postprocessing.types import PostProcessingMetrics from frigate.ptz.autotrack import PtzAutoTrackerThread from frigate.ptz.onvif import OnvifController from frigate.record.cleanup import RecordingCleanup @@ -90,8 +90,8 @@ class FrigateApp: self.detection_shms: list[mp.shared_memory.SharedMemory] = [] self.log_queue: Queue = mp.Queue() self.camera_metrics: dict[str, CameraMetrics] = {} - self.embeddings_metrics: PostProcessingMetrics | None = ( - PostProcessingMetrics() if config.semantic_search.enabled else None + self.embeddings_metrics: DataProcessorMetrics | None = ( + DataProcessorMetrics() if config.semantic_search.enabled else None ) self.ptz_metrics: dict[str, PTZMetrics] = {} self.processes: dict[str, int] = {} diff --git a/frigate/data_processors/post/api.py b/frigate/data_processing/post/api.py similarity index 98% rename from frigate/data_processors/post/api.py rename to frigate/data_processing/post/api.py index e90b016e5..5c88221c2 100644 --- a/frigate/data_processors/post/api.py +++ b/frigate/data_processing/post/api.py @@ -3,8 +3,6 @@ import logging from abc import ABC, abstractmethod -import numpy as np - from frigate.config import FrigateConfig from ..types import DataProcessorMetrics, PostProcessDataEnum diff --git a/frigate/data_processors/real_time/api.py b/frigate/data_processing/real_time/api.py similarity index 100% rename from frigate/data_processors/real_time/api.py rename to frigate/data_processing/real_time/api.py diff --git a/frigate/data_processors/real_time/face_processor.py b/frigate/data_processing/real_time/face_processor.py similarity index 100% rename from frigate/data_processors/real_time/face_processor.py rename to frigate/data_processing/real_time/face_processor.py diff --git a/frigate/data_processors/types.py b/frigate/data_processing/types.py similarity index 100% rename from frigate/data_processors/types.py rename to frigate/data_processing/types.py diff --git a/frigate/embeddings/maintainer.py b/frigate/embeddings/maintainer.py index 5eb06358d..a7e25469b 100644 --- a/frigate/embeddings/maintainer.py +++ b/frigate/embeddings/maintainer.py @@ -29,17 +29,17 @@ from frigate.const import ( FRIGATE_LOCALHOST, UPDATE_EVENT_DESCRIPTION, ) +from frigate.data_processing.real_time.api import RealTimeProcessorApi +from frigate.data_processing.real_time.face_processor import FaceProcessor +from frigate.data_processing.types import DataProcessorMetrics from frigate.embeddings.lpr.lpr import LicensePlateRecognition from frigate.events.types import EventTypeEnum from frigate.genai import get_genai_client from frigate.models import Event -from frigate.postprocessing.face_processor import FaceProcessor -from frigate.postprocessing.processor_api import ProcessorApi from frigate.types import TrackedObjectUpdateTypesEnum from frigate.util.builtin import serialize from frigate.util.image import SharedMemoryFrameManager, area, calculate_region -from ..postprocessing.types import PostProcessingMetrics from .embeddings import Embeddings logger = logging.getLogger(__name__) @@ -54,7 +54,7 @@ class EmbeddingMaintainer(threading.Thread): self, db: SqliteQueueDatabase, config: FrigateConfig, - metrics: PostProcessingMetrics, + metrics: DataProcessorMetrics, stop_event: MpEvent, ) -> None: super().__init__(name="embeddings_maintainer") @@ -73,7 +73,7 @@ class EmbeddingMaintainer(threading.Thread): ) self.embeddings_responder = EmbeddingsResponder() self.frame_manager = SharedMemoryFrameManager() - self.processors: list[ProcessorApi] = [] + self.processors: list[RealTimeProcessorApi] = [] if self.config.face_recognition.enabled: self.processors.append(FaceProcessor(self.config, metrics)) diff --git a/frigate/stats/util.py b/frigate/stats/util.py index ec1bc0683..262cec3d2 100644 --- a/frigate/stats/util.py +++ b/frigate/stats/util.py @@ -14,8 +14,8 @@ from requests.exceptions import RequestException from frigate.camera import CameraMetrics from frigate.config import FrigateConfig from frigate.const import CACHE_DIR, CLIPS_DIR, RECORD_DIR +from frigate.data_processing.types import DataProcessorMetrics from frigate.object_detection import ObjectDetectProcess -from frigate.postprocessing.types import PostProcessingMetrics from frigate.types import StatsTrackingTypes from frigate.util.services import ( get_amd_gpu_stats, @@ -52,7 +52,7 @@ def get_latest_version(config: FrigateConfig) -> str: def stats_init( config: FrigateConfig, camera_metrics: dict[str, CameraMetrics], - embeddings_metrics: PostProcessingMetrics | None, + embeddings_metrics: DataProcessorMetrics | None, detectors: dict[str, ObjectDetectProcess], processes: dict[str, int], ) -> StatsTrackingTypes: diff --git a/frigate/types.py b/frigate/types.py index f375430e2..4d3fe96b3 100644 --- a/frigate/types.py +++ b/frigate/types.py @@ -2,13 +2,13 @@ from enum import Enum from typing import TypedDict from frigate.camera import CameraMetrics +from frigate.data_processing.types import DataProcessorMetrics from frigate.object_detection import ObjectDetectProcess -from frigate.postprocessing.types import PostProcessingMetrics class StatsTrackingTypes(TypedDict): camera_metrics: dict[str, CameraMetrics] - embeddings_metrics: PostProcessingMetrics | None + embeddings_metrics: DataProcessorMetrics | None detectors: dict[str, ObjectDetectProcess] started: int latest_frigate_version: str