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

如何获取Keras模型的层数(而非参数数量)?

获取Keras模型层数的几种便捷方法

当然有办法解决这个问题!不用再对着model.summary()逐行统计层数,下面这几个方法能帮你快速得到准确结果:

  • 直接获取顶层层数
    Keras模型的layers属性是一个包含所有顶层层的列表,直接取它的长度就能得到顶层的层数:

    # 假设你的模型实例为model
    layer_num = len(model.layers)
    print(f"模型顶层层数: {layer_num}")
    

    这个方法适用于大多数简单模型(比如基础的Sequential或单输入输出的Functional模型),操作简单高效。

  • 统计包含嵌套层的总层数
    如果你的模型里嵌套了子模型(比如Sequential套Sequential,或者自定义的模型层),上面的方法只会统计外层的模型/层,这时候可以用递归函数来统计所有层级的独立计算层:

    def count_all_layers(target_model):
        total = 0
        for layer in target_model.layers:
            # 判断当前层是否包含子层(即本身是一个模型)
            if hasattr(layer, 'layers'):
                total += count_all_layers(layer)
            else:
                total += 1
        return total
    
    # 使用示例
    total_layer_count = count_all_layers(model)
    print(f"模型总层数(含嵌套层): {total_layer_count}")
    

    这个递归方法会遍历所有嵌套的子模型,把每一个单独的计算层都算进去,适合复杂的模型结构。

其实model.summary()里的每一行(除了开头的模型信息和结尾的参数统计)对应一个层,但手动数确实容易出错,用代码获取既准确又省心~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:10:48