mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-07-02 18:11:13 +03:00
revert to cpu detector by default
use openvino cpu for new configs only
This commit is contained in:
parent
6fa005fd56
commit
f6350b421e
@ -80,12 +80,12 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
yaml = YAML()
|
yaml = YAML()
|
||||||
|
|
||||||
DEFAULT_DETECTORS = {
|
# Pydantic field default applied when an existing config omits `detectors:`.
|
||||||
"ov": {
|
# Kept as cpu tflite for backwards compatibility with 0.17 configs.
|
||||||
"type": "openvino",
|
DEFAULT_DETECTORS = {"cpu": {"type": "cpu"}}
|
||||||
"device": "CPU",
|
|
||||||
}
|
# Used by the openvino branch below and rendered into the new-config YAML
|
||||||
}
|
# template so first-time setups default to openvino on CPU.
|
||||||
DEFAULT_MODEL = {
|
DEFAULT_MODEL = {
|
||||||
"width": 300,
|
"width": 300,
|
||||||
"height": 300,
|
"height": 300,
|
||||||
@ -94,6 +94,7 @@ DEFAULT_MODEL = {
|
|||||||
"path": "/openvino-model/ssdlite_mobilenet_v2.xml",
|
"path": "/openvino-model/ssdlite_mobilenet_v2.xml",
|
||||||
"labelmap_path": "/openvino-model/coco_91cl_bkgr.txt",
|
"labelmap_path": "/openvino-model/coco_91cl_bkgr.txt",
|
||||||
}
|
}
|
||||||
|
NEW_CONFIG_DETECTORS = {"ov": {"type": "openvino", "device": "CPU"}}
|
||||||
DEFAULT_DETECT_DIMENSIONS = {"width": 1280, "height": 720}
|
DEFAULT_DETECT_DIMENSIONS = {"width": 1280, "height": 720}
|
||||||
|
|
||||||
|
|
||||||
@ -109,7 +110,7 @@ DEFAULT_CONFIG = f"""
|
|||||||
mqtt:
|
mqtt:
|
||||||
enabled: False
|
enabled: False
|
||||||
|
|
||||||
{_render_default_yaml({"detectors": DEFAULT_DETECTORS, "model": DEFAULT_MODEL})}
|
{_render_default_yaml({"detectors": NEW_CONFIG_DETECTORS, "model": DEFAULT_MODEL})}
|
||||||
cameras: {{}} # No cameras defined, UI wizard should be used
|
cameras: {{}} # No cameras defined, UI wizard should be used
|
||||||
version: {CURRENT_CONFIG_VERSION}
|
version: {CURRENT_CONFIG_VERSION}
|
||||||
"""
|
"""
|
||||||
@ -708,14 +709,6 @@ class FrigateConfig(FrigateBaseModel):
|
|||||||
detector_config.model = model
|
detector_config.model = model
|
||||||
self.detectors[key] = detector_config
|
self.detectors[key] = detector_config
|
||||||
|
|
||||||
# If the top-level model is unset, adopt the first detector's resolved
|
|
||||||
# model so worker processes (which receive self.model) agree with the
|
|
||||||
# dimensions used to size the detection shared memory in start_detectors.
|
|
||||||
if not self.model.model_dump(exclude_unset=True, warnings="none") and self.detectors:
|
|
||||||
first_detector = next(iter(self.detectors.values()))
|
|
||||||
if first_detector.model is not None:
|
|
||||||
self.model = first_detector.model
|
|
||||||
|
|
||||||
for name, camera in self.cameras.items():
|
for name, camera in self.cameras.items():
|
||||||
modified_global_config = global_config.copy()
|
modified_global_config = global_config.copy()
|
||||||
|
|
||||||
|
|||||||
@ -64,9 +64,9 @@ class TestConfig(unittest.TestCase):
|
|||||||
|
|
||||||
def test_config_class(self):
|
def test_config_class(self):
|
||||||
frigate_config = FrigateConfig(**self.minimal)
|
frigate_config = FrigateConfig(**self.minimal)
|
||||||
assert "ov" in frigate_config.detectors.keys()
|
assert "cpu" in frigate_config.detectors.keys()
|
||||||
assert frigate_config.detectors["ov"].type == DetectorTypeEnum.openvino
|
assert frigate_config.detectors["cpu"].type == DetectorTypeEnum.cpu
|
||||||
assert frigate_config.detectors["ov"].model.width == 300
|
assert frigate_config.detectors["cpu"].model.width == 320
|
||||||
|
|
||||||
@patch("frigate.detectors.detector_config.load_labels")
|
@patch("frigate.detectors.detector_config.load_labels")
|
||||||
def test_detector_custom_model_path(self, mock_labels):
|
def test_detector_custom_model_path(self, mock_labels):
|
||||||
@ -964,11 +964,8 @@ class TestConfig(unittest.TestCase):
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
# With no model defined, the top-level model adopts the default
|
|
||||||
# detector's resolved model (openvino + ssdlite_mobilenet_v2 with the
|
|
||||||
# coco_91cl_bkgr labelmap, which has __background__ at index 0).
|
|
||||||
frigate_config = FrigateConfig(**config)
|
frigate_config = FrigateConfig(**config)
|
||||||
assert frigate_config.model.merged_labelmap[1] == "person"
|
assert frigate_config.model.merged_labelmap[0] == "person"
|
||||||
|
|
||||||
def test_default_labelmap(self):
|
def test_default_labelmap(self):
|
||||||
config = {
|
config = {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user