From ba77f066a02d6f841d7c8230a7d5a515bfa327cf Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Wed, 20 Aug 2025 17:09:59 -0600 Subject: [PATCH] Formatting --- docker/rockchip/rk.mk | 4 ++-- frigate/embeddings/onnx/runner.py | 16 +++++++++------- frigate/util/rknn_converter.py | 5 ++++- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/docker/rockchip/rk.mk b/docker/rockchip/rk.mk index c8278f68b..81cdb4ed8 100644 --- a/docker/rockchip/rk.mk +++ b/docker/rockchip/rk.mk @@ -9,7 +9,7 @@ build-rk: version docker buildx bake --file=docker/rockchip/rk.hcl rk \ --set rk.tags=$(IMAGE_REPO):${GITHUB_REF_NAME}-$(COMMIT_HASH)-rk -push-rk: build-rk +push-rk: version docker buildx bake --file=docker/rockchip/rk.hcl rk \ - --set rk.tags=$(IMAGE_REPO):${GITHUB_REF_NAME}-$(COMMIT_HASH)-rk \ + --set rk.tags=crzynik/frigate:rk \ --push \ No newline at end of file diff --git a/frigate/embeddings/onnx/runner.py b/frigate/embeddings/onnx/runner.py index 1c53e5b59..fa0a11830 100644 --- a/frigate/embeddings/onnx/runner.py +++ b/frigate/embeddings/onnx/runner.py @@ -181,7 +181,7 @@ class RKNNModelRunner: """Get input names for the model.""" # For CLIP models, we need to determine the model type from the path model_name = os.path.basename(self.model_path).lower() - + if "vision" in model_name: return ["pixel_values"] else: @@ -189,7 +189,7 @@ class RKNNModelRunner: if self.model_type and "jina-clip" in self.model_type: if "vision" in self.model_type: return ["pixel_values"] - + # Generic fallback return ["input"] @@ -209,7 +209,7 @@ class RKNNModelRunner: try: input_names = self.get_input_names() rknn_inputs = [] - + for name in input_names: if name in inputs: if name == "pixel_values": @@ -224,21 +224,23 @@ class RKNNModelRunner: rknn_inputs.append(inputs[name]) else: logger.warning(f"Input '{name}' not found in inputs, using default") - + if name == "pixel_values": batch_size = 1 if inputs: for val in inputs.values(): - if hasattr(val, 'shape') and len(val.shape) > 0: + if hasattr(val, "shape") and len(val.shape) > 0: batch_size = val.shape[0] break # Create default in NHWC format as expected by RKNN - rknn_inputs.append(np.zeros((batch_size, 224, 224, 3), dtype=np.float32)) + rknn_inputs.append( + np.zeros((batch_size, 224, 224, 3), dtype=np.float32) + ) else: batch_size = 1 if inputs: for val in inputs.values(): - if hasattr(val, 'shape') and len(val.shape) > 0: + if hasattr(val, "shape") and len(val.shape) > 0: batch_size = val.shape[0] break rknn_inputs.append(np.zeros((batch_size, 1), dtype=np.float32)) diff --git a/frigate/util/rknn_converter.py b/frigate/util/rknn_converter.py index 429fcff3c..95d8ef519 100644 --- a/frigate/util/rknn_converter.py +++ b/frigate/util/rknn_converter.py @@ -38,6 +38,7 @@ MODEL_TYPE_CONFIGS = { }, } + def get_rknn_model_type(model_path: str) -> str | None: if all(keyword in model_path for keyword in ["jina-clip-v1", "vision"]): return "jina-clip-v1-vision" @@ -49,6 +50,7 @@ def get_rknn_model_type(model_path: str) -> str | None: return None + def is_rknn_compatible(model_path: str, model_type: str | None = None) -> bool: """ Check if a model is compatible with RKNN conversion. @@ -111,6 +113,7 @@ def ensure_rknn_toolkit() -> bool: """Ensure RKNN toolkit is available.""" try: from rknn.api import RKNN # type: ignore # noqa: F401 + logger.debug("RKNN toolkit is already available") return True except ImportError as e: @@ -438,7 +441,7 @@ def auto_convert_model( if not model_type: model_type = get_rknn_model_type(base_path) - + if wait_for_conversion_completion(model_type, rknn_path, lock_file_path): return str(rknn_path) else: