【问题标题】:ValueError: Operands could not be broadcast together with shapes (256, 256, 64) (256, 256, 3)ValueError: 操作数不能与形状一起广播 (256, 256, 64) (256, 256, 3)
【发布时间】:2021-03-05 22:26:02
【问题描述】:

我试图在 maxpooling 检索错误之前的两个 cnn 层之后添加一个跳过连接。下面是我的示例代码。

X=Input(shape=(256, 256, 3)) 
X_shortcut = X
layer_in = Conv2D(64,(3, 3), padding='same', activation='relu')(X_shortcut)
X = Add()([X, X_shortcut])
layer_in = Conv2D(64, (3, 3), padding='same', activation='relu')(layer_in)
X = Add()([layer_in, X_shortcut])
layer_in = MaxPooling2D((2, 2), strides=(2, 2))(layer_in)
model = Model(inputs=X_shortcut, outputs=layer_in)
# summarize model
model.summary()

检索值错误:

    ValueError: Operands could not be broadcast together with shapes (256, 256, 64) (256, 256, 3)

【问题讨论】:

  • 错误非常明显。你不能把这两个形状加在一起。

标签: tensorflow keras deep-learning conv-neural-network


【解决方案1】:

layer_in 有 64 个通道,X_shortcut 有 3 个。不可能将它们加在一起。您可以连接,输出形状将是 (256,256,67)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    相关资源
    最近更新 更多