예제 코드들이 포함된 깃허브 저장소를 직접 클론하여 설치합니다. 특히 텐서플로 저장소에는 텐서플로와 관련된 다양한 고급 예제와 튜토리얼이 포함되어 있어, 실습이나 학습할 때 유용합니다. 해당 저장소에서 pix2pix 모델을 가져옵니다. 우리 예제는 pix2pix 모델 구조를 일부 변경하는 방식으로 U-Net을 구현할 예정입니다.
다음으로 훈련 및 검증 데이터 세트를 준비하는 과정을 설정합니다.
dataset, info = tfds.load('oxford_iiit_pet:3.*.*', with_info=True) # ①
def normalize(input_image, input_mask): # ②
input_image = tf.cast(input_image, tf.float32) / 255.0
input_mask -= 1
return input_image, input_mask
def load_image(datapoint): # ③
input_image = tf.image.resize(datapoint['image'], (128, 128))
input_mask = tf.image.resize(
datapoint['segmentation_mask'],
(128, 128),
method = tf.image.ResizeMethod.NEAREST_NEIGHBOR,)
input_image, input_mask = normalize(input_image, input_mask)
return input_image, input_mask