텐서의 흐름이에요
이미 모델을 만들었다면, model.layers와 tensorflow.keras.backend를 활용해, 유효한 입력 텐서를 받으면 해당하는 출력 텐서를 반환하는 함수를 만들 수 있어요.
이는 네트워크의 중간 레이어 출력을 얻고 싶을 때 아주 유용한 도구예요.
예를 들어, 네트워크의 첫 번째 레이어의 입력과 출력을 가져오면, 주어진 입력 텐서에 대해 첫 번째 레이어까지만 순전파를 수행한 결과를 반환하는 inp_to_out 함수를 만들 수 있어요.
이제 바로 그 작업을 해볼 거예요!
Banknote Authentication 데이터셋의 X_test와 해당 model은 미리 로드되어 있어요. 콘솔에서 model.summary()를 입력해 구조를 확인해 보세요.
이 연습은 강의의 일부입니다
Keras로 시작하는 딥 러닝
연습 안내
tensorflow.keras.backend를K로 임포트하세요.model.layers리스트를 사용해 첫 번째 레이어의 입력과 출력 참조를 가져오세요.K.function()을 사용해inp를out에 매핑하는 함수를 정의하세요.X_test를 1번째 레이어에 통과시킨 결과를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import tensorflow.keras backend
import ____
# Input tensor from the 1st layer of the model
inp = ____.____[____].input
# Output tensor from the 1st layer of the model
out = ____.____
# Define a function from inputs to outputs
inp_to_out = K.function([____], [____])
# Print the results of passing X_test through the 1st layer
print(____([____]))