I am using the tensorflow centernet_resnet50_v2_512x512_kpts_coco17_tpu-8 object detection model on a Nvidia Tesla P100 to extract bounding boxes and keypoints for detecting people in a video. Using the pre-trained from tensorflow.org, I am able to process about 16 frames per second. Is there any way I can imporve the evaluation speed for this model? Here are some ideas I have been looking into:
- Pruning the model graph since I am only detecting 1 type of object (people)
- Have not been successful in doing this. Changing the
label_mapwhen building the model does not seem to improve performance.
- Have not been successful in doing this. Changing the
- Hard coding the input size
- Have not found a good way to do this.
- Compiling the model to an optimized form using something like TensorRT
- Initial attempts to convert to TensorRT did not have any performance improvements.
- Batching predictions
- It looks like the pre-trained model has the batch size hard coded to 1, and so far when I try to change this using the
model_builderI see a drop in performance. - My GPU utilization is about ~75% so I don't know if there is much to gain here.
- It looks like the pre-trained model has the batch size hard coded to 1, and so far when I try to change this using the