Это мой код, который работает, если я использую другие слои активации как TANH:Как использовать расширенные уровни активации в Keras?
model = Sequential()
act = keras.layers.advanced_activations.PReLU(init='zero', weights=None)
model.add(Dense(64, input_dim=14, init='uniform'))
model.add(Activation(act))
model.add(Dropout(0.15))
model.add(Dense(64, init='uniform'))
model.add(Activation('softplus'))
model.add(Dropout(0.15))
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)
В этом случае он не работает, и говорит «TypeError: объект„“PReLU не отозван» и ошибка вызывается в строке model.compile. Почему это так? Все незавершенные функции активации работают. Однако ни одна из расширенных функций активации, включая эту, не работает.
- Если у нас есть два плотных слоя FC, следует добавить их после каждого из них, и если у нас также есть отсева, что нам делать? – fermat4214