정적 그래프는 실행하지 않고도 살펴볼 수 있어
Functional 모델은 명령을 순서대로 실행하는 코드가 아니라 정적인 DAG이므로 그래프 자체를 검사하고 디버깅할 수 있어. 순전파를 돌리지 않아도 어떤 구조가 만들어졌는지 확인하는 도구가 세 가지 있어.
model.summary()는 레이어별 출력 모양과 매개변수 수를 글자 표로 보여주는 가장 빠른 점검 도구야.keras.utils.plot_model(...)은 실제 DAG와 연결마다 흐르는 텐서 모양을 그림으로 나타내. 분기와 건너뛰기 연결은 표보다 그림에서 훨씬 잘 보여.- 중간 출력 모델은
model.input에서 원하는 내부 레이어의.output까지 새keras.Model을 만들어 그 지점의 활성값을 확인해. 원본 모델을 바꾸지 않고 NaN이 처음 생긴 위치를 찾을 수 있어.
plot_model에는 외부 도구가 필요해
plot_model은 pydot을 거쳐 시스템의 Graphviz를 실행해. Keras만 설치한 환경에서는 ‘failed to import pydot’ 오류가 날 수 있어. pip install pydot과 Graphviz 바이너리를 함께 설치해야 하며 새 컨테이너나 CI 환경에서는 특히 빠뜨리기 쉬워.