利用U-net训练自己的数据集,测试出现全黑,全白的解决方法,以及过程中的注意!!

问题分析

最近想多学习一些知识,就尝试去跑U-net网络,通过github下载源码源码地址,然后做自己的数据集,然后就去跑通网络,但是在跑通网络过程中,出现了测试结果为全黑的情况,我个人判断可能是数据集制作错误导致,就改了数据集,后面有出现了全白的错误,好在最后通过各种尝试将其解决,并最后预测出来了!!

原因分析

其实归根揭底就是学习率的问题,原代码中学习率偏高,训练没几步就出现acc=1.000的情况,预测的结果为全黑。

解决办法

  1. 首先要确保自己的标注的图片是正确的,及所要检测的目标在标签图(即label文件夹里的图片)里是白色区域(针对就识别一类而言)。若是多分类任务,要修改下代码,也不麻烦,这里就不细述。
  2. 调整学习率,在model.py文件中将学习率下降1个到多个阶。源码为1e-4,我的数据集1e-6时表现较好,自己可以多试几个,直到分割正常。还有一个就是steps_per_epoch和epochs稍微设大点 ,我是用300,10看的效果,可以有检测效果,后面又把epochs设到100去优化。自己合理设置!!!
    在这里插入图片描述

填坑不易,且行且珍惜,若在跑此网络有什么问题,可以留言,我可以帮忙解决!!
填坑不易,且行且珍惜 如果帮助到你 评论一下 让更多人看到,解决大家的问题

你可能感兴趣的:(深度学习,U-net,个人经验)