To jest mój kod, który działa, jeśli mogę użyć innych warstw aktywacji jak TANH:Jak korzystać z zaawansowanych warstw aktywacyjnych w 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)
W tym przypadku to nie działa i mówi: „TypeError: obiekt«PReLU»nie jest wymagalne”, a błąd jest wywoływana w linii model.compile. Dlaczego tak jest? Wszystkie nie zaawansowane funkcje aktywacji działają. Jednak żadna z zaawansowanych funkcji aktywacji, w tym tej, nie działa.
- Jeśli mamy dwie gęste warstwy FC, czy powinniśmy dodać po każdym z nich, a jeśli mamy również wyłączenie, co powinniśmy zrobić? – fermat4214