Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU) GPU • DeepStream Version 6.2 • JetPack Version (valid for Jetson only) • TensorRT Version • NVIDIA GPU Driver Version (valid for GPU only) • Issue Type( questions, new requirements, bugs) • How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing) • Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
hello
I set batch_size = 8 of SGIE and made the parser function below work after classification in SGIE, but only one obj (individual) comes in, can you tell me why?
It is a FaceRecognize model, and TRT was created based on Onnx (Third-party REPO)
I didn’t use Nvidia-Tao separately
But I’m curious, is it possible to enter the custom_parser function in batch units?
This custom parse function is just a callback which parse one frame output of the batch.
Please refer to the function InferPostprocessor::postProcessHost() in /opt/nvidia/deepstream/deepstream/sources/libs/nvdsinfer/nvdsinfer_context_impl.cpp
I looked at the line of code you mentioned, and it appears to me that the NvDsInferClassiferParseCustomSoftmax function handles objects one by one.
Am I right??
extern "C"
bool NvDsInferClassiferParseCustomSoftmax (std::vector<NvDsInferLayerInfo> const &outputLayersInfo,
NvDsInferNetworkInfo const &networkInfo,
float classifierThreshold,
std::vector<NvDsInferAttribute> &attrList,
std::string &descString)
{
/* Get the number of attributes supported by the classifier. */
unsigned int numAttributes = outputLayersInfo.size();
/* Iterate through all the output coverage layers of the classifier.
*/
for (unsigned int l = 0; l < numAttributes; l++)
{
/* outputCoverageBuffer for classifiers is usually a softmax layer.
* The layer is an array of probabilities of the object belonging
* to each class with each probability being in the range [0,1] and
* sum all probabilities will be 1.
*/
NvDsInferDimsCHW dims;
getDimsCHWFromDims(dims, outputLayersInfo[l].inferDims);
unsigned int numClasses = dims.c;
float *outputCoverageBuffer = (float *)outputLayersInfo[l].buffer;
float maxProbability = 0;
bool attrFound = false;
NvDsInferAttribute attr;
There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks