> 백엔드 개발 > 파이썬 튜토리얼 > Keras 모델에서 레이어 출력에 어떻게 접근하나요?

Keras 모델에서 레이어 출력에 어떻게 접근하나요?

DDD
풀어 주다: 2024-11-30 02:09:12
원래의
956명이 탐색했습니다.

How to Access Layer Outputs in a Keras Model?

Keras에서 레이어 출력에 액세스

이 글에서는 TensorFlow에서 제공하는 기능과 유사하게 Keras 모델에서 각 레이어의 출력을 추출하는 방법을 안내합니다.

문제: CNN(컨벌루션 신경망)을 훈련한 후 이진 분류의 경우 각 레이어의 출력을 얻는 것이 바람직합니다.

답변: Keras는 이를 달성하기 위한 간단한 방법을 제공합니다.

제공된 코드에서 코드 사용자 정의 예:

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)
로그인 후 복사

참고: K.learning_phase() 인수가 중요합니다. 학습 및 테스트 중에 동작을 변경하는 Dropout 또는 BatchNormalization과 같은 레이어의 경우. Dropout 시뮬레이션 중에는 1로 설정하고 그렇지 않으면 0으로 설정합니다.

최적화: 효율성을 위해 모든 레이어 출력을 평가하기 위해 단일 함수를 사용하는 것이 좋습니다.

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)
로그인 후 복사

위 내용은 Keras 모델에서 레이어 출력에 어떻게 접근하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿