TensorFlow模型拼接后Dense层输入形状不匹配问题排查
TensorFlow多分支拼接后Dense层形状不匹配问题
在TensorFlow模型中,我将形状为(Batch_size, 29, 1)的输入序列送入1D CNN处理,之后尝试将CNN输出与形状为(Batch_size, 2)的人工特征结合。CNN处理后输出形状为(Batch_size, 29, 512),展平后为(Batch_size, 14848),拼接后预期形状为(Batch_size, 14850),且打印的张量形状符合预期,但后续Dense层报错称接收的输入形状为(Batch_size, 1053),与预期的14850不匹配,排查批量大小问题后仍报错。
相关代码片段
cnn_output = Activation('relu')(x6) # --- 合并分支 --- cnn_flat = Flatten()(cnn_output) # 展平CNN分支 engineered_input = Input(shape=(num_engineered_features,), name='engineered_input') combined = Concatenate(axis=1)([cnn_flat, engineered_input]) # --- 最终全连接层 --- x7 = Dense(64, activation='relu')(combined)
打印的张量形状
展平前CNN输出形状:(None, 29, 512) 展平后CNN输出形状:(None, 14848) 人工输入形状:(None, 2) 拼接后张量形状:(None, 14850)
报错信息
层"dense_1"的输入0与该层不兼容:预期输入形状的-1轴值为14850,但接收到的输入形状为(None, 1053)
内容的提问来源于stack exchange,提问作者VafrousEsprit
相关产品推荐
相关产品推荐

