Python/PyTorch 공부

[PyTorch] to_pil_image 명령어로 tensor를 pil image로 변경하기

AI 꿈나무 2021. 6. 15. 00:38
반응형

 안녕하세요 ㅎㅎ!! 이번 포스팅에서는 tensor인 데이터를 to_pil_image 명령어로 pil data type으로 변경하는 법을 살펴보겠습니다. 정말 편리하게 사용하고 있는데요, 자꾸 까먹어서 기록합니다 ㅎㅎ !!

 

 임의의 데이터를 갖고 왔는데요, 해당 데이터는 data loader에서 추출하여 tensor 형태의 [C,H,W]로 되어있습니다. 

# 임의의 데이터를 갖고 오겠습니다.

for x, y in train_dl:
    print(x.shape, y.shape)
    break
    
img = x[0]
target = y[0]
print(img.shape, target.shape)
print(img.dtype)

 

 위 tensor 데이터를 pil 데이터로 변경하여 손쉽게 시각화 할 수 있는 함수가 to_pil_image 입니다.

from torchvision.transforms.functional import to_pil_image

plt.figure()
plt.subplot(1,2,1)
plt.imshow(to_pil_image(img), cmap='gray')
plt.title('train')
plt.subplot(1,2,2)
plt.imshow(to_pil_image(target), cmap='gray')
plt.title('target')

 

 

짠ㅎㅎ

 

 

 만약에 normalize transformation을 적용한 데이터라면, to_pil_image(0.5*img+0.5)로 해주셔야 합니다. denormalize를 해야합니다.

반응형