[pytorch] Dataloader의 'collate_fn'을 사용한 이미지 패딩. 가변 사이즈의 이미지를 batch로 묶어 Dataloader에 주입하는 방법.
·
💻 Programming/AI & ML
Pytorch의 Dataloader는 인덱스에 따른 데이터를 반환해주는 dataset, 가져올 데이터의 인덱스를 컨트롤하는 sampler와 batch로 묶인 데이터를 batch로 묶을 때 필요한 함수를 정의하는 collate_fn 등의 파라미터를 가진다. 딥러닝 모델을 학습 또는 인퍼런스 하다보면 가변 사이즈의 데이터를 모델에 주입해야 할 경우가 생기는데, 이미지 데이터의 경우 일반적으로 특정 사이즈(e.g. 224x224)로 이미지를 리사이즈해서 사용하는 경우가 많다. 그래서 일반적으로 퍼블릭 데이터를 사용하는 경우 별 생각없이 transforms.Resize() 함수를 사용해서 모든 데이터를 일괄된 사이즈로 변경해서 사용하는 경우가 대부분이다. 하지만, 실제 환경에서 일괄된 이미지 리사이징을 사용하는..
[pytorch] Custom dataset, dataloader 만들기
·
💻 Programming/AI & ML
* dataset 폴더 구조 minc2500 ├─images │ ├─brick │ │ ├─brick_000000.jpg │ │ ├─brick_000001.jpg │ │ ├─... │ ├─carpet │ │ ├─carpet_000000.jpg │ │ ├─... │ ├─... │ │ ├─... │ │ ├─... ... ... ... ├─labels │ ├─train1.txt │ ├─train2.txt │ ├─... │ ├─test1.txt │ ├─test2.txt │ └─... import os import os.path import torch import torch.utils.data as data from PIL import Image from torchvision import transforms imp..