Comment utilisez-vous Keras LeakyReLU en Python?

Je suis en train de produire une CNN à l'aide de Keras, et écrit le code suivant:

batch_size = 64
epochs = 20
num_classes = 5

cnn_model = Sequential()
cnn_model.add(Conv2D(32, kernel_size=(3, 3), activation='linear',
                     input_shape=(380, 380, 1), padding='same'))
cnn_model.add(Activation('relu'))
cnn_model.add(MaxPooling2D((2, 2), padding='same'))
cnn_model.add(Conv2D(64, (3, 3), activation='linear', padding='same'))
cnn_model.add(Activation('relu'))
cnn_model.add(MaxPooling2D(pool_size=(2, 2), padding='same'))
cnn_model.add(Conv2D(128, (3, 3), activation='linear', padding='same'))
cnn_model.add(Activation('relu'))
cnn_model.add(MaxPooling2D(pool_size=(2, 2), padding='same'))
cnn_model.add(Flatten())
cnn_model.add(Dense(128, activation='linear'))
cnn_model.add(Activation('relu'))
cnn_model.add(Dense(num_classes, activation='softmax'))

cnn_model.compile(loss=keras.losses.categorical_crossentropy,
                  optimizer=keras.optimizers.Adam(), metrics=['accuracy'])

Je veux utiliser Keras de LeakyReLU d'activation de la couche au lieu d'utiliser Activation('relu'). Cependant, j'ai essayé d'utiliser LeakyReLU(alpha=0.1) en place, mais c'est une activation de la couche de Keras, et j'obtiens une erreur à propos de l'utilisation d'une activation de la couche et pas une fonction d'activation.

Comment puis-je utiliser LeakyReLU dans cet exemple?

Je vous suggère aussi de mettre activation='relu' dans votre Conv2D et Dense couches, au lieu de faire linear activation et puis il y en relu par la suite.
En fait, et compte tenu de la question spécifique, activation='linear' doit être retiré et n'est pas remplacé par autre chose.
si vous ne spécifiez rien pour l'activation puis il par défaut pour linear. En outre, c'est la façon dont j'utilise ReLU w/ convolutifs couches - Convolution2D(128, (3, 3), activation="relu", padding="same") - qui fonctionne très bien. Exemple de Keras à l'aide de CNN pour MNIST: github.com/keras-team/keras/blob/master/examples/mnist_cnn.py - s'il vous plaît notez qu'ils spécifier l'activation. 🙂
en effet, et je l'utilise moi-même de cette façon; mais en remplaçant linear avec relu ici n'est pas la bonne chose à faire, puisque l'OP veut en fait à remplacer relu avec LeakyReLU
Je sais 🙂

OriginalL'auteur Jack Trute | 2018-02-16