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

Keras特征提取器疑问:输入x在Sequential模型中经过哪些层?

TensorFlow Sequential模型特征提取的层执行路径说明

疑问

在TensorFlow Sequential模型的特征提取示例中,输入x进入my_intermediate_layer层之前是否会经过my_first_layer层?还是直接进入my_intermediate_layer层?如果是直接进入,输入未经过my_first_layer的Conv2D变换,这似乎不符合“输入应经过所有前置层”的认知,需要明确输入x会经过哪些层。

解答

输入x会依次经过my_first_layer层,再进入my_intermediate_layer层,最终输出my_intermediate_layer的处理结果。

具体解释:

  • 构建feature_extractor时,它复用了initial_model的完整串联层结构,只是将输出节点指定为my_intermediate_layer的输出。
  • Sequential模型的层是按定义顺序依次执行的,my_intermediate_layer在my_first_layer之后,输入必须经过前面所有层的处理才能到达该层。
  • 这个特征提取器本质是原模型的子模型,截取了从输入到my_intermediate_layer的计算路径,同时保留了原模型训练好的权重参数。

示例代码

initial_model = keras.Sequential(
    [
        keras.Input(shape=(250, 250, 3)),
        layers.Conv2D(32, 5, strides=2, activation="relu", name="my_first_layer"),
        layers.Conv2D(32, 3, activation="relu", name="my_intermediate_layer"),
        layers.Conv2D(32, 3, activation="relu"),
    ]
)

# 模型训练过程
...

# 构建特征提取器
feature_extractor = keras.Model(
    inputs=initial_model.inputs,
    outputs=initial_model.get_layer(name="my_intermediate_layer").output,
)
# 测试输入
x = tf.ones((1, 250, 250, 3))
features = feature_extractor(x)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:35:26