Где я могу вызвать функцию BatchNormalization в Keras?

Если я хочу использовать функцию BatchNormalization в Keras, то мне нужно вызывать ее один раз только в начале?

Я прочитал эту документацию для нее: http://keras.io / слои / нормализация /

Я не понимаю, где я должен это назвать. Ниже мой код пытается использовать его:

model = Sequential()
keras.layers.normalization.BatchNormalization(epsilon=1e-06, mode=0, momentum=0.9, weights=None)
model.add(Dense(64, input_dim=14, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(2, init='uniform'))
model.add(Activation('softmax'))

sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy', optimizer=sgd)
model.fit(X_train, y_train, nb_epoch=20, batch_size=16, show_accuracy=True, validation_split=0.2, verbose = 2)

Я спрашиваю, потому что, если я запускаю код со второй строкой, включая пакетную нормализацию, и если я запускаю код без второй строки, я получаю аналогичные выходные данные. Так что либо я не вызываю функцию в нужном месте, либо я думаю, что это не имеет большого значения.

144
задан Harsh Gupta 4 June 2019 в 18:55
поделиться