-
Dataset 관련 모듈
torch.utils.data: 데이터셋의 표준을 정의하고 데이터셋을 불러오고 자르고 섞는데 쓰는 도구들이 들어있는 모듈
모델 학습을 위한 데이터셋의 표준을 torch.utils.data.Dataset에 정의
torchvision.dataset: torch.utils.data.Dataset을 상속하는 이미지 데이터셋의 모음 (MNIST와 같은 데이터셋을 제공해줌.)
torchtext.dataset: torch.utils.data.Dataset을 상속하는 텍스트 데이터셋의 모음 (IMDb나 AG_NEWS와 같은 데이터셋을 제공해줌)
torchvision.transforms: 이미지 데이터셋에 쓸 수 있는 여러 가지 변환 필터를 담고 있는 모듈. 예를 들어 Tensor로 변환, 크기 조절(Resize), 잘라내기(Crop)로 이미지를 수정할 수 있고 밝기(Brightness)와 같은 값을 조절하는데 사용
torchvision.utils: 이미지 데이터를 저장하고 시각화하기 위한 도구가 들어있는 모듈
Dataset의 기본 구성 요소
__init__ : 초기화 작업. 일반적으로 CSV파일이나 XML파일과 같은 데이터를 이때 불러옴.
-> 모든 데이터를 메모리에 로드하지 않고 효율적으로 사용할 수 있다.
__len__ : Dataset의 최대 요소 수를 반환
__getitem__ : 데이터셋의 idx번째 데이터를 반환하는데 사용. 일반적으로 원본 데이터를 가져와서 전처리하고 데이터 증강하는 부분이 모두 여기에서 진행된다.from torch.utils.data import Dataset class CustomDataset(Dataset): def __init__(self,): ''' 데이터의 위치나 파일명과 같은 초기화 작업을 위해 동작 ''' pass def __len__(self): ''' Dataset의 최대 요소 수를 반환하는데 사용 ''' pass def __getitem__(self, idx): ''' 데이터셋의 idx번째 데이터를 반환하는데 사용 ''' pass dataset_custom = CustomDataset()
'CS 공부 > AI' 카테고리의 다른 글
torchvision에서 제공하는 transform 함수 (0) 2023.03.16 DataLoader (0) 2023.03.16 Pytorch 함수2 (0) 2023.03.15 torch 함수 (1) 2023.03.14 파이썬 AI 개발 환경 준비 (0) 2023.03.02