Question
The key difference of nn.CrossEntropyLoss() and nn.BCEWithLogitsLoss() is the former uses Softmax while the latter uses multiple Sigmoid when computing loss. I have confusion about this

Does using nn.BCEWithLogitsLoss() and setting a threshold (say 0.5) implicitly assume we are doing multi-label classification?
If it is so. Then if I wrongly use nn.CrossEntropyLoss() when I should have used nn.CrossEntropyLoss().  If discard threshold 0.5 and choose class that has highest probability, then the performance is still very good. But how this is equivalent to using nn.CrossEntropyLoss()?