I trained a custom yoloV4-tiny model over darknet repo. The trained model is working well but I realized the prediction time difference between the ./darknet detector test and ./darknet detector demo . With test flag, the prediction (network_predict(net, X);) takes nearly 200-250 milliseconds per frame but with demo flag the prediction takes nearly 3-4 milliseconds per frame. I inspected the detector.c and demo.c files and I can not find a a reason for this prediction time difference. The only difference that I find is the way of obtaining the image. What can be the reason of this prediction time difference ?
Note that for both flags GPU is active.
Edit : I inspected the forward_network_gpu function in network_kernels.cu file and obtained the benchmark results like below:
I am having the same issue. When I detect single images, It took around 200 ms. But when I ran demo, It has ~30 fps. Did you find out the reason and fix it?
I trained a custom yoloV4-tiny model over darknet repo. The trained model is working well but I realized the prediction time difference between the
./darknet detector test
and./darknet detector demo
. With test flag, the prediction (network_predict(net, X);
) takes nearly 200-250 milliseconds per frame but with demo flag the prediction takes nearly 3-4 milliseconds per frame. I inspected the detector.c and demo.c files and I can not find a a reason for this prediction time difference. The only difference that I find is the way of obtaining the image. What can be the reason of this prediction time difference ?Note that for both flags GPU is active.
Edit : I inspected the
forward_network_gpu
function innetwork_kernels.cu
file and obtained the benchmark results like below:./darknet detector demo
:./darknet detector test
: