그다음으로 훈련, 검증, 테스트 데이터 세트를 전처리하고 데이터 로딩의 효율성을 높이기 위한 파이프라인을 설정하는 과정을 진행하겠습니다.
def preprocess_data(image, segmentation_mask): # ①
image = keras.applications.vgg19.preprocess_input(image)
return image, segmentation_mask
train_ds = (
train_ds.map(preprocess_data, num_parallel_calls=AUTOTUNE).shuffle(buffer_size=1024).prefetch(buffer_size=1024)) # ②
valid_ds = (
valid_ds.map(preprocess_data, num_parallel_calls=AUTOTUNE).shuffle(buffer_size=1024).prefetch(buffer_size=1024))
test_ds = (
test_ds.map(preprocess_data, num_parallel_calls=AUTOTUNE).shuffle(buffer_size=1024).prefetch(buffer_size=1024)
)
모델의 백본 네트워크는 뒤에서 VGG19를 사용할 예정이라 VGG19 모델에 적합한 형태로 이미지 데이터를 전처리합니다(①). 전처리 작업에는 평균 값을 뺀 후 값의 크기를 조정하여 모델 입력층에 적합한 형식으로 데이터를 조정하는 작업이 진행됩니다.