I have trained a image classification model on keras/tf, conveted it to onnx and used my recogination.py file for inference of my model but results do not match, i thing there is some kind of preprocessing is involved in jetson.inference.imagenet . so for that i looked into imagenet.cpp inside the c folder but didnt understand much. can i know what kind of preprocessing i need to include my model before traing so that result match on keras and jetson nano.
When calling Classify(.) function, there is a C++ function called PreProcess(.) as below:
... if( CUDA_FAILED(cudaTensorNormMeanRGB(image, format, width, height, mInputs.CUDA, GetInputWidth(), GetInputHeight(), make_float2(0.0f, 1.0f), make_float3(0.485f, 0.456f, 0.406f), make_float3(0.229f, 0.224f, 0.225f), GetStream())) ) ...
what exactly are these preprocessing can you help me to do this on keras, that would be helpful , i have already gone through the code you have provided, but dont know what changes i need or is there a way i can remove the preprocessing as my model doesnt have preprocessing just image size 512*512 thats it . thanks
Since TensorRT usually expects the float NCHW input, the preprocessing should be required for the format conversion.
If no normalization and mean-subtraction are needed, you can turn it off by setting it to the default value.
if( CUDA_FAILED(cudaTensorNormMeanRGB(image, format, width, height, mInputs.CUDA, GetInputWidth(), GetInputHeight(), make_float2(0.0f, 255.0f), make_float3(0.0f, 0.0f, 00f), make_float3(1.0f, 1.0f, 1.0f), GetStream())) )
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.