CNN网络结构

定义模型

model = Sequential()
model.add(Convolution2D(input_shape=(150,150,3), filters=12, kernel_size=3, strides=1, padding=‘same’, activation = ‘relu’))
model.add(Convolution2D(filters=5, kernel_size=3, strides=1, padding=‘same’, activation = ‘relu’))
model.add(MaxPooling2D(pool_size=2, strides=2, padding=‘valid’))
model.add(Flatten())
model.add(Dense(128,activation = ‘relu’))
model.add(Dropout(0.5))
model.add(Dense(10,activation = ‘softmax’))
CNN网络结构
CNN网络结构
要点:
1.输入图形的channel数目必须和卷积核的深度保持一致。
即:shape=(150,150,3),卷积的keneral_size = 5,则,卷积输入为:553
2.filter数目决定输出的图形有多少个。
本质:不同的卷积下得到的结果,多少不同的卷积核输入,得出多少图形。
3.model.add(Flatten())的作用是将多维度的向量变成一维,以便于后面的全连接层操作