How to do the prediction for MultiLable Classification in test time?


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

For 0,1 labels the typical approach is usually to just use 0.5 as the threshold (e.g., just round the predictions).

1 Like

Thank you , do you know any resources that I can see how the do the evolution and how to report the performance for multi lable classification in image recognition?