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

如何使用plot_model将Keras模型导出为完整PNG格式结构图

BiLSTM模型结构图导出问题解决方案

1. 配置plot_model参数展示完整层级信息

导出图内容空洞的核心原因有两点:一是Bidirectional属于嵌套包装层,默认配置下不会展开内部的双向LSTM分支结构;二是默认参数未开启张量维度、激活函数等细节展示,添加以下参数即可输出完整结构:

  • expand_nested=True:强制展开所有嵌套的包装层、子模型,会完整展示Bidirectional层内部的前向、后向LSTM计算分支,是解决结构显示空洞的核心参数
  • show_shapes=True:在每一层结构旁标注对应输入、输出张量的维度
  • show_layer_activations=True:标注每一层配置的激活函数类型
  • show_dtype=True(可选):标注各层张量的数据类型
  • rankdir='TB'(可选):控制结构图排布方向,TB为从上到下排布,设置为LR则为从左到右横向排布,更适合查看序列类模型的长链路结构

2. 直接导出PNG格式方法

无需额外格式转换,直接将plot_model方法中to_file参数的文件后缀设置为.png即可,接口会自动识别后缀并输出对应编码格式的图片,无需手动修改后缀或使用第三方工具转码。


修正后可直接运行的完整代码

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Bidirectional, LSTM, Dense
from tensorflow.keras.utils import plot_model

# 搭建BiLSTM时间序列预测模型
model_opendf = Sequential()
model_opendf.add(Bidirectional(LSTM(100, activation='relu'), input_shape=(100, 1)))
model_opendf.add(Dense(1))
model_opendf.compile(loss="mean_squared_error", optimizer="adam")

# 打印模型文字摘要
model_opendf.summary()

# 导出带完整信息的PNG格式结构图
plot_model(
    model_opendf,
    to_file='bilstm_model.png',
    expand_nested=True,
    show_shapes=True,
    show_layer_names=True,
    show_layer_activations=True,
    rankdir='TB'
)

运行提示依赖缺失时,先执行pip install pydot安装pydot库,再安装graphviz并配置好系统环境变量即可正常导出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:30:49