python - 带有 keras 的 CNN 架构

标签 python keras conv-neural-network

我正在使用 Python (keras) 处理二元分类问题。

我的 CNN 网络架构如下:

    def CNN():
      model = Sequential()
      model.add(Conv2D(64, kernel_size=(1, 3), activation='elu', padding='valid', input_size=(20,10, 1)))
      model.add(Conv2D(32, kernel_size=(1, 3), activation='elu', padding='valid'))
      model.add(Conv2D(16, kernel_size=(1, 3), activation='elu', padding='valid'))

      model.add(Flatten())
      model.add(Dense(512, activation='elu'))
      model.add(Dense(512, activation='sigmoid'))

现在我尝试在表格中描述我的 CNN 架构: 我有一个一维数据集,包含 200 列 200k 行。

批量大小 = 64

CNN 1 - 64 channel CNN 2 - 32 channel CNN 3 - channel 16

FC1 - 500 单位 FC2 - 1 台

这里我试图在表格中描述架构(本节中的问题)

-- CNN1 -- CNN2 -- CNN3 -- FC1 -- FC2

输入形状-- 64* 64 * 200 * 1 -- 32* 64 * 200 * 1 -- 16* 64 * 200 * 1 -- 16*64*200*1*500 - 16*64*200*1 *500

输出形状 -- 32* 64 * 200 * 1 - 16* 64 * 200 * 1 - 16* 64 * 200 * 1 - 16*64*200*1*500 -- 1

我在定义网络的正确输入输出形状时遇到了麻烦,寻求一些帮助。谢谢。

最佳答案

Keras 中用于图像分类的标准 CNN 的输入形状如下:

input_shape = ( batch_size , height , width , num_channels )

第一个 Conv2D 层的输入形状为:

img_height = 20
img_width = 10
num_channels = 1

model.add(Conv2D(64, kernel_size=(1, 3), activation='elu', padding='valid', 
input_size=(img_height,img_width, num_channels)))

由于您正在执行二元分类,最后一个Dense层将如下所示:

model.add(Dense(1, activation='sigmoid'))

此外,作为奖励,模型编译如下:

model.compile( loss='binary_crossentropy' , optimizer='adam' , metrics=['accuracy'] )

关于python - 带有 keras 的 CNN 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56004871/

相关文章:

tensorflow - 两个平行的 conv2d 层 (keras)

python - 无法使用 Jupyter 在 Visual Studio Code 中运行 Python 代码 - "Jupyter kernel cannot be started from ' Python 3.6.8 64 位”

python - 是否可以在运行时启动Python解释器?

Python 列表排序取决于项目是否在另一个列表中

machine-learning - 如何在 Keras 中对批量大小应用均值/平均池化以获得整个批量的单个输出?

python - 在 Pytorch 中,复制模型的学习参数作为同一架构的第二个模型的初始化的最有效方法是什么?

python - 无法在heroku上恢复postgres转储

keras - 如何在 Keras 中实现分层 Transformer 进行文档分类?

keras - 属性错误 : 'function' object has no attribute 'set_model'

r - 安装 R 4.0.2 版本