Wie kann ich die maximale Anzahl von Kameras, die meine GPU für die YOLOv8-Inferenz verarbeiten kann, dynamisch schätzenPython

Python-Programme
Anonymous
 Wie kann ich die maximale Anzahl von Kameras, die meine GPU für die YOLOv8-Inferenz verarbeiten kann, dynamisch schätzen

Post by Anonymous »

Ich versuche, mehrere Kamerastreams zu simulieren, die in ein YOLOv8l-Modell auf einer einzelnen GPU eingespeist werden, und die Hardwareauslastung in Echtzeit zu überwachen. Mein Setup:
  • Einzelne GPU (48 GB VRAM, CUDA-fähig)
  • YOLOv8l-Modell
  • Simulation von N-Kameras mit dem gleichen Eingangsvideo
  • Ziel-FPS pro Kamera: 25
  • Batch-Inferenz wird verwendet
Ich möchte in Echtzeit abschätzen, wie viele Kameras die GPU verarbeiten kann, ohne die Auslastung zu maximieren. Ich habe Folgendes implementiert:
  • Multithread-Kameraleser für jede simulierte Kamera
  • Warteschlange für Frames
  • Batch-Inferenz-Worker
  • GPU-Überwachung mit pynvml
  • Adaptives Frame-Skipping basierend auf der GPU-Auslastung

Code: Select all

avg_gpu_per_cam = gpu_ema / NUM_CAMERAS
estimated_total = int(SAFE_GPU_LIMIT / avg_gpu_per_cam)
Probleme/Fragen:
  • />
  • Wie kann ich YOLOv8l-Batch-Inferenz vergleichen, um einen genaueren avg_gpu_per_cam zu erhalten, anstatt EMA-Glättung zu verwenden?
Ich würde mich über Hinweise zu Best Practices für die Schätzung der Inferenzlast bei mehreren Kameras sowie über Referenzen oder Beispiele für die GPU-fähige Kamerasimulation mit YOLO freuen Modelle.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post