반응형
1. torch.utils.data.Dataset
torch.utils.data.Dataset은 PyTorch에서 데이터셋을 정의하고 다루기 위한 기본 클래스입니다. 이 클래스를 상속하여 사용자 정의 데이터셋을 만들 수 있습니다. Dataset 클래스는 주로 데이터 로딩 및 전처리를 간편하게 하기 위해 사용됩니다.
2. 주요 메서드
(1) __len__(self):
- 데이터셋의 크기를 반환합니다. 예를 들어, 데이터셋에 있는 샘플의 수를 반환합니다.
def __len__(self):
return len(self.data)
(2) __getitem__(self, index):
- 주어진 인덱스에 해당하는 샘플을 반환합니다. 이 메서드는 데이터셋에서 특정 위치의 데이터를 가져오도록 합니다.
def __getitem__(self, index):
sample = self.data[index]
return sample
3. 예제
torch.utils.data.Dataset을 상속하여 사용자 정의 데이터셋을 만드는 예제입니다.
import torch
from torch.utils.data import Dataset
class CustomDataset(Dataset):
def __init__(self, data):
self.data = data
def __len__(self):
return len(self.data)
def __getitem__(self, idx):
return self.data[idx]
# 데이터셋 예시
data = [1, 2, 3, 4, 5]
dataset = CustomDataset(data)
# 데이터셋 사용
print(len(dataset)) # 출력: 5
print(dataset[0]) # 출력: 1
print(dataset[2]) # 출력: 3
반응형