本文主要是介绍初学者深度学习搭建网络容易出错的‘大因素’,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.网络输出与监督信号的尺寸应该匹配
如果你的输出是128*128*10的结果,那么你的监督信号也应该是128*128*10
如果你的监督信号是128*128*1,但是最后一个维度是整数,比如[1,10,2,3,1,1,1...]但是你的输出是128*128*10,那你可以考虑使用sparse 损失函数。categorical_sparse_crossentropy
2.监督信号应注意有没有未标注类
这个经常出现在dense label的图像标注中。有些象素并没有标注,那么在训练中不应该这些像素计入损失函数,测试时也注意不要计算,包括validation。
如果你用keras框架,那么就非常麻烦了。因为你能改accuracy的计算,比如下面
这个博主。
但是,关键在于loss能不能重写,要不训练利用的一直是错误数据。
single label 一个样本一个标签
那么,先说下对于一个标签的问题,我认为比较好解决。通过设置
1.自定义损失函数,再来一个中文的。
这篇关于初学者深度学习搭建网络容易出错的‘大因素’的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!