[英]TensorFlow CNN Incompatible Shapes: 4D input shape
我有以下形式的样本数据: Data[n][31][31][5][2] 与:
output 旨在成为 [5][2] 或 [10] 值数组,可针对另一个 [5][2] 或 [10] 数组进行验证。 尝试构建 model 时,出现以下错误:
"ValueError: Shapes (None, 5, 2) and (None, 10) are incompatible"
model 代码如下所示: (with train_m[n][31][31][5][2], tr_m[5][2], check_m[n][31][31][5][2] , cr_m[5][2] 是训练数据和预期 output 后跟验证数据和预期 output。)
model = Sequential([
Conv2D(num_filters, filter_size, input_shape=(31, 31, 5, 2)),
Flatten(),
Dense(10, activation='relu'),
])
model.compile(
'adam',
loss='categorical_crossentropy',
metrics=['accuracy'],
)
model.summary()
model.fit(
train_m,
tr_m,
epochs=(100),
validation_data=(check_m, cr_m),
verbose=0
)
由于 [5][2] 输出是单一的,我不确定它们是否可以在被正确解释的同时被制成 [10] 矩阵。 此外,是否有任何方法可以使密集层成为 [5][2]?
完整的错误可以在这里看到。 我觉得在这里包含在 rawtext 中会非常长。
如果还有什么需要,请告诉我——我对使用 TensorFlow 还是很陌生。
您的 label 形状是 (5,2) 但网络 output 是 (10,) 所以这很混乱。 output 形状和 label 形状应该相同。 利用:
tf.keras.layers.Reshape((5,2))
在密集层之后。 你会没事的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.