I trained a googlenet (classifier) with my own data using NVIDIA-DIGITS.
As a result, * .caffemodel, * .prototxt labels.txt, mean.ppm files are obtained.
config_infer_secondary_car config file is modified and applied to source4_1080p_dec_infer ~
No error occurred during execution but the operation is not working properly
secondary_classifier does not work properly and occasionally labels on the first line of labels.txt appear
It seems to be a problem with the threshold, so changing the threshold did not change anything.
Please tell me how to apply my custom caffe model to Deepstream.
and config_infer_secondary_vehicletypes.txt to be your own.
Debug in nvdsinfer_context_impl_output_parsing.cpp → parseAttributesFromSoftmaxLayers()
Or
sources/libs/nvdsinfer_customparser/nvdsinfer_customclassifierparser.cpp
I’ve noticed this issue, when using the engine file for the classifier without the mean file. Basically every object gets classified as a single label. Should dig more on it.
the only things you need to do to have a custom classifier inside deepstream is, take a look at deepstream-test2 app,
modify the code to work on single classifier, i.e, remove all the other sgie.
Train your custom classifier with or without the mean file config
The mean file generated by caffe and the mean file used in deepstream are entirely different. So don't get confused with them, which happened to me. There are offset params to specify mean substraction
Modify the sgie config file, so that the path points to the newly trained models.
Take a look at your model-color-format params, as this could lead to certain issues during model inferencing.
Also do change the output blob name param in the config file of the classifier.
If the above steps are followed, you would get the classifier results on screen.
I think this should cover it. However, the only thing I’m struggling with right now is fetching the results of the classifier in the probe. The LabelInfo struct seems to print junk, maybe I’m initializing with the wrong data.