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

Keras预训练模型输入形状非默认时如何确定首层初始权重?

Keras预训练模型自定义输入形状时首层权重的初始化规则
  • 首先明确核心逻辑:预训练模型的第一个隐藏层均为2D卷积层,它的权重维度和输入图像的宽高完全无关
    卷积层权重的形状固定为(卷积核高度, 卷积核宽度, 输入通道数, 输出通道数),只和卷积核尺寸、输入通道数、输出通道数三个参数挂钩。基于ImageNet训练得到的首层权重默认对应输入通道数为3,只要你自定义输入的通道数也是3,不管输入宽高是224还是其他≥32的合法尺寸,权重维度都是完全匹配的,Keras会直接加载预训练好的权重值,不需要做任何调整。
  • 输入通道数非3时的处理
    如果你自定义的输入通道数不是3(比如灰度图输入为单通道),这时候预训练权重的输入通道维度和实际要求不匹配,Keras默认会按照你指定的初始化方式随机初始化首层权重,不会加载预训练参数。你也可以手动做权重适配,比如把3通道预训练权重的对应维度取均值后赋值给单通道首层卷积层,尽可能保留预训练的特征提取能力。
  • 额外注意
    仅当你设置include_top=True加载包含全连接分类头的完整模型时,输入尺寸才会要求固定为224*224,这种情况下自定义输入尺寸会直接报错,和首层权重的初始化逻辑无关。如果要自定义输入尺寸,都需要设置include_top=False加载全卷积部分的权重,此时首层权重加载不受输入宽高影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:45:08