반응형

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
반응형
복사했습니다!