PyTorch训练时准确率不变

今天复现了文章中的一个模型,刚开始学习率lr=0.01,准确率总是为20%(分类目标有5个类),基本不变。刚开始我以为给模型的数据传错了,或者模型的处理有那个步骤有问题。最终多次尝试后,发现把学习率降低,结果就有效了,如我把学习率降低为lr=0.001,然后就好使了。

总结①:如果准确率基本没变,可以考虑一下是不是学习率调大了。

今天又发现了一个调整的方法,学习率调整准确率没变化,然后我换了一个损失函数就好使了。我做的这个项目是预测流量的类别,用的LSTM模型,经查阅大部分人都用的是NLLLoss(福对数似然损失),而我当时不懂,用的是CrossEntropyLoss(交叉熵损失)。将损失函数交换后,结果就好使了。这个是基础知识,我得好好补一补了。
总结②:如果准确率基本没变,尝试更换一下损失函数。

又有新发现,网络层次太深反而准确率等评价指标不太好,而如果层次浅一些,前几层网络宽一些(神经元个数多一些),对分类效果有很好的提升。
总结③:如果准确率基本没变,尝试减少层数,增加层宽度。
妈耶,又遇到了新问题,准确率上不去,最后,通过更换激活函数,好使了,神奇。
总结③:如果准确率基本没变,尝试更换损失函数。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值