【发布时间】:2020-12-10 20:21:38
【问题描述】:
第一个 Conv2D 层中的输入形状应该是 (100, 100, 1),但输出是 (None, 98, 98, 200)。我了解 200 和 None 确定的内容,但我不确定 98 作为参数。 此外,除此之外,我随机选择了 200 作为我的模型在 Conv2D 中的过滤器数量。我应该如何为我的模型确定合适数量的过滤器。它是基于反复试验吗?请帮忙。谢谢!!
from keras.models import Sequential
from keras.layers import Dense, Activation, Flatten, Dropout
from keras.layers import Conv2D, MaxPooling2D
from keras.callbacks import ModelCheckpoint
print(data.shape[1:])
model = Sequential()
model.add(Conv2D(200, (3,3), input_shape = data.shape[1:]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size = (2,2)))
model.add(Conv2D(100,(3,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dropout(0.5))
model.add(Dense(50, activation = 'relu'))
model.add(Dense(2, activation = 'softmax'))
model.compile(loss = 'categorical_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
model.summary()
(100, 100, 1) 型号:“sequential_3”
层(类型)输出形状参数#
conv2d_5 (Conv2D)(无、98、98、200)2000
activation_5(激活)(无、98、98、200)0
max_pooling2d_5 (MaxPooling2 (None, 49, 49, 200) 0
conv2d_6 (Conv2D) (无, 47, 47, 100) 180100
activation_6(激活)(无、47、47、100)0
max_pooling2d_6 (MaxPooling2 (None, 23, 23, 100) 0
flatten_3(展平)(无,52900)0
dropout_3(辍学)(无,52900)0
dense_5(密集)(无,50)2645050
dense_6(密集)(无,2)102
总参数:2,827,252 可训练参数:2,827,252 不可训练参数:0
【问题讨论】:
标签: python keras conv-neural-network