【发布时间】:2020-01-27 01:39:43
【问题描述】:
我知道当使用nn.CrossEntropyLoss 作为损失函数时,不需要在神经网络的输出层中使用nn.Softmax() 函数。
但是我需要这样做,有没有办法抑制在nn.CrossEntropyLoss 中实现softmax 的使用,而在我的神经网络本身的输出层上使用nn.Softmax()?
动机:我使用shap 包来分析之后的特征影响,我只能将我训练的模型作为输入。然而,输出没有任何意义,因为我正在查看未绑定的值而不是概率。
示例:我想要一个介于 0 和 1 之间的值,而不是 -69.36 作为我模型的一个类的输出值,所有类的总和为 1。由于之后我无法更改它,因此在训练期间输出必须是这样的。
【问题讨论】:
标签: python neural-network pytorch softmax cross-entropy