Keras: 각 레이어에서 출력을 검색하는 방법
소개
Keras에서 신경망 모델은 간단합니다. 그러나 각 레이어의 출력을 추출하는 것은 좀 더 어려울 수 있습니다. 이 문서의 목적은 레이어 출력을 효과적으로 얻는 프로세스를 안내하여 이 문제에 대한 포괄적인 솔루션을 제공하는 것입니다.
방법
특정 레이어의 출력을 검색하려면 , model.layers[index].output 속성을 통해 액세스하면 됩니다. 여기서 index는 모델에서 원하는 레이어의 위치를 나타냅니다. 예를 들어, 첫 번째 레이어의 출력을 얻으려면:
first_layer_output = model.layers[0].output
모든 레이어에서 동시에 출력을 얻으려면 다음 코드를 활용하세요:
from keras import backend as K input_tensor = model.input # Input placeholder layer_outputs = [layer.output for layer in model.layers] # List of layer outputs evaluation_functions = [K.function([input_tensor, K.learning_phase()], [out]) for out in layer_outputs] # Functions to evaluate layer outputs # Testing test_input = np.random.random(model.input_shape)[np.newaxis,...] # Sample input layer_outputs = [func([test_input, 1.]) for func in evaluation_functions] # Evaluate layer outputs for test input
최적화
효율성을 높이려면 단일 기능을 사용하여 모든 레이어를 평가하는 것이 좋습니다. 출력:
from keras import backend as K input_tensor = model.input # Input placeholder layer_outputs = [layer.output for layer in model.layers] # List of layer outputs evaluation_function = K.function([input_tensor, K.learning_phase()], layer_outputs) # Function to evaluate all layer outputs # Testing test_input = np.random.random(model.input_shape)[np.newaxis,...] # Sample input layer_outputs = evaluation_function([test_input, 1.]) # Evaluate all layer outputs for test input
참고: K.learning_phase() 매개변수가 올바르게 설정되었는지 확인하세요. 값 1은 훈련 모드(예: Dropout과 같은 레이어)를 시뮬레이션하고, 0은 테스트 모드를 나타냅니다.
위 내용은 Keras 모델의 각 레이어에서 출력을 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!