Hi we are working on a azure instance on T4 card, and a jetson nx.
We use TLT v3 to train, eval and make inference with our int8 mask rcnn model.
On T4 results seems perfect (CUDA 11.2 Tensor RT 7.2), with tlt-converter (one available for our jetpack version 4.5 CUDA 10.2 TensorRT 7.1.3) we convert to engine and we lost detections and precission.
Diferent versions may affect and cause this precission lost? How can we go further? Create a docker on t4 with version matched with jetson nx or Update jetson nx, with a new version of TRT (no GA available i think)
Thanks.
PD: Of course i read other threads in order to find a solution, but nothing seems work.
Yes perfect result was running tlt maskrcnn inference
Inference on nx was done with tensorrt c++ API, following uff maskrcnn sample. We cannot use deepstream in this case.
First of all i convert etlt with next command:
tlt-converter model.step-5000.etlt -k key -c calibration.cal -t int8 -e int8b1z.engine -m 1 -d 3,768,1280
calibration.cal (10.0 KB)
as you can see on calibration header its done for TensorRT 7201.
Here are the preprocessing steps in TLT.
1. For a given image, keep its aspect ratio and rescale the image to make it the largest rectangle to be bounded by the rectangle specified by the target_size.
2. Pad the rescaled image such that the height and width of the image become the smallest multiple of the stride that is larger or equal to the desired output dimension.
3. As mentioned above, will scale pixels between 0 and 1 and then will normalize each channel
Thanks we found the problem, first of all we need to scale rgb values from 0-255 to 0-1, then as you suggest us, calculate the diference with mean and divide by std.