首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解Tensorflow中的model.summary并建立模型可视化

理解Tensorflow中的model.summary并建立模型可视化
EN

Stack Overflow用户
提问于 2022-06-05 05:31:02
回答 1查看 98关注 0票数 1

我试着做一个像这样的模型可视化:

这张照片是从http://alexlenail.me/NN-SVG/LeNet.html拍摄的

这是我的代码:

代码语言:javascript
复制
def create_classical_model():
    # A simple model based off LeNet from https://keras.io/examples/mnist_cnn/
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Conv2D(32, [3, 3], activation='relu', input_shape=(28,28,1)))
    model.add(tf.keras.layers.Conv2D(64, [3, 3], activation='relu'))
    model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2)))
    model.add(tf.keras.layers.Dropout(0.25))
    model.add(tf.keras.layers.Flatten())
    model.add(tf.keras.layers.Dense(128, activation='relu'))
    model.add(tf.keras.layers.Dropout(0.5))
    model.add(tf.keras.layers.Dense(1))
    return model


model = create_classical_model()
model.compile(loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),
              optimizer=tf.keras.optimizers.Adam(),
              metrics=['accuracy'])

model.summary()

输出

代码语言:javascript
复制
Model: "sequential_3"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv2d_4 (Conv2D)            (None, 26, 26, 32)        320       
_________________________________________________________________
conv2d_5 (Conv2D)            (None, 24, 24, 64)        18496     
_________________________________________________________________
max_pooling2d_2 (MaxPooling2 (None, 12, 12, 64)        0         
_________________________________________________________________
dropout_4 (Dropout)          (None, 12, 12, 64)        0         
_________________________________________________________________
flatten_3 (Flatten)          (None, 9216)              0         
_________________________________________________________________
dense_6 (Dense)              (None, 128)               1179776   
_________________________________________________________________
dropout_5 (Dropout)          (None, 128)               0         
_________________________________________________________________
dense_7 (Dense)              (None, 1)                 129       
=================================================================
Total params: 1,198,721
Trainable params: 1,198,721
Non-trainable params: 0
_________________________________________________________________

谁能帮我找到每一层的深度、高度、宽度、过滤高度、过滤宽度以及何时使用向量长度?

EN

回答 1

Stack Overflow用户

发布于 2022-06-06 22:43:25

我以前也用过这个工具来可视化模型。

我对问题中给定的模型进行了可视化。

  • 深度是输入层的通道数,也是卷积层中的滤波器数。
  • 高度和宽度是矩阵
  • 滤波器的高度和宽度:平坦和密集层的卷积滤波器
  • 的高度和宽度:只需增加感知器的数目。

注:对于密集的图层和大量的感知器,如你的案例9216,可视化将消失在网站上。解决这一问题的方法是,首先使用一个较低的数字,比如256,而不是9216,然后下载svg文件,然后在记事本中打开它,找到256,然后用9216替换它。然后可以在浏览器上打开svg文件,以查看正确的体系结构。

参数:

结果:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72505014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档