Open iamrajee opened 3 years ago
I could confirm that in my system other darknet yolo versions run way faster using Cuda and cuDNN. Although, I can see that we have set device='gpu'
, but still gets low fps. Could it be because yolox model is unable to utilize system GPU to its full potential? Can we use cuDNN to make it faster in any way?
Any suggestion on what parameter can I change to use the full potential of GPU, Cuda, cuDNN and make ByteTrack faster on the given yolox model? Thank you :)
You can try the same methodology on Google colab, same procedures you did in your local Machine, if FPS is reasonable, then it is either a build problem or a GPU utilization problem that is sytem related, maybe some bindings or sources missing, so i would rather check a truster systems in terms of builds like colab.
Can you please check the output of the following?
import onnxruntime as ort
print(ort.get_device())
If you have a GPU and it is still running on the CPU, then this is because of the incompatibility of the onnxruntime version with CUDA and cuDNN versions. Please check this link from onnx for the compatibility matrix.
I'm getting very low fps on running the demo example given in the repository.
On running
python3 tools/demo_track.py video -f exps/example/mot/yolox_x_mix_det.py -c pretrained/bytetrack_x_mot17.pth.tar --fp16 --fuse --save_result
I get ~1 fps.Then I tried using the ONNX model which further slow down the pipeline. I convert my model to ONNX as
python3 tools/export_onnx.py --output-name bytetrack_x.onnx -f exps/example/mot/yolox_x_mix_det.py -c pretrained/bytetrack_x_mot17.pth.tar
and then used it as
python3 onnx_inference.py --model ../../bytetrack_x.onnx --input_shape "800,1440"
I get 0.32 fps as
Any thought on how can I get real-time (~15 fps) performance? @AhmedKhaled945 Update: I found a similar issue here #42