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

如何绘制自建2层CNN网络结构示意图?附Keras模型代码

2层卷积神经网络结构示意图绘制方案

待可视化网络结构梳理

你给出的Keras Sequential实现对应的层级顺序如下:

  1. 输入层:维度为(n_timesteps, 16, 1)的单通道输入
  2. 卷积层1:共8个10×8尺寸卷积核,采用same填充,ReLU激活,带L2(0.0001)正则项
  3. 卷积层2:共10个10×4尺寸卷积核,采用same填充,ReLU激活
  4. 平均池化层:池化窗口尺寸2×2
  5. Dropout层:神经元丢弃概率0.3
  6. Flatten展平层
  7. 全连接输出层:共6个神经元,Softmax激活,对应6分类任务

对应实现代码:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, AveragePooling2D, Dropout, Flatten, Dense
from tensorflow.keras.regularizers import l2

model = Sequential()
model.add(Conv2D(8, (10,8), padding='same',  
    activation='relu',activity_regularizer=l2(0.0001),input_shape= 
    (n_timesteps, 16,1)))
model.add(Conv2D(10,( 10,4), activation='relu', 
    padding='same'))
model.add(AveragePooling2D(pool_size=(2,2)))
model.add(Dropout(0.3))
model.add(Flatten())
model.add(Dense(6, activation='softmax'))

可行绘制方案

针对你之前使用visualkeras效果差、NN-SVG绘制失败的情况,以下三种方案适配性更强,落地难度低:

  • 方案1:使用Keras原生plot_utils工具(最快出图)
    该工具是Keras官方配套的可视化接口,不会出现第三方工具对模型结构识别错误的问题。

    1. 先安装依赖:首先安装系统层面的graphviz组件,再通过pip安装pydot、pydot-ng两个Python包
    2. 直接调用接口导出图片,参考代码如下:
    from tensorflow.keras.utils import plot_model
    plot_model(model, to_file='cnn_structure.png', 
               show_shapes=True, 
               show_layer_names=True,
               dpi=300)
    

    生成的图片会自动标注每一层的输入输出维度、层类型,导出的300dpi图片可直接用于报告或论文初稿。

  • 方案2:使用Netron本地可视化(最稳零代码)
    该工具是本地运行的模型结构查看器,不存在网页工具的兼容、加载失败问题。你只需要将训练好的模型保存为.h5或SavedModel格式,直接将模型文件拖入Netron窗口即可自动生成结构示意图,所有层参数(卷积核尺寸、池化大小、dropout概率、激活函数)都会自动标注,支持手动调整视图后导出高清图片。

  • 方案3:使用draw_convnet脚本自定义绘制(出图质量最高)
    如果需要绘制论文中常用的块式卷积网络示意图,可直接使用基于matplotlib编写的draw_convnet轻量脚本,不需要安装复杂依赖。你只需要对照自己的网络层级,修改脚本中每一层的通道数、尺寸、标注文字参数即可,支持自定义配色、字体、3D透视效果,不会出现visualkeras常见的层重叠、标注错位问题,生成的矢量图可直接用于正式发表。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:51:28