gpt4 book ai didi

python - Keras 期望 dense_13 具有 2 个维度

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:39 24 4
gpt4 key购买 nike

我从 Keras 收到非常困惑的错误消息。我使用以下模型并将形状为 (num_examples, n, 1) 的输入传递给它。

def create_model():
model = Sequential()
model.add(LSTM(64, input_shape=(n,1), return_sequences=False))
model.add(Dense(units=n, activation='linear'))
return model

我收到此错误消息:ValueError:检查目标时出错:预期 dense_16 具有 2 个维度,但得到形状为 (11030, 50, 1) 的数组

但这怎么可能呢?如果我使用 model.summary(),它表明 LSTM 输出具有以下形状:(None, 64)。那么它如何将形状为 (11030, 50, 1) 的数组传递给 Dense 层?

此外,如果我尝试在 LSTM 和 Dense 之间添加 model.add(Flatten()),我会收到此错误:ValueError: Input 0 is incompatible with layer flatten_3: expected min_ndim =3,发现 ndim=2

那么,它将 2D 传递给 Flatten,但它怎么可能将 3D 传递给 Dense?

最佳答案

问题不在于您的模型,而在于目标,即您提供的y 标签。您不匹配,因为您的模型输出 (batch_size, n) 而您给出的是 (batch_size, 50, 1)

假设 n=50 然后您需要将目标标签压缩到 2 维并删除 1。y_train = y_train.squeeze() 应该可以解决形状不匹配问题。

关于python - Keras 期望 dense_13 具有 2 个维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52162609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com