following this link https://forums.developer.nvidia.com/t/how-to-use-metadata-from-the-secondary-classifier-in-python/199679/6 I tried to extract the data from classifier meta for a single head classification model (without any custom parser). But the model outputs only object of class at first index.
while l_obj is not None:
try:
obj_meta = pyds.NvDsObjectMeta.cast(l_obj.data)
except StopIteration:
continue
classifier_meta_list = obj_meta.classifier_meta_list
while classifier_meta_list is not None:
classifier_meta = pyds.NvDsClassifierMeta.cast(classifier_meta_list.data)
label_info_list = classifier_meta.label_info_list
while label_info_list is not None:
label_info = pyds.NvDsLabelInfo.cast(label_info_list.data)
print({"label":label_info.result_label , "confidence": label_info.result_prob})
label_info_list = label_info_list.next
classifier_meta_list = classifier_meta_list.next
config file
[property]
gpu-id=0
model-engine-file=GenderMFK0903.trt
labelfile-path=people_attribute/labels.txt
batch-size=16
network-type=1 # classifier
process-mode=2 # Secondary GIE
model-color-format=0
gie-unique-id=2
output-blob-names=gender_output
operate-on-class-ids=0;1;2;4
infer-dims=3;288;288
#custom-lib-path=classifier_customparser/libnvds_infercustomparser.so
#parse-classifier-func-name=NvDsInferClassiferParseCustomSoftmax
net-scale-factor= 0.01735207357279195
offsets=123.675; 116.28; 103.53
#input-object-min-width=10
#input-object-min-height=10
#output-tensor-meta=1
#[class-attrs-all]
#threshold=0.5