더북(TheBook)

keras.applications.vgg19.VGG19를 사용해 VGG19 모델을 로드합니다(①). include_top=True는 분류 층을 포함하고, weights="imagenet"은 ImageNet으로 훈련된 가중치를 사용합니다.

FCN에서는 백본 네트워크에서 마지막 출력 풀링 층 3개를 사용합니다. 이를 위해 keras.models.Model을 사용하여 VGG19 모델의 일부 층을 사용하는 새로운 모델(fcn_backbone)을 생성한 후 ②처럼 "block3_pool", "block4_pool", "block5_pool" 층의 출력을 사용합니다. 이러한 방식으로 기존 층의 출력층을 다중 출력으로 수정할 수 있습니다.

이제 다음처럼 모델 미세 조정을 위해 백본 네트워크의 가중치 값을 고정시킵니다.

fcn_backbone.trainable = False
x = fcn_backbone(input_layer)

그리고 추가 합성곱 층 및 모델의 과적합 방지를 위한 드롭아웃 층을 추가합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.