728x90
반응형
Pytorch에서 Dataset은 데이터를 추상화한 클래스로서, 모델의 학습 및 평가에 사용됩니다. Dataset 클래스의 두 가지 종류인 map-style dataset과 Iterable-style dataset에 대해 정리하였습니다.
1. Map-style dataset
- map-style dataset은 데이터를 인덱스로 매핑하는 인덱스 접근 방식(index-based access)을 사용
- 특히 이미지, 텍스트 등 각 데이터가 개별적으로 저장되어 있고, 인덱스를 사용하여 빠르게 액세스 할 수 있는 경우에 유용함
- ex) 이미지 데이터셋에서 각 이미지는 파일로 저장되어 있고, 파일 경로를 사용하여 인덱스를 지정하는 것
- map-style dataset 클래스는
__len__
과__getitem__
메소드를 구현해야 함__len__
은 데이터셋의 전체 크기를 반환__getitem__
은 주어진 인덱스에 해당하는 데이터를 반환
2. Iterable-style dataset
- 메모리에 모든 데이터를 미리 로드하지 않고 필요할 때마다 데이터를 가져오는 방법
- 데이터셋의 랜덤 읽기가 어렵거나 불가능할 경우에 적합한 데이터셋에 유용
- 주로 메모리에 학습 데이터셋을 전부 올릴 수 없는 경우나 처리할 데이터가 대규모이거나 실시간으로 생성될 경우에 사용함
- Iterable-style은 next를 통해서 접근 → sampler나 shuffle을 사용하기 어렵다
- Iterable-style 클래스는
__iter__
메소드(반복 가능한 객체)를 구현해야 함- 파이썬의 경우에는, 제너레이터함수나 yield문을 사용하여 수행함
반응형
'Computer Science(CS) > ML,DL' 카테고리의 다른 글
AB Test란? (0) | 2023.04.07 |
---|---|
컬러 모델(Color Model) - RGB, CMYK, HSI, YCbCr, YIQ, Yuv (0) | 2023.03.30 |
스태킹 앙상블(Stacking Ensemble)이란? (0) | 2023.03.27 |
기울기 폭발(Gradient Exploding) (0) | 2023.03.24 |
댓글