Dataset 관련 모듈 알아보기
- torch.utils.data : 파이토치 모델을 학습시키기 위한 데이터셋의 표준을 `torch.utils.data.Dataset 에 정의
- torchvision.dataset : 이미지 데이터셋 모음
- torchtext.dataset : 텍스트 데이터셋 모음
- torchvision.transforms : 이미지 트랜스폼
- torchvision.utils : 이미지 데이터를 저장하고 시각화를 위한 도구가 들어있는 모듈
Dataset의 기본 요소
from torch.utils.data import Dataset
class CustomDataset(Dataset):
def __init__(self,):
pass
def __len__(self):
pass
def __getitem__(self, idx):
pass
- init : 데이터의 위치, 파일명 초기화, csv, xml, json 파일 등을 불러옴, transfrom들을 Compose해서 정의
- len : Dataset 최대 요소 수를 반환
- getitem : idx째 인덱스 반환. 데이터를 전처리하고 증강할 때 사용
Dataset의 스타일
- Map-style dataset
- index가 존재하여 data[index]로 데이터를 참조할 수 있음
getitem
과 len
선언 필요
- Iterable-style dataset
- random으로 읽기에 어렵거나, data에 따라 batch size가 달라지는 데이터(dynamic batch size)에 적합
- stream data, real-time log 등에 적합
iter
선언 필요