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

如何向带有146个输出层的回归CNN模型输入数据?

基于ResNet50的多坐标预测CNN模型搭建

我搭建了一个以ResNet50为骨干网络的CNN模型,专门用于预测146组(x, y)坐标——模型的全连接部分包含146个独立输出层,每个层单独负责一组坐标的预测。

模型核心代码

inputs = Input(input_shape)

backbone = ResNet50(include_top=False, weights="imagenet", input_tensor=inputs)

for layer in backbone.layers:
    if isinstance(layer, BatchNormalization):
        layer.trainable = True
    else:
        layer.trainable = False
        
x = backbone.output
x = Flatten()(x)
x = Dropout(0.2)(x)
outputs = [Dense(2, activation="sigmoid", name="l"+str(i))(x) for i in range(1, 147)]

model = tf.keras.Model(inputs, outputs)

关键实现细节

  • 骨干网络采用预训练的ResNet50,仅将BatchNormalization层设为可训练,其余层冻结,以此复用ImageNet上学习到的通用视觉特征
  • 在全连接层前加入丢弃率为0.2的Dropout层,用于抑制模型过拟合
  • 146个独立的Dense输出层均使用sigmoid激活函数,输出归一化后的(x, y)坐标值

内容的提问来源于stack exchange,提问作者Mayuresh Gawai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:57:04