python - 检查目标 : expected concatenate_1 to have shape (1, 时出错,但得到形状为 (851,) 的数组

标签 python keras keras-layer

我在 keras 连接方面遇到一些尺寸问题。模型的输出数组(None,851)似乎与错误消息中所需的维度不同。这是我得到的:

input_img = Input(shape=(32, 100, 1))

conv1 = Conv2D(filters = 64, kernel_size=(5, 5), strides=1, padding="same", activation="relu")(input_img)
maxpool1 = MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid', data_format=None)(conv1)

conv2 = Conv2D(filters = 128, kernel_size=(5, 5), strides=1, padding="same", activation="relu")(maxpool1)
maxpool2 = MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid', data_format=None)(conv2)

conv3 = Conv2D(filters = 256, kernel_size=(3, 3), strides=1, padding="same", activation="relu")(maxpool2)
maxpool3 = MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid', data_format=None)(conv3)

conv4 = Conv2D(filters = 512, kernel_size=(3, 3), strides=1, padding="same", activation="relu")(maxpool3)
conv5 = Conv2D(filters = 512, kernel_size=(3, 3), strides=1, padding="same", activation="relu")(conv4)
flat1 = Flatten(data_format=None)(conv5)
dense1 = Dense(units = 4096, activation = "relu")(flat1)
dense2 = Dense(units = 4096)(dense1)

towers = [Dense(units = 37, activation='softmax')(dense2) for i in range (23)]
output = concatenate(towers, axis = -1)

char = Model(input=input_img, output=output)

Here is the summary the model

当我尝试拟合我的模型时,我收到以下消息: ValueError:检查目标时出错:预期 concatenate_1 具有形状 (1,),但得到的数组具有形状 (851,)

我不明白为什么 concatenate_1 应该具有形状 (1,) 而不是 (851,) 或 (None,851) 我的 target_train 的大小是 (867, 851),所以 .

有人遇到过这种错误吗?

非常感谢

最佳答案

问题在于您的target_train,即您想要学习的所需输出。连接后网络有 23*37 -> 851,摘要中为 (None, 851),其中 None 是动态批量大小。

您需要研究如何将 target_train 传递给 .fit 函数。模型输出为 851,但训练循环给出 1 个单一目标。

关于python - 检查目标 : expected concatenate_1 to have shape (1, 时出错,但得到形状为 (851,) 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55111075/

相关文章:

python - 将 python 字符串日期转换为 mysql 日期时间

python - Keras 检查输入 : expected input_4 to have shape (299, 299, 3) 时出错,但得到形状为 (64, 64, 3) 的数组

json - Keras JSON 导出 : inbound_nodes

python - 如何从 Keras.layers 实现 Merge

python - 为什么 pygame.event.wait 在 20 秒左右后停止音乐播放

python - 哪些网络编程语言能够制作此网络应用程序?

python - 将 <optgroup> 与 form.fields.queryset 一起使用?

python - scikit-learn, keras, tensorflow 和 mxnet 中保存机器学习模型的所有格式是什么?

python - 带有 Tensorflow 后端的 Keras - 在 CPU 上运行预测但适合 GPU

python - 即使在编译调用之后,Keras 模型也要求编译