Maison > développement back-end > Tutoriel Python > Comment accéder aux sorties de couche dans un modèle Keras ?

Comment accéder aux sorties de couche dans un modèle Keras ?

DDD
Libérer: 2024-11-30 02:09:12
original
973 Les gens l'ont consulté

How to Access Layer Outputs in a Keras Model?

Accès aux sorties de couche dans Keras

Cet article vous guidera sur la façon d'extraire la sortie de chaque couche dans un modèle Keras, analogue à la capacité fournie par TensorFlow.

Problème : Après avoir entraîné un réseau de neurones convolutifs (CNN) pour la classification binaire, il est souhaitable d'obtenir la sortie de chaque couche.

Réponse : Keras propose une méthode simple pour y parvenir :

Personnalisation du code dans l'exemple fourni :

from keras import backend as K

# Define input and layer outputs
input = model.input
outputs = [layer.output for layer in model.layers]

# Create a function to evaluate the output
fn = K.function([input, K.learning_phase()], outputs)

# Testing
test_input = np.random.random(input_shape)[np.newaxis,...]
layer_outputs = fn([test_input, 1.])

# Print the layer outputs
print(layer_outputs)
Copier après la connexion

Remarque : L'argument K.learning_phase() est crucial pour les couches comme Dropout ou BatchNormalization qui modifier leur comportement pendant la formation et les tests. Réglez-le sur 1 lors de la simulation de Dropout et sur 0 sinon.

Optimisation : Pour plus d'efficacité, il est recommandé d'utiliser une seule fonction pour évaluer toutes les sorties de couche :

fn = K.function([input, K.learning_phase()], outputs)

# Testing
test_input = np.random.random(input_shape)[np.newaxis,...]
layer_outputs = fn([test_input, 1.])

# Print the layer outputs
print(layer_outputs)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal