猿问

Lambda 上的值错误

我正在创建一个分割模型,我正在添加转换输出,如下所示。


 conv38_1 = Conv2D(filters=NUM_CLASSES, kernel_size=3, dilation_rate=(6,6), padding='same', name='fc1_voc12_c0')(relu38_1)

    conv38_2 = Conv2D(filters=NUM_CLASSES, kernel_size=3, dilation_rate=(12,12), padding='same', name='fc1_voc12_c1')(relu38_1)

    conv38_3 = Conv2D(filters=NUM_CLASSES, kernel_size=3, dilation_rate=(18,18), padding='same', name='fc1_voc12_c2')(relu38_1)

    conv38_4 = Conv2D(filters=NUM_CLASSES, kernel_size=3, dilation_rate=(24,24), padding='same', name='fc1_voc12_c3')(relu38_1)


    output   = Add(name='fc1_voc12')([conv38_1, conv38_2, conv38_3, conv38_4])

    output   = Lambda(lambda image: tf.image.resize_images(image, (H,W)))(output)

但是我收到一个奇怪的错误如下,


ValueError:检查目标时出错:预期 lambda_1 具有形状 (321, 321, 1) 但得到形状为 (321, 321, 2) 的数组


为什么第三个形状元素是 2?有什么办法可以解决吗?


慕运维8079593
浏览 188回答 1
1回答

拉风的咖菲猫

这个 (321,321,2) 是你的y_train.这意味着您正在尝试预测每个图像的两个类/通道。您的模型还必须输出 2 个类。NUM_CLASSES 必须是 2。
随时随地看视频慕课网APP

相关分类

Python
我要回答