본문 바로가기

부스트캠프 AI Tech/Pytorch

[09] Dataset

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]로 데이터를 참조할 수 있음
    • getitemlen 선언 필요
  • Iterable-style dataset
    • random으로 읽기에 어렵거나, data에 따라 batch size가 달라지는 데이터(dynamic batch size)에 적합
    • stream data, real-time log 등에 적합
    • iter 선언 필요

'부스트캠프 AI Tech > Pytorch' 카테고리의 다른 글

[11] image transform  (1) 2022.01.23
[10] Dataloader 의 기본요소  (0) 2022.01.22
[08] backward 과정 이해하기  (0) 2022.01.20
[07] apply  (0) 2022.01.20
[06] Pytorch의 hook  (0) 2022.01.20