You need to enable JavaScript to run this app. tensorflow.keras自建模型调用summary()及plot_model()无结构输出问题
优惠活动
大模型
产品
解决方案
定价
更多

tensorflow.keras自建模型调用summary()及plot_model()无结构输出问题

问题原因分析

这个现象不属于Keras的正常行为,你的模型构建逻辑本身没有语法错误,输出异常通常由以下几个原因导致:

  • 日志输出级别过滤:model.summary()默认使用info级别的日志输出,如果你当前运行环境的日志级别被设置为WARN/ERROR及以上,summary的结构信息会被直接过滤,仅剩下最后一行的参数总统计输出。
  • 运行环境输出被抑制:如果你在Jupyter类环境运行,单元格末尾如果为赋值语句等无返回值的代码,或者stdout流被其他模块捕获重定向,也会导致summary、print的输出无法正常显示。
  • 可视化依赖缺失:keras.utils.plot_model生成图片需要额外安装pydot和graphviz依赖,未安装时通常只会输出静默警告不会报错,也就不会生成对应图片。

另外你代码里的层定义和注释标注的需求不匹配:你注释说明想要neurons对应的3层隐藏层,但是代码里在循环前额外加了一层10神经元的Dense层,实际会生成4层隐藏层,不符合需求的话可以删掉循环前的x = Dense(10,activation='relu')(inputs)这行。

修复方案
  1. 强制summary使用标准print输出,绕过日志级别限制:
# 修改summary调用为
model.summary(print_fn=print)
  1. 调整层遍历代码增加输出信息,确认模型结构正常:
for idx, layer in enumerate(model.layers):
    print(f"层索引:{idx} | 层名称:{layer.name} | 输出形状:{layer.output_shape} | 参数数量:{layer.count_params()}")
  1. 安装plot_model所需依赖:
    • 先安装系统级的graphviz库(对应操作系统搜索官方安装方式即可)
    • 再安装Python依赖:pip install pydot graphviz

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 00:54:03