Hello Computer Vision

transforms.Resize 본문

딥러닝/파이토치

transforms.Resize

지웅쓰 2023. 1. 21. 21:36

이번에 CycleGAN관련하여 팀원들과 모델을 만들었는데 데이터셋은 각각 다르고 같은 코드를 사용했었다.

내 데이터셋은 이미지의 높이, 너비가 같았고 한 팀원의 데이터셋은 celebA였고 이 데이터셋의 크기는 178 x 218이다.

 

그리고 코드 내 전처리하는 과정에서  transforms.Resize(256) 코드가 있었고 내 데이터셋에는 적용되었지만 팀원의 데이터셋에는 오류가 났다.(전처리 목적 : (256 x 256)크기로 만들기)

이유를 찾기 위해 일단 document를 찾아보았다. Resize document 

 

만약 input값으로 받은 이미지의 높이, 너비가 같다면은 int값 하나를 그냥 주어도 해당 값으로 잘 변환이 되지만 만약 높이와 너비가 다르면

다르게 공식이 적용되는 것이었다. 이 경우를 celebA 데이터셋에 적용해본다면(3, 178, 218) -- > (256, 256 * 218/178) 이렇게 적용이 되는 것이다.

 

따라서 만약 Resize를 쓸 경우에 input 이미지의 크기를 정확히 알지 못한다면 그냥 tuple로 (N, N) 으로 적용하면 될 것 같다.