Deep Learning

PyTorch : Dataset과 DataLoader

응엉잉 2022. 8. 16. 15:24

데이터를 미니배치 단위로 처리할 수 있고 데이터를 무작위로 섞음으로써 학습 효율성 향상 가능

데이터를 여러개의 GPU를 사용하여 병렬처리로 학습할 수 있음

 

Batch : 데이터를 한번에 한묶음씩 처리하는 방식

전체 데이터셋을 batch로 묶어서 iteration의 수 만큼 실행

전체 데이터셋을 batch로 나누고, batch 내의 각각의 데이터를 forward와 backward를 돌리는 방식

 

Dataset

전체 dataset을 구성하는 단계

input으로 전체 x(feature)와 y(label)을 tensor로 넣어주면 됨

 

구성

___init__(self) : 필요한 변수들을 선언하는 method. input으로 오는 x와 y를 load 하거나 파일 목록을 load

__len__(self) : 길이를 넘겨주는 method (?)

__getitem__(self, index) : index 번째 데이터를 return하는 method

from torch.utils.data import Dataset

class MyDataset(Dataset):
    def __init__(self):
        @@@@
    def __getitem__(self, index):
        @@@@@
    def __len__(self):
        @@@@@

DataLoader

batch size 형태로 만들어서 실제로 우리가 학습할 때 이용할 수 있게 형태를 만들어주는 라이브러리

 

 

'Deep Learning' 카테고리의 다른 글

os와 glob  (0) 2022.08.18
AutoEncoder와 anomaly detection  (0) 2022.08.17
PyTorch : class와 nn.Module 이용해서 신경망 모델 정의  (0) 2022.08.16
PCA  (0) 2022.08.16
self-supervised pre-training  (0) 2022.07.16