
Pytorch에서 Dataset과 Dataloader의 차이가 뭘까?
Dataset은 데이터 샘플과 그에 상응하는 라벨을 포함하는 클래스입니다.Dataset을 상속받아 __getitem__과 __len__ 메서드를 구현하면, 원하는 방식으로 데이터를 로드할 수 있습니다.from torch.utils.data import Dataset
class CustomDataset(Dataset):
def __init__(self, data):
self.data = data
def __getitem__(self, index):
return self.data[index]
def __len__(self):
return len(self.data)
DataLoader는 Dataset에서 정의한 데이터를 효율적으로 로드하기 위한 클래스입니다.DataLoader는 내부적으로 Dataset 객체를 받아서 데이터를 로드합니다.from torch.utils.data import DataLoader
dataset = CustomDataset([1, 2, 3, 4, 5])
dataloader = DataLoader(dataset, batch_size=2, shuffle=True)
for data in dataloader:
print(data)