AlexeyAB / darknet

YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of Darknet )
http://pjreddie.com/darknet/
Other
21.75k stars 7.96k forks source link

Reduce FPS processing multiple video concurrently gpu 30% cpu 20% #6494

Open LionelLeee opened 4 years ago

LionelLeee commented 4 years ago

The simultaneous processing of multiple (n) video streams is compared with the processing of a single video stream. fps=single fps/n, why? GPU utilization is less than 30%, cpu utilization is less than 20%。 GPU:1080Ti CPU:inter xean E5-2620 v4 @2.10GHZ

AlexeyAB commented 4 years ago

show :

  1. command that you use
  2. screenshots with such information
    ./darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights data/dog.jpg
    CUDA-version: 10000 (10000), cuDNN: 7.4.2, CUDNN_HALF=1, GPU count: 1
    CUDNN_HALF=1
    OpenCV version: 4.2.0
    0 : compute_capability = 750, cudnn_half = 1, GPU: GeForce RTX 2070
    net.optimized_memory = 0
    mini_batch = 1, batch = 8, time_steps = 1, train = 0
    layer   filters  size/strd(dil)      input                output
    0 conv     32       3 x 3/ 1    608 x 608 x   3 ->  608 x 608 x  32 0.639 BF
LionelLeee commented 4 years ago

image

AlexeyAB commented 4 years ago

GPU utilization is less than 30%,

Show screenshot of GPU-utilization in GPU-Z: https://www.techpowerup.com/download/techpowerup-gpu-z/

LionelLeee commented 4 years ago

image image

LionelLeee commented 4 years ago

pre: image post image

AlexeyAB commented 4 years ago

Open Sensor Tab:

image

LionelLeee commented 4 years ago

image

LionelLeee commented 4 years ago

image

AlexeyAB commented 4 years ago

image GPU utilization is less than 30%

GPU-load is 83%, not 30%.

LionelLeee commented 4 years ago

sorry , I mean graphics card memory utilization.

AlexeyAB commented 4 years ago

Large GPU Memory isn't necessary for detection.

Large GPU Memory is required only for training.

LionelLeee commented 4 years ago

image image But the value I wrote is a bit big, in fact the graphics card storage only accounts for more than 10%. Is the fps drop because the load of the graphics card is too large?

LionelLeee commented 4 years ago

@AlexeyAB Is the fps drop because the load of the graphics card is too large?

AlexeyAB commented 4 years ago

Because it is impossible to handle infinite streams with infinite total FPS.

LionelLeee commented 4 years ago

How to solve this problem? Thread or process? Or replace with a better GPU? Or other methods?

AlexeyAB commented 4 years ago

Or replace with a better GPU?

Yes, 2080Ti or 3080Ti.

LionelLeee commented 4 years ago

OK,Thank you for your reply