UNet语义分割多分类学习

今天学了下交叉熵,softmax,对激活函数和损失函数有了更深刻的理解,softmax可以使总的概率为1,并且放大差距,BCE和CE是不一样的,bce_LOSS要求loss数据维度大小一致,CE要求不一样,把编号放上去即可。

今天改pytorch的UNet好像loss降不下来,拿模型测试的结果很糟糕,明天在服务器上测试下keras版本的UNet看看,

Keras框架下的U-Net实现(可实现多类分割+代码) - Mage_Elusive的博客 - CSDN博客 https://blog.csdn.net/Mage_Elusive/article/details/83475849

2019.7.25

pytorch版本的跑了3000次,比之前的好,但效果依旧不行

网上的keras版本数据预处理有一些问题,训练时matplotlib读取灰度图的数据很奇怪,搞了半天,最后换成opencv读取就正常了。还有预测的时候数据预处理报了一些奇怪的错误,改完就好。
然而keras版本的跑了40次效果就远远好于pytorch的版本,看了一下,差别就是在在网络结构keras的卷积核少一点,优化器keras是adam而pytorch是SGD,还有数据预处理keras是标准化,训练RGB图片除以最大数再减去平均数。现在还不知道是网络问题还是数据预处理的问题

你可能感兴趣的:(UNet语义分割多分类学习)