【发布时间】:2021-03-04 08:13:20
【问题描述】:
在我添加批量归一化层之前,我的模型的训练准确度为 97%,但是一旦我添加了批量归一化层,我的准确度就下降到了 70%。为什么会发生这种情况以及在进行批量标准化的同时提高准确性的任何方法?
model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=input_shape))
model.add(Activation('relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2, 2)))
#first hidden layer
model.add(Conv2D(32, (3, 3)))
model.add(Activation('relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2, 2)))
#output layer
model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.summary()
model_checkpoint = ModelCheckpoint( "model.hdf5", verbose=1, save_best_only=True)
model.compile(loss='binary_crossentropy',
optimizer= 'adam',
metrics=['accuracy'])
【问题讨论】:
标签: tensorflow keras conv-neural-network batch-normalization