thanks @Xiaoyu_Song !
in my first question, I do a multi-class prediction, and I use a softmax function as my output layer, and the loss descent big slower(like not descent) than not use softmax, my loss function use CrossEntropyLoss.
and then I figure out that:
in nn.BCELoss, latest layer need a sigmoid function.
in nn.BCEWithLogitsLoss, not need a sigmoid funtion in latest layer.
in nn.CrossEntropyLoss, not need a nn.Softmax(dim=1) in latest layer, because the loss funtion already include softmax function.