Đây là mã của tôi mà làm việc nếu tôi sử dụng các lớp kích hoạt khác như tanh:Làm cách nào để sử dụng các lớp kích hoạt nâng cao trong 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)
Trong trường hợp này, nó không hoạt động và nói "Lỗi Loại: đối tượng 'PReLU' không callable" và lỗi là được gọi tại dòng model.compile. Tại sao điều này là trường hợp? Tất cả các chức năng kích hoạt không nâng cao đều hoạt động. Tuy nhiên, không phải chức năng kích hoạt nâng cao nào, kể cả chức năng này, hoạt động.
- Nếu chúng ta có hai lớp FC dày đặc, chúng ta nên thêm sau mỗi lớp, và nếu chúng ta cũng bỏ học, chúng ta nên làm gì? – fermat4214