I am training a multilabel classification model and my data can have multiple labels for each image, I am using
BCEWithLogitsLoss for training the loss. I know
BCEWithLogitsLoss has sigmoid inside so I dont apply sigmoid in the training phase.
My question is how this model will be used in the test time?
Lets say I have an image that has 3 objects in it (cat,dog,human), I will apply sigmoid to the output of the model (which has dimension of
BxC where C=20=number of classes), but how I can say what classes are in the image? this is different from the single label classification and I cannot do argmax on the output. If I use the probabilities after applying sigmoid should I threshold them?! but it wont be robust to use thresholding…
Sorry if this question is very naïve