Keras 如何理解卷积模型

Keras 如何理解卷积模型,keras,Keras,这是我第一次使用keras.sequential创建卷积模型。下面是代码,我不明白摘要部分是什么意思 from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout from keras.models import Sequential from keras import optimizers model = Sequential() model.add(Conv2D(16, kernel_size=(3, 3)

这是我第一次使用keras.sequential创建卷积模型。下面是代码,我不明白摘要部分是什么意思

from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout

from keras.models import Sequential
from keras import optimizers

model = Sequential()

model.add(Conv2D(16, kernel_size=(3, 3), activation='relu', 
                 input_shape=input_shape))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(64, kernel_size=(3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(128, kernel_size=(3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

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


model.compile(loss='binary_crossentropy',
              optimizer=optimizers.RMSprop(),
              metrics=['accuracy'])
model.summary()为您提供有关模型每个层的输出形状和参数数量的信息。例如,第一层“conv2d_1”对应于python代码中的第一层

model.add(Conv2D(16, kernel_size=(3, 3), activation='relu', 
                 input_shape=input_shape))
它告诉您该层的输出具有形状(无、148、148、16)。“无”指的是样品/批次尺寸,通常在Keras模型中未指定。它将根据实际输入数据自动推断。形状的其余部分表示您有148x148x16数据,可以将其视为148x148的16个图像的堆栈。“16”来自于表中的第一个参数

Conv2D(16,...
参数是层中权重的数量,我相信这些都是可以训练的。这告诉你一些关于模型的复杂性以及以相对的方式训练需要多长时间——更多的参数,更多的处理等等

其余的行也有类似的分析。我希望这有帮助

Conv2D(16,...