tensorflow keras中的Valur误差,传递了输出形状([None,180,320,1])的目标阵列形状([3000,180,320,1])

时间:2019-07-04 16:37:49

标签: python tensorflow keras image-segmentation

我正在尝试使用tensorflow keras api进行图像分割以检测车道来实现unet。以下是相关的(模型功能)代码:

def model_fn(weight_path=None, input_shape=(180,320,1)):
    .....
    .....
    model= tf.keras.Model(inputs= inputs, outputs= c8)
    model.compile(optimizer= tf.keras.optimizers.Adam(lr= 1e-4), 
                  loss= 'binary_crossentropy',
                  metrics= ['accuracy'])

在这里,输入张量的形状为(None, 180, 320, 1),与输出张量相同。 (xtrytr的形状均为(3000, 180, 320, 1)

现在,当我尝试使用以下方法进行训练时:

model.fit(x=xtr, y=ytr, batch_size= 10, epochs=1, callbacks=[cp_callback])

我收到此错误:

  

ValueError:传递形状为(3000, 180, 320, 1)的目标数组以输出形状(None,180、320、3),同时用作损失binary_crossentropy。这种损失期望目标与输出具有相同的形状。

我不明白这是怎么回事。我们非常感谢您的帮助。

0 个答案:

没有答案