반응형
소개
torch.utils.data.Dataset은 PyTorch에서 데이터셋을 정의하는 데 사용되는 기본 클래스입니다. 이 클래스를 상속받아 자신만의 데이터셋 클래스를 만들 수 있으며, 딥러닝 모델을 학습하기 위한 데이터 로딩 과정에서 효율적으로 데이터를 처리할 수 있도록 돕습니다.
기본 사용법
상세 설명
- Dataset 클래스는 두 가지 주요 메서드를 구현해야 합니다
- __len__: 데이터셋의 샘플 수를 반환합니다.
- __getitem__: 주어진 인덱스에서 데이터와 레이블을 반환합니다.
import torch
from torch.utils.data import Dataset
class CustomDataset(Dataset):
def __init__(self, data, labels):
self.data = data
self.labels = labels
def __len__(self):
return len(self.data)
def __getitem__(self, idx):
sample = self.data[idx]
label = self.labels[idx]
return sample, label
# 예제 데이터셋
data = torch.tensor([[1, 2], [3, 4], [5, 6], [7, 8]])
labels = torch.tensor([0, 1, 0, 1])
# 커스텀 데이터셋 인스턴스 생성
dataset = CustomDataset(data, labels)
# 특정 인덱스의 데이터와 레이블 가져오기
print(dataset[0])
# 출력: (tensor([1, 2]), tensor(0))
# DataLoader 설정
dataloader = DataLoader(dataset, batch_size=2, shuffle=True)
# 데이터셋 순회
for batch_data, batch_labels in dataloader:
print(batch_data, batch_labels)
라이센스
PyTorch의 표준 라이브러리와 내장 함수들은 BSD-style license 하에 배포됩니다. 이 라이센스는 자유 소프트웨어 라이센스로, 상업적 사용을 포함한 거의 모든 용도로 사용이 가능합니다. 라이센스와 저작권 정보는 PyTorch의 공식 GitHub 리포지토리에서 확인할 수 있습니다.
관련 내용
[PyTorch] 맞춤형 데이터셋 만들기: torch.utils.data.Dataset() 사용 가이드
[PyTorch] 효율적인 데이터 배치: torch.utils.data.DataLoader() 사용 가이드
반응형
'함수 설명 > 인공지능 (Pytorch)' 카테고리의 다른 글
[PyTorch] 딥러닝 최적화 알고리즘: torch.optim.SGD() 사용 가이드 (0) | 2024.08.17 |
---|---|
[PyTorch] 딥러닝 최적화 알고리즘: torch.optim.Adam() 사용 가이드 (0) | 2024.08.17 |
[PyTorch] 효율적인 데이터 배치: torch.utils.data.DataLoader() 사용 가이드 (0) | 2024.08.16 |
[PyTorch] GPU 사용 가능 여부 체크: torch.cuda.is_available() 사용 가이드 (0) | 2024.08.16 |
[PyTorch] 차원을 추가하라: torch.unsqueeze() 함수 사용법 이해하기 (0) | 2024.07.19 |