调整:移除推理性能汇总日志输出

This commit is contained in:
2026-03-31 16:18:51 +08:00
parent 714361b57f
commit 1fad88ae0c

37
main.py
View File

@@ -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