본문 바로가기

Programming/Python

Transforms.Normalize()의 역할

728x90
반응형

파이썬에서 tensor로 이미지를 처리할 때 주로 transform.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))로 처리를 한다고 한다.

이는 이미지의 경우 픽셀 값 하나 하나가 0 ~ 255 값을 갖는데, tensor로 타입 변환 시 0 ~ 1 사이의 값으로 바뀌게 된다.

이를 -1 ~ 1 사이의 값으로 normalized 시켜서 이미지를 동일한 환경으로 어느정도 맞춰주어 학습을 진행하기 위해 사용하는 것이라고 한다!

 

transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))

 

이렇게 한 번 Normalize 시켜주었던 이미지를 다시 복구시켜 확인하고 싶으면

아래처럼 값을 조정해주어야 한다.

 

plt.imshow(transforms.ToPILImage()(image*0.5+0.5))

 

만약 값을 조정하지 않고 이미지를 확인하면 아래와 같이 나옴..

 

 

 

값을 조정해주면 다시 잘 나온다!

728x90
반응형