PyTorch CNN:损失不变

时间:2019-12-30 05:01:20

标签: python conv-neural-network pytorch

我一直尝试研究一种情况,以确保自己的不变损失,而我发现的所有答案都是特定于代码的。我刚刚开始了解CNN,并且大部分CNN都来自一个示例,并进行了修改以适合我的数据集的需求。我正在尝试对ECG的类型进行分类(正常,房颤,其他噪音)。当我尝试训练CNN时,损失仍然保持不变,我认为这是因为我的CNN无法学习,仅输出零。到目前为止,我已经尝试过更改学习率/损失函数,并且没有任何区别。

我正在Google Colab上执行此操作,因此随时可以编辑代码,并且不要忘记将运行时选项卡下的硬件加速更改为GPU。

代码:

_TextSelectionToolbar

1 个答案:

答案 0 :(得分:5)

在网络的末尾有一个softmax层,但是在训练中,您使用MSELoss。这告诉我您的模型正在输出概率,但随后您将损失计算为连续损失。不确定确切如何为您工作,但我怀疑这是造成错误损失的原因。

如下面的注释中所述,您可以在完整的softmax层上使用CrossEntropyLoss-因为您的任务是关于分类的。