Unverified Commit bb826027 authored by Martin Weinelt's avatar Martin Weinelt Committed by GitHub
Browse files

frigate: various fixes (#493172)

parents 73dd1fa2 be8a4752
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
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 −0
Original line number Diff line number Diff line
@@ -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 = ''
+27 −0
Original line number Diff line number Diff line
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