내장 카탈로그
keras.applications 안에 ImageNet pretrained 이미지 모델 37+ 개가 바로 들어있어 — ResNet, EfficientNet, MobileNet, VGG, DenseNet, Xception 등. 이름값으로 고르는 게 아니라 *어디서 돌릴 거냐* (서버 / mobile / edge) 랑 *parameter 더 써서 정확도 얼마나 살 거냐* 의 trade-off 로 골라.
| Model | Params | Top-1 Acc | Best For |
|---|---|---|---|
| EfficientNetV2 | 6M–119M | 최대 85.7% | 정확도/효율 trade-off 최강 |
| ResNet50 | 25M | 76.0% | 널리 쓰임, 이해 쉬움 |
| MobileNetV3 | 2.5M–5.4M | 75.2% | Mobile/edge 배포 |
| ConvNeXt | 28M–350M | 최대 88.5% | 현대 CNN architecture |
| VGG16 | 138M | 71.3% | 단순, 교육용 |
핵심 인자 하나 — include_top
transfer learning 에선 거의 항상 include_top=False 로 로드해. 이 인자가 ImageNet classifier 를 위에 붙일지 말지를 정해. False 면 마지막 1000-way Dense layer 를 떼고 순수 feature extractor (이미지 → feature map 만드는 conv stack) 만 줘. 거기에 내 class 수에 맞는 head 를 직접 붙이지. 기본값 include_top=True 는 ImageNet 원래 1000 카테고리를 그대로 예측하고 싶을 때만 써. 아래 Code section 이 그 호출이야.
sizing 디테일 하나: include_top=False 출력은 vector 가 아니라 feature map (height × width × channel) 이야 — 그래서 다음 lesson 은 backbone 뒤에 항상 GlobalAveragePooling2D 를 두고 Dense head 를 붙여.