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
En fait, et compte tenu de la question spécifique,
si vous ne spécifiez rien pour l'activation puis il par défaut pour
en effet, et je l'utilise moi-même de cette façon; mais en remplaçant
Je sais 🙂
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
Vous devez vous connecter pour publier un commentaire.
Tous les activations dans Keras, y compris
LeakyReLU
, sont disponibles en tant que couches, et non pas comme des activations; par conséquent, vous devez l'utiliser en tant que tel:OriginalL'auteur desertnaut