我有表格中的示例数据: Datan312和:
输出的目的要么是值的5或10数组,后者根据另一个5或10数组进行验证。在试图构建模型时,我会得到以下错误:
"ValueError: Shapes (None, 5, 2) and (None, 10) are incompatible"
模型代码如下所示( train_mn312、tr_m5、check_mn312、cr_m5是训练数据和预期输出,后面是验证数据和预期输出)。
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个输出是一个热点,我不确定它们是否可以在被正确解释的情况下变成一个10矩阵。此外,有没有办法把致密层变成5?
完整的错误可以在这里看到。我觉得把它写进这里的文字是非常长的。
如果还需要什么,请让我知道-我仍然是非常新的工作与TensorFlow。
发布于 2021-03-06 23:08:24
您的标签形状是(5,2),但网络输出是(10 ),因此这是令人困惑的。输出形状和标签形状应该是相同的。用途:
tf.keras.layers.Reshape((5,2))
在密集的一层之后。你会没事的
https://stackoverflow.com/questions/66513706
复制