트랙의 모든 조각을 하나의 스크립트로
이 마무리 실습은 지금까지 배운 요소를 완전한 이미지 파이프라인으로 합쳐. 레이어로 만든 전처리, 학습할 때만 켜지는 이미지 증강, 백엔드에 독립적인 fit(), 캐시와 미리 가져오기를 적용한 폴더 기반 데이터셋이 하나의 모델 정의와 학습 호출로 이어져.
전처리가 모델 안에 있어야 하는 이유
Rescaling과 이미지 증강 블록은 모든 Conv2D보다 앞선 첫 레이어들이야. 이제 모델은 [0, 255] 범위의 원시 이미지를 직접 받고 내부에서 정규화해. 별도의 전처리 스크립트를 맞춰 관리할 필요가 없으므로 학습과 서빙의 불일치도 막을 수 있어. 저장된 .keras 파일 자체가 전처리 규칙을 품는 셈이지. 증강은 Random* 블록이므로 추론할 때 자동으로 꺼지고, 운영 입력에는 고정된 크기 조정만 적용돼.
배포는 모델 파일 하나로
변환이 모델 가중치와 함께 이동하므로 배포 과정은 단순해져. .keras 파일을 서빙 장비로 옮기고 keras.saving.load_model()로 불러온 뒤 원시 이미지에 predict()를 호출하면 돼. 따로 배포할 전처리 코드나 재현해야 할 별도 환경이 없고 변환 규칙이 어긋날 여지도 줄어. 데이터를 모델 옆에 붙인 임시 스크립트가 아니라 모델의 일급 구성요소로 다룬 결과야.