Heim > Backend-Entwicklung > Python-Tutorial > Wie greife ich auf Ebenenausgaben in einem Keras-Modell zu?

Wie greife ich auf Ebenenausgaben in einem Keras-Modell zu?

DDD
Freigeben: 2024-11-30 02:09:12
Original
973 Leute haben es durchsucht

How to Access Layer Outputs in a Keras Model?

Zugriff auf Ebenenausgaben in Keras

In diesem Artikel erfahren Sie, wie Sie die Ausgabe jeder Ebene in einem Keras-Modell extrahieren, analog zu der von TensorFlow bereitgestellten Funktion.

Problem: Nach dem Training eines Faltungs-Neuronalen Netzwerks (CNN) für die binäre Klassifizierung ist es wünschenswert Erhalten Sie die Ausgabe jeder Ebene.

Antwort: Keras bietet eine einfache Methode, um dies zu erreichen:

Anpassen des Codes im bereitgestellten Beispiel:

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)
Nach dem Login kopieren

Hinweis: Das K.learning_phase()-Argument ist entscheidend für Ebenen wie Dropout oder BatchNormalization, die ihre ändern Verhalten während Training und Prüfung. Setzen Sie es während der Dropout-Simulation auf 1 und andernfalls auf 0.

Optimierung: Aus Effizienzgründen wird empfohlen, eine einzige Funktion zur Auswertung aller Layer-Ausgaben zu verwenden:

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)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie greife ich auf Ebenenausgaben in einem Keras-Modell zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage