U-Net预测自己数据集全黑解决方法

1.注意test测试集内的图片格式,直接替换源代码内的test测试集的话,图片格式要与原来的保持一致,尤其是图片的位深(我用到的代码内测试集图片格式是.png位深为8,所以换成自己的要与这个一致)我用的方法比较原始,用的PConverter.exe软件把原来的图片转换成了8位深(PConverter参数如下)。train下的图片位深我测试了24位的,没有问题。test下的24位会报错:expected input_1 to have 4 dimensions, but got array with (1, 256, 256, 3, 1)

U-Net预测自己数据集全黑解决方法_第1张图片

2.注意学习率。我第一次运行自己的数据集能够出现结果。后来运行了很多次,都是全黑或者全白。换成别人的数据集都能出结果。刚好在读《解析卷积神经网络》的时候注意到loss这个参数,和学习率有关系。然后对比了原始数据集和自己数据集的loss,发现原始的loss:0.0798,而我自己的loss:0.2多。符合书中所说的“后劲不足”的情况,后来改了下学习率,每次都能跑出自己的结果。

model.py:

原学习率:model.compile(optimizer=Adam(lr=1e-4), loss='binary_crossentropy', metrics=['accuracy'])

更改后的:  model.compile(optimizer = Adam(lr = 1e-5), loss = 'binary_crossentropy', metrics = ['accuracy'])

你可能感兴趣的:(unet)