one_data = next(iter(total_dataloader))
images, labels = one_data
으로 dataloader item 확인하려는데 에러 발생함.
augmentations = self.transform(image=dicom_array, mask=nii_array)
데이터 증강이 설정되어 있을 경우, 이미지와 마스크에 적용한 부분에서 해당 에러가 발생함.
import albumentations as A
UNET_RESIZE = 256
transform = A.Compose(
[
A.Resize(height=UNET_RESIZE, width=UNET_RESIZE),
A.Normalize(),
]
)
if self.transform:
augmentations = self.transform(image=dicom_array, mask=nii_array)
dicom_array = augmentations["image"]
nii_array = augmentations["mask"]
return F.normalize(img, self.mean, self.std, self.max_pixel_value)
File \"/opt/conda/envs/torch_11/lib/python3.9/site-packages/albumentations/augmentations/functional.py\", line 105, in normalize
return normalize_numpy(img, mean, denominator)
normalize는 보통 RGB 채널을 가진 이미지에 대해 작동하기 때문에 평균값과 표준편차를 (3,) 형태로 설정함.
하지만 현재 이미지가 단일 채널(흑백 이미지)로 되어 있어 (256, 256) 형상으로 사용됬음.
dicom과 nii는 흑백 채널임 -> 흑백 채널로 충분.
A.Normalize()를
A.Normalize(mean=(0.5,), std=(0.5,), max_pixel_value=255)로 바꿈.