You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在拥有两组X_train与y_train时拟合拼接后的CNN模型

双输入拼接CNN模型的拟合方法

首先先修正你代码里的一个关键问题:二分类任务中,最后一层的激活函数用错了。softmax是用于多分类的,单输出节点下应该用sigmoid,不然BinaryCrossentropy损失计算会完全失效,修改后的输出层代码:

merged_out = Dense(units=1, activation='sigmoid')(merged_out)

接下来是模型拟合的核心操作:
因为你的拼接模型有两个输入分支,所以调用fit时需要传入包含两个训练输入的列表,而标签用同一个y_train即可(毕竟两个分支的输入是同一图像的不同处理版本,对应标签一致)。

具体拟合代码示例

假设:

  • X_train_a是给model_a的原始训练图像数据
  • X_train_b是给model_b的、经过特定处理后的同批训练图像数据

拟合代码如下:

# 训练模型
history = merged_model.fit(
    [X_train_a, X_train_b],  # 按模型输入顺序传入两个分支的训练数据
    y_train,
    batch_size=32,  # 根据你的GPU显存调整
    epochs=20,
    validation_split=0.2,  # 自动划分验证集,也可以手动传validation_data
    shuffle=True
)

验证集的传入方式

如果用手动划分的验证集,格式和训练集一致:

# 假设X_val_a、X_val_b是验证集的两个输入,y_val是验证集标签
history = merged_model.fit(
    [X_train_a, X_train_b],
    y_train,
    batch_size=32,
    epochs=20,
    validation_data=([X_val_a, X_val_b], y_val),
    shuffle=True
)

内容的提问来源于stack exchange,提问作者Meriem Chahinez Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 01:01:24