Wenn ich mit tiefen neuronalen Netzwerken (DNNs) arbeite, ist es oft nützlich, die Aktivierungen einzelner Schichten zu inspizieren. Dies kann Ihnen helfen, das Verhalten des Modells zu verstehen und potenzielle Probleme zu identifizieren. Keras, eine beliebte DNN -Bibliothek für Python, bietet eine einfache Möglichkeit, dies zu erreichen.
Keras -Modelle werden als Abfolge von Ebenen konstruiert, wobei jeweils eine bestimmte Operation auf der Eingabe ausgeführt wird. Um die Ausgabe einer bestimmten Ebene abzurufen, können Sie die folgende Syntax verwenden:
model.layers[index].output
wobei der Index der Index der Ebene ist, aus der Sie die Ausgabe extrahieren möchten. Zum Beispiel, um die Ausgabe der zweiten Faltungsschicht in den bereitgestellten Code -Snippet zu erhalten:
conv_output = model.layers[2].output
, um die Ausgabe aus allen Schichten in dem Modell zu extrahieren. model.layers]
outputs = [layer.output for layer in model.layers]
, um eine Bewertungsfunktion für jede Ebeneausgabe zu erstellen, können Sie Folgendes ausführen:
von Keras importieren Backend als k Functors = [k.funktion ([INP, k.learning_phase ()], [out]) für out in Ausgängen]
from keras import backend as K functors = [K.function([inp, K.learning_phase()], [out]) for out in outputs]
Jetzt können Sie die Ebenenausgänge bewerten, indem Sie die Eingabedaten an die entsprechende Evaluierungsfunktion weitergeben:
Denken Sie daran, K.Learning_Phase () auf 1 zu setzen, wenn eines der Ebenen in Ihrem Modell die Normalisierung des Trainings oder die Stapel -Normalisierung enthalten.
test = np.random.random(input_shape)[np.newaxis,...] layer_outs = [func([test, 1.]) for func in functors] print layer_outs
Dies reduziert den Datenübertragungs- und Berechnungsaufwand, der den individuellen Funktionsbewertungen zugeordnet ist.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3