From 1fad88ae0ceeda9f04433844a4289a05a09742bd Mon Sep 17 00:00:00 2001 From: 16337 <1633794139@qq.com> Date: Tue, 31 Mar 2026 16:18:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=9A=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=80=A7=E8=83=BD=E6=B1=87=E6=80=BB=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/main.py b/main.py index 5e7ab90..976d36d 100644 --- a/main.py +++ b/main.py @@ -9,7 +9,6 @@ import sys import threading import signal import time -from collections import deque from datetime import datetime from typing import Dict, Any, Optional, List, Tuple @@ -85,9 +84,6 @@ class EdgeInferenceService: self._scheduler_interval_sec = 0.01 self._max_frame_age_sec = 0.5 self._max_pending_roi_items = self._max_batch_size * 32 - self._latency_window = deque(maxlen=256) - self._last_latency_log_time = 0.0 - self._latency_log_interval_sec = 5.0 # 摄像头级别告警去重:同一摄像头+告警类型在冷却期内只上报一次 self._camera_alert_cooldown: Dict[str, datetime] = {} @@ -677,35 +673,6 @@ class EdgeInferenceService: if not had_frame: self._stop_event.wait(self._scheduler_interval_sec) - def _log_inference_latency_summary(self, inference_time_ms: float, batch_size: int): - """聚合输出推理时延,避免逐批 INFO 日志刷屏。""" - self._latency_window.append({ - "latency_ms": inference_time_ms, - "batch_size": batch_size, - }) - - now = time.monotonic() - if now - self._last_latency_log_time < self._latency_log_interval_sec: - return - - self._last_latency_log_time = now - samples = list(self._latency_window) - if not samples: - return - - latencies = sorted(sample["latency_ms"] for sample in samples) - batches = [sample["batch_size"] for sample in samples] - p95_index = max(0, min(len(latencies) - 1, int(len(latencies) * 0.95) - 1)) - - self._logger.info( - "推理性能汇总: " - f"样本={len(samples)}, " - f"batch_avg={sum(batches) / len(batches):.2f}, " - f"latency_avg={sum(latencies) / len(latencies):.2f}ms, " - f"latency_p95={latencies[p95_index]:.2f}ms, " - f"latency_max={latencies[-1]:.2f}ms" - ) - def _batch_process_rois(self): """批量处理 ROI - 真正的 batch 推理(按 max_batch_size 分块)""" with self._batch_lock: @@ -740,10 +707,6 @@ class EdgeInferenceService: batch_size=len(chunk), throughput_fps=1000.0 / inference_time_ms if inference_time_ms > 0 else 0 ) - self._log_inference_latency_summary( - inference_time_ms, - batch_size=len(chunk), - ) # 诊断:输出原始推理结果形状(非告警诊断日志,使用 DEBUG 级别) import numpy as np