Model pruning yolov3-tiny


I’ve successfully made my own custom model but it’s very slow on my Xavier

I am trying to find a guide/tutoiral on how to prune a yolov3-tiny model?

thanks Chris


YoloV3_tiny can reach 1127 fps on the Xavier:

If you don’t see similar performance, it’s recommended to do the following first:

1. Maximize the device performance

$ sudo nvpmodel -m 0
$ sudo jetson_clocks

2. Convert your model into TensorRT:
Please check the sample below:


If the performance is not enough, you can try the pruning process with fine-tuning.
Please check our TLT toolkit below for the detailed instructions:



Ive never used docker before but have successfully got the tutorial started.

Does TLT require kitti labels?
Is there a function to convert my yolo dataset?

Thanks Chris


I have followed the objectDetector_Yolo readme and created a new file which i have linked to in my config txt file.

When i start deepstream it creates a new model however i do not have an INT8 calibration file.

Where / how do I get/set up a calibration file for yolov3-tiny.?

I found a reference to it in:

But i am stuck on step 3:
Replace the model parameters with your new model parameters in
NvDsInferParseCustomYoloV3() (if you are using the YOLOv3) or
NvDsInferParseCustomYoloV3Tiny() (if you are using tiny YOLOv3).

It says replace with your parameters but no instructions on how to find you find these?
The example given doesn’t provide any explanation

Many thanks Chris

Found a calibration table for yolov3-tiny here deepstream_reference_apps/yolov3-tiny-calibration.table at 566dd4551e0ba160bcf26789eb8b02fc3f3e591b · NVIDIA-AI-IOT/deepstream_reference_apps · GitHub

For the changes to nvdsparsebbox_Yolo.cpp:
i only had to change the number of classes in the end everything else was standard