데이터를 미니배치 단위로 처리할 수 있고 데이터를 무작위로 섞음으로써 학습 효율성 향상 가능
데이터를 여러개의 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 |