def unpack_resize_data(section): # ①
image = section["image"]
segmentation_mask = section["segmentation_mask"] # ②
resize_layer = keras.layers.Resizing(INPUT_HEIGHT, INPUT_WIDTH) # ③
image = resize_layer(image)
segmentation_mask = resize_layer(segmentation_mask)
return image, segmentation_mask
train_ds = train_ds.map(unpack_resize_data, num_parallel_calls=AUTOTUNE) # ④, ⑤
valid_ds = valid_ds.map(unpack_resize_data, num_parallel_calls=AUTOTUNE)
test_ds = test_ds.map(unpack_resize_data, num_parallel_calls=AUTOTUNE)
① unpack_resize_data 함수는 데이터 세트의 각 항목을 받아, 이미지와 영역 분할 마스크(segmentation mask)를 추출하고 사이즈를 조정합니다.
② section["image"]와 section["segmentation_mask"]는 데이터 세트의 각 항목에서 이미지와 해당 영역 분할 마스크를 추출합니다.
③ keras.layers.Resizing(INPUT_HEIGHT, INPUT_WIDTH)는 케라스의 리사이징 층을 생성합니다. 이 층은 이미지와 영역 분할 마스크를 주어진 INPUT_HEIGHT와 INPUT_WIDTH(여기서는 각각 224)로 사이즈 조정합니다.