① 텐서플로 datasets에서 oxford_iiit_pet 데이터 세트를 로드합니다. with_info=True는 데이터 세트에 대한 추가 정보(예 클래스 수, 샘플 수 등)를 함께 로드하도록 지시합니다. 이 데이터 세트에는 애완동물 이미지와 관련된 정보가 포함되어 있어, 이미지 분석 및 분할 작업에 적합합니다.
② 함수는 입력된 이미지와 마스크를 정규화하는 작업을 수행합니다. 이미지는 tf.float32 타입으로 캐스팅되고, 255로 나누어져 정규화됩니다. 이는 이미지 데이터를 0과 1 사이의 값으로 조정하여 모델이 처리하기 쉽게 만듭니다. input_mask -= 1 라인은 마스크의 레이블을 조정하는데, 일반적으로 마스크의 레이블을 0부터 시작하도록 변경하기 위해 사용됩니다.
③ 함수는 데이터 세트의 각 샘플(데이터 포인트)에서 이미지와 마스크를 로드하고, 사이즈를 조정하는 역할을 합니다. tf.image.resize를 사용하여 입력 이미지와 마스크를 모두 (128, 128) 사이즈로 조정합니다. 마스크의 경우 method=tf.image.ResizeMethod.NEAREST_NEIGHBOR를 사용하여 리사이징하는데, 이는 픽셀 간의 정확한 레이블 정보를 보존하기 위함입니다.