frigate: various fixes (#493172)

This commit is contained in:
Martin Weinelt
2026-02-23 00:29:16 +00:00
committed by GitHub
3 changed files with 51 additions and 0 deletions
@@ -0,0 +1,19 @@
Disable the SimplifedLayerNormFusion optimization for onnxruntime embedding
models to prevent a crash when using FP16 models (like jinna-clip-v1) with newer
onnxruntime versions.
https://github.com/microsoft/onnxruntime/issues/26717#issuecomment-3800462654
diff --git a/frigate/embeddings/onnx/runner.py b/frigate/embeddings/onnx/runner.py
index c34c97a8d..dca91daae 100644
--- a/frigate/embeddings/onnx/runner.py
+++ b/frigate/embeddings/onnx/runner.py
@@ -52,6 +52,7 @@ class ONNXModelRunner:
model_path,
providers=providers,
provider_options=options,
+ disabled_optimizers=["SimplifiedLayerNormFusion"],
)
def get_input_names(self) -> list[str]:
+5
View File
@@ -84,6 +84,7 @@ python3Packages.buildPythonApplication rec {
hash = "sha256-1+n0n0yCtjfAHkXzsZdIF0iCVdPGmsG7l8/VTqBVEjU=";
})
./ffmpeg.patch
# https://github.com/blakeblackshear/frigate/pull/21876
./ai-edge-litert.patch
(fetchpatch {
# peewee-migrate 0.14.x compat
@@ -95,6 +96,10 @@ python3Packages.buildPythonApplication rec {
];
hash = "sha256-RrmwjE4SHJIUOYfqcCtMy9Pht7UXhHcoAZlFQv9aQFw=";
})
# https://github.com/microsoft/onnxruntime/issues/26717
./onnxruntime-compat.patch
# https://github.com/blakeblackshear/frigate/pull/22089
./proc-cmdline-strip.patch
];
postPatch = ''
@@ -0,0 +1,27 @@
Strip trailing whitespace from process commandlines. This is annoying for exact
process matches against Prometheus labels.
https://github.com/blakeblackshear/frigate/pull/22089
diff --git a/frigate/util/services.py b/frigate/util/services.py
index b31a7eea3..f1e8f0f5f 100644
--- a/frigate/util/services.py
+++ b/frigate/util/services.py
@@ -118,7 +118,7 @@ def get_cpu_stats() -> dict[str, dict]:
pid = str(process.info["pid"])
try:
cpu_percent = process.info["cpu_percent"]
- cmdline = process.info["cmdline"]
+ cmdline = " ".join(process.info["cmdline"]).rstrip()
with open(f"/proc/{pid}/stat", "r") as f:
stats = f.readline().split()
@@ -152,7 +152,7 @@ def get_cpu_stats() -> dict[str, dict]:
"cpu": str(cpu_percent),
"cpu_average": str(round(cpu_average_usage, 2)),
"mem": f"{mem_pct}",
- "cmdline": clean_camera_user_pass(" ".join(cmdline)),
+ "cmdline": clean_camera_user_pass(cmdline),
}
except Exception:
continue