data transform이란 말그대로 데이터를 변형시키는 것이다. 딥러닝 학습을 위해서는 고정된 입력값이 보장 되어야한다. 하지만 수집한 데이터의 크기가 동일하지 않을 수도 있기 때문에 transform을 해준다.
이외에도 여러가지 transforms 함수가 있다.
def get_transforms_img(im):
im = transforms.Resize((224,224))(im)
flip = transforms.RandomVerticalFlip(p = 1)
im = flip(im)
im = transforms.CenterCrop(150)(im)
return im
get_transforms_img(im)
여러 이미지 변환을 할때 위 예시처럼 함수를 만들어서 할필요 없이 torchvision에서 제공하는 Compose라는 함수를 통해 여러 transforms들을 하나로 묶어서 처리할 수 있다.
trans = transforms.Compose([transforms.Resize((224,224)),#사이즈를 가로,세로 224X224로 변환
transforms.RandomVerticalFlip(0.5),#50%의 확률로 사진 뒤집기
transforms.CenterCrop(150)])#중앙을 가로,세로 150으로 자르기
trans(image)