2

최근에 고양이와 개 분류를위한 기본 CNN 모델을 만들었습니다 (매우 기본적인). keras를 사용하여이 레이어의 출력을 시각화하려면 어떻게해야합니까? 나는 keras를 위해 Tensorflow 백엔드를 사용했다.keras에서 길쌈 신경 네트워크의 중간 계층 출력을 시각화하는 방법은 무엇입니까?

cnnModel = #a model you have defined with layers 

을 그리고 당신의 출력을 원하는 가정 :

당신이 당신의 완전한 모델을 가지고 가정 :

답변

3

당신은 당신이보고 예측을 만들고 싶어 모든 레이어의 출력을 취하는 모델을 정의 할 수 있습니다 인덱스 1, 5 및 8의 레이어.
이 레이어의 출력을 사용하여 새 모델을 만듭니다. 이 모델

from keras.models import Model 

desiredLayers = [1,5,8] 
desiredOutputs = [cnnModel.layers[i].output for i in desiredLayers] 

#alternatively, you can use cnnModel.get_layer('layername').output for that  

newModel = Model(cnnModel.inputs, desiredOutputs) 

확인 예측 :

이제
print(newModel.predict(inputData)) 

, 그들은 일반적인 이미지보다 훨씬 더 많은 채널을 가질 수 있기 때문에 이러한 결과는, 까다로운 일이 될 수있다 "시각화".

+0

덕분에 도움이 될 것입니다. 당신이 말했듯이, 그것은 정말로 까다 롭습니다. 그들에는 수로가 더있다. 그 어떤 제안. – Afrid

+0

아마도 각 채널을 rgb 이미지로 취급합니까? –

+0

덕분에 작동합니다. 이제 어떻게 필터가 작동하는지 볼 수 있습니다. – Afrid