"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Keras 모델에서 특정 층의 활성화 값을 추출하는 방법은 무엇입니까?

Keras 모델에서 특정 층의 활성화 값을 추출하는 방법은 무엇입니까?

2025-04-13에 게시되었습니다
검색:276

How to Extract Activations from Specific Layers in a Keras Model?

Model Layers 인터페이스

Keras 모델은 각각의 층 시퀀스로 구성되어 각각 입력에 대한 특정 작동을 수행합니다. 특정 레이어의 출력을 검색하려면 다음 구문을 사용할 수 있습니다.

model.layers [index] .output

여기서 인덱스는 출력을 추출하려는 레이어의 색인입니다. 예를 들어, 제공된 코드 스 니펫에서 두 번째 Convolutional 레이어의 출력을 얻으려면

conv_output = model.layers [2] .output
model.layers[index].output
모든 레이어에서 출력을 얻는다

conv_output = model.layers[2].output

평가 함수 생성

실제로 레이어의 출력을 평가하기 위해 Keras는 K.Function이라는 기능 세트를 제공합니다. 이 기능은 텐서 목록을 입력하고 출력 목록을 반환합니다.
model.layers[index].output
각 계층 출력에 대한 평가 함수를 만들려면 다음을 수행 할 수 있습니다. functors = [k.function ([inp, k.learning_phase ()], [out]) 출력에서 ​​출력]

는 입력 텐서, k.learning_phase ()는 모델이 훈련 모드에 있는지 여부를 나타내는 플래그이며, 레이어의 출력입니다.
model.layers[index].output

출력

이제 입력 데이터를 해당 평가 함수로 전달하여 레이어 출력을 평가할 수 있습니다. layer_outs = [functors의 func에 대한 func ([test, 1.])] 인쇄 Layer_outs

는 모델의 레이어에 훈련 모드를 시뮬레이션하기 위해 드롭 아웃 또는 배치 정규화가 포함 된 경우 K.learning_phase ()를 1로 설정하는 것을 기억하십시오. 레이어 :

 Keras import 백엔드에서 k

functor = k.function ([inp, k.learning_phase ()], outputs)
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3