python - 计算 CNN 层数
问题描述
我为我参与的一个项目创建了一个 CNN,我需要展示它。问题是,我不确定如何计算层数。
这是我的模型:
model = Sequential()
model.add(Conv2D(64,(3,3), input_shape = (40,40,2)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(64,(3,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dense(1600))
model.add(Reshape((40,40)))
model.add(Activation('sigmoid'))
model.compile(loss='MSE',
optimizer='SGD',
metrics=['MAE'])
len(model.layers) 返回 12:
所以我使用了 1 个输入 10 个隐藏的 1 个输出层,
或者
我需要将它们算作一个组并说 1 个输入 2 个隐藏 1 个输出?
解决方案
在计算 CNN 网络的深度时,我们只考虑具有可调/可训练权重/参数的层。在 CNN 中,只有卷积层和全连接层具有可训练的参数。如果要标记层,请仅考虑卷积层、全连接层和输出层(Conv2D 和 Dense)。最大池化层通常与卷积层一起作为一层。
推荐阅读
- python - 如何在 django 中创建简单的自定义字段?
- gwt - GWT UploadServlet maxSize 未得到尊重
- excel - 打开文件夹中的所有excel文件并复制特定文件
- angular - 角度输入/按钮没有动画
- r - 将 `st_bbox()` 的结果转换为其他 CRS
- python - 如何正确地将标准输出、日志记录和 tqdm 重定向到 PyQt 小部件
- jenkins - 如何从外部访问部署在 OpenShift (AWS) 中的 Jenkins 容器
- selenium - Vue.js、Nigthwatch、Selenium 端到端测试中的问题
- flutter - 如何在 Flutter 中更改 CupertinoDatePicker 的字体大小?
- node.js - 错误:ENOENT:没有这样的文件或目录,stat 'E:\client\index.html'