mxnet loss nan accuracy 0,模型提取特征输出为0

43 篇文章 2 订阅
在训练孪生网络时遇到loss变为nan和accuracy为0的问题。现象包括模型finetune时fc7层输出特征值包含inf和训练过程中特征值突变为nan。分析可能是初始化不当、过拟合或学习率过大等。解决策略包括调整初始化、减少模型复杂度、增大数据集、降低学习率、检查loss和梯度计算以及确保样本和标签的正确性。
摘要由CSDN通过智能技术生成

我在训练孪生网络的时候遇到了这个问题


现象0:

模型finetune,一开始的时候最后分类全连接层fc7输出特征值包含inf,可以用python np.any(np.isnan(fc7)) or not np.all(np.isfinite(fc7))检测到。
可能的原因:初始化不好,你使用了不同结构的模型的权重做finetune,可以尝试:
1, 不finetune,从头训
2,finetune时不加载最后分类的全连接层权重,或者只加载部分层的权重

现象一:

模型loss稳定下降,训练集准确率特别高,loss特别低,几个epoch之后,突然出现模型输出特征值为nan,预测的人脸id为为0 (因为输出logit为0之后求argmax始终为0),loss为nan

分析:

  1. nan表示结果不是一个数。
  2. 大模型在小数据集上发生了过拟合
  3. 需要检查特征值输出,需要检查batch中输入的label和预测的label,需要检查loss公式(如果是自己构造的话)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值