Artikel ini akan membimbing anda tentang cara mengekstrak keluaran setiap lapisan dalam model Keras, sama dengan keupayaan yang disediakan oleh TensorFlow.
Masalah: Selepas melatih rangkaian neural convolutional (CNN) untuk pengelasan binari, adalah wajar untuk mendapatkan output setiap lapisan.
Jawapan: Keras menawarkan kaedah mudah untuk mencapai ini:
Menyesuaikan kod dalam contoh yang disediakan :
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)
Nota: Argumen K.learning_phase() adalah penting untuk lapisan seperti Dropout atau BatchNormalization yang mengubah tingkah laku mereka semasa latihan dan ujian. Tetapkannya kepada 1 semasa simulasi Keciciran dan 0 sebaliknya.
Pengoptimuman: Untuk kecekapan, disyorkan untuk menggunakan satu fungsi untuk menilai semua output lapisan:
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)
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Output Lapisan dalam Model Keras?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!