【发布时间】:2020-10-28 07:05:46
【问题描述】:
我正在创建一个功能性 API keras 模型,以根据两个混合数据输入回归和预测数值。
该网络由两个模型组成,它们的输出旨在连接起来并输入到另一个模型中,该模型将输出最终值以与要预测的值进行比较。
我的(未完成的)代码如下所示:
def categorical_model():
inputA = Input(shape=(3, 1329, ))
x = Dense(8, activation='relu')(inputA)
x = Dense(4, activation='relu')(x)
return Model(inputs=inputA, outputs=x)
def continuous_model():
inputB = Input(shape=(1329, 2))
y = Dense(64, activation="relu")(inputB)
y = Dense(32, activation="relu")(y)
y = Dense(4, activation="relu")(y)
return Model(inputs=inputB, outputs=y)
cat = categorical_model()
con = continuous_model()
catcon_list = [cat.output, con.output]
concatenated = concatenate(catcon_list, axis=0, name = 'concatenate')
concatenated = Dense(2, activation='softmax')(concatenated)
merged = Model(input=[cat.input,
con.input],
output=concatenated)
merged.summary()
代码生成ValueError,如下所示:
ValueError: A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got inputs shapes: [(None, 3, 4), (None, 1329, 4)]
可以连接这些输入吗?如何将轴更改为二维?
【问题讨论】:
-
你的数据是什么形状的?
-
A=(3,1329, ), B=(1329, ) @MarcoCerliani
-
你能把 A 移到 (1329,3,) 中吗?
标签: python tensorflow keras