add plus integration for models (#6328)

This commit is contained in:
Blake Blackshear
2023-04-30 13:32:36 -05:00
committed by GitHub
parent ad52e238ce
commit 9bf98f908d
9 changed files with 166 additions and 63 deletions

View File

@@ -19,6 +19,7 @@ from frigate.const import (
YAML_EXT,
)
from frigate.detectors.detector_config import BaseDetectorConfig
from frigate.plus import PlusApi
from frigate.util import (
create_mask,
deep_merge,
@@ -906,8 +907,7 @@ class FrigateConfig(FrigateBaseModel):
title="Global timestamp style configuration.",
)
@property
def runtime_config(self) -> FrigateConfig:
def runtime_config(self, plus_api: PlusApi = None) -> FrigateConfig:
"""Merge camera config with globals."""
config = self.copy(deep=True)
@@ -1031,6 +1031,7 @@ class FrigateConfig(FrigateBaseModel):
enabled_labels.update(camera.objects.track)
config.model.create_colormap(sorted(enabled_labels))
config.model.check_and_load_plus_model(plus_api)
for key, detector in config.detectors.items():
detector_config: DetectorConfig = parse_obj_as(DetectorConfig, detector)
@@ -1063,6 +1064,9 @@ class FrigateConfig(FrigateBaseModel):
merged_model["path"] = "/edgetpu_model.tflite"
detector_config.model = ModelConfig.parse_obj(merged_model)
detector_config.model.check_and_load_plus_model(
plus_api, detector_config.type
)
detector_config.model.compute_model_hash()
config.detectors[key] = detector_config