From d7dfc1446ae606494aa6d53a5d50d8bc3f3d9ecb Mon Sep 17 00:00:00 2001 From: Holden Date: Sun, 14 Jun 2026 17:07:52 +0000 Subject: [PATCH] config: lower MAX_AUTO_IMAGES default from 80 to 20 --- README.md | 2 +- tests/test_config.py | 2 +- winnow/config.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index bb8b32f..49dd224 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ In scheduled mode the process (and loaded models) stays resident between runs. T | Variable | Default | Description | | :--- | :--- | :--- | -| `MAX_AUTO_IMAGES` | `80` | Maximum training images per person in Frigate | +| `MAX_AUTO_IMAGES` | `20` | Maximum training images per person in Frigate | | `QUALITY_REPLACEMENT` | `true` | When at cap, swap a weaker tracked image for a better candidate. With Frigate scoring active, targets the most redundant image (highest pre-upload recognize score); otherwise uses blur score. Never touches manually added Frigate files. Set `false` to skip people at cap | #### Advanced Tuning *(calibrated — do not adjust)* diff --git a/tests/test_config.py b/tests/test_config.py index d2c56ed..353a7c6 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -21,7 +21,7 @@ def test_config_loads_defaults(monkeypatch): assert cfg.MIN_FACE_COUNT == 3 assert cfg.BLUR_THRESHOLD == 120.0 assert cfg.MIN_CONFIDENCE == 0.7 - assert cfg.MAX_AUTO_IMAGES == 80 + assert cfg.MAX_AUTO_IMAGES == 20 assert cfg.QUALITY_REPLACEMENT is True assert cfg.FACE_MARGIN == 0.15 assert cfg.USE_FULL_RESOLUTION is True diff --git a/winnow/config.py b/winnow/config.py index b22e369..419727d 100644 --- a/winnow/config.py +++ b/winnow/config.py @@ -29,7 +29,7 @@ class _Config: MIN_FACE_WIDTH: int = 90 BLUR_THRESHOLD: float = 120.0 MIN_CONFIDENCE: float = 0.7 - MAX_AUTO_IMAGES: int = 80 + MAX_AUTO_IMAGES: int = 20 QUALITY_REPLACEMENT: bool = True FRIGATE_SCORE_CEILING: float | None = None ENABLE_FRIGATE_SCORES: bool = True @@ -64,7 +64,7 @@ class _Config: self.MERGE_DUPLICATE_PEOPLE = os.getenv("MERGE_DUPLICATE_PEOPLE", "false").lower() in ("true", "1", "yes") self.BLUR_THRESHOLD = float(os.getenv("BLUR_THRESHOLD", "120.0")) self.MIN_CONFIDENCE = float(os.getenv("MIN_CONFIDENCE", "0.7")) - self.MAX_AUTO_IMAGES = int(os.getenv("MAX_AUTO_IMAGES", "80")) + self.MAX_AUTO_IMAGES = int(os.getenv("MAX_AUTO_IMAGES", "20")) self.QUALITY_REPLACEMENT = os.getenv("QUALITY_REPLACEMENT", "true").lower() in ("true", "1", "yes") _ceiling_env = os.getenv("FRIGATE_SCORE_CEILING", "").strip() self.FRIGATE_SCORE_CEILING = float(_ceiling_env) if _ceiling_env else None