我的输入图像是256x256x3。而相应的分割掩码为256x256。
我已经更改了输入到Unet的大小:
def unet(pretrained_weights = None,input_size = (256,256,3)):
并获得一个具有256x256x1层的网络作为输出
conv2d_144 (Conv2D) (None, 256, 256, 1) 2 conv2d_143[0][0]
查看完整的体系结构here。
当我尝试使用.fit_generator运行时,出现以下错误:
ValueError: Error when checking target: expected conv2d_144 to have shape (256, 256, 1) but got array with shape (256, 256, 3)
该如何解决?请让我知道我能提供什么额外的信息!
谢谢!
PS:我的输出中有三个类,这可能是原因吗?
答案 0 :(得分:0)
您必须确定是否要为图像输入RGB或灰度: 将图像转换为灰度图像或更改转换层。另一种选择是将256x256x3输入展平为一个尺寸并将其用作输入。
答案 1 :(得分:0)
实际上,我通过对分割蒙版进行一次热编码并将最后一层的激活函数更改为softmax来进行修复,并使用filtersize来匹配类数!