gpt4 book ai didi

python - tensorflow /Keras : model's output layer expects different input shape than what it recieved

转载 作者:行者123 更新时间:2023-11-30 09:44:57 25 4
gpt4 key购买 nike

几天来我一直在寻找这个问题的答案,但我在互联网上找不到的任何内容似乎都特别适用于我遇到的错误:

ValueError: Error when checking target: expected dense_1 to have shape (1, 300) but got array with shape (1, 60)

这是我正在使用的模型:

model = keras.Sequential([
keras.layers.Conv1D(5,input_shape=(1,60), kernel_size=12, padding='same'),
keras.layers.Conv1D(10, padding='same',activation=tf.nn.relu, kernel_size=10),
keras.layers.Conv1D(20, padding='same',activation=tf.nn.relu, kernel_size=6),
keras.layers.Conv1D(30, padding='same',activation=tf.nn.relu, kernel_size=5),
keras.layers.Dense(70, activation=tf.nn.relu),
keras.layers.Dense(300,activation="tanh")
])
model.compile(optimizer=tf.train.AdamOptimizer(0.001),
loss='mse',
metrics=['mae'])

我能够获得网络列车的唯一方法是将输出层中的节点数(在本例中是错误消息中的 dend_1)设置为等于 60,即我的模型为其输入所采用的值的数量.

我还通过完全连接的模型运行了这些数据,其中发生了相同的结果,如果输出中的节点数不是 60,则会出现错误。

我尝试通过在tensorflow网站上运行mnist时尚分类示例来进行故障排除,看看是否是我的tensorflow或python版本导致了问题,但是它运行时没有错误,并且训练得很好。

然后,我用 mnist 时尚示例中使用的模型替换了我的模型,除了将输入形状更改为 (60,),因为我的数据是一维的,并且我得到了完全相同的错误:

ValueError: Error when checking target: expected dense_1 to have shape (10,) but got array with shape (60,)

除了这一次,它显示了输入形状的轻微变化,因为第一个错误发生在使用 Conv1D 进行输入的模型中。

所有这些让我相信错误存在于我的数据中,因为我非常有信心这不是我的模型的错误,因为它发生在多个不同的模型中。

最佳答案

您需要添加 Flatten 层,以便将来自 Conv1D 层的数据展平为 Dense 层。

model = keras.Sequential([
keras.layers.Conv1D(5,input_shape=(1,60), kernel_size=12, padding='same'),
keras.layers.Conv1D(10, padding='same',activation=tf.nn.relu, kernel_size=10),
keras.layers.Conv1D(20, padding='same',activation=tf.nn.relu, kernel_size=6),
keras.layers.Conv1D(30, padding='same',activation=tf.nn.relu, kernel_size=5),
keras.layers.Flatten(), # This layer should be added
keras.layers.Dense(70, activation=tf.nn.relu),
keras.layers.Dense(300,activation="tanh")
])
model.compile(optimizer=tf.train.AdamOptimizer(0.001),
loss='mse',
metrics=['mae'])

关于python - tensorflow /Keras : model's output layer expects different input shape than what it recieved,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53662346/

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