Keras多输入模型如何正确调用model.fit完成训练
问题原因
model.fit的参数逻辑完全错位:你的模型是双输入单输出结构,两个输入要求都是形状为(16,16,4)的图像数据,输出是长度为1的回归标签,你误把标签数据放到了输入位置、把另一组图像数据放到了标签位置,才触发形状不匹配报错- 隐含逻辑冗余:你两次调用
train_test_split时都用了固定random_state=42,所以两次拆分出来的标签trainY1/trainY2完全一致,任选其一作为全局标签即可
正确的
model.fit写法 model.fit( x=[trainX1, trainX2], y=trainY1, validation_data=([valX1, valX2], valY1), epochs=5, batch_size=32, verbose=1 )
额外优化建议
可以调整train_test_split的返回值命名,避免后续混淆:
# 拆分第一组图像和对应标签 (trainY, valY, trainX1, valX1) = train_test_split(df, images1, test_size=0.30, random_state=42) # 拆分第二组图像,random_state和上一步一致,标签完全相同,无需重复接收标签变量 (_, _, trainX2, valX2) = train_test_split(df, images2, test_size=0.30, random_state=42)
内容的提问来源于stack exchange,提问作者rayan
相关产品推荐
相关产品推荐

