💻 본업(컴공생) 이야기/파이토치 공부 이야기

[파이토치 (PyTorch)] 8. PyTorch DataLoader

st오리🐥 2025. 1. 8. 02:52
728x90
반응형
SMALL

 

 

DataLoader란?

DataLoader는 데이터를 효율적으로 관리하고 처리하기 위해, 대규모 데이터를 모델 학습에 사용하기 쉽게 나눠서 로드하고, 배치(batch) 단위로 처리하는 도구이다.

  • 모델 학습이나 검증 시, 데이터를 자동으로 샘플링, 섞기(shuffle), 배치(batch) 크기 설정 등의 기능을 제공한다.
  • 반복자(iterator) 역할을 수행하여 한 번에 하나의 배치를 모델에 전달한다.

 

- 핵심 개념-

 

  • Dataset: 데이터를 저장하고 관리하는 구조
    • TensorDataset, ImageFolder 등 사용 가능
  • DataLoader: Dataset을 감싸고, 배치 단위로 데이터를 로드
  • batch_size: 한 번에 처리할 데이터의 크기
  • shuffle: 데이터 섞기 여부 설정 (True로 설정하면 무작위로 순서를 섞음)
  • epoch: 전체 데이터를 몇 번 반복할지 설정

 

주요 데이터셋 로더 종류

  1. MNIST and FashionMNIST
    • MNIST: 손글씨 숫자(0–9) 이미지 데이터셋 (28x28 흑백 이미지, 60,000개 학습 데이터).
    • FashionMNIST: 의류 이미지 데이터셋 (구조는 MNIST와 유사하지만, 의류 카테고리 이미지).
    • 용도: 이미지 분류 및 딥러닝 기본 실습.
  2. COCO (Captioning and Detection)
    • 이미지 캡션(이미지 설명)과 객체 탐지(Object Detection) 데이터셋.
    • 용도: 이미지 설명 및 객체 탐지 관련 작업.
  3. LSUN Classification
    • 대규모 장면 이해(Scene Understanding) 데이터셋.
    • 용도: 장면 분류 및 이미지 분류 작업.
  4. ImageFolder
    • 사용자 정의 이미지 데이터셋을 폴더 구조로 로드하는 유틸리티.
    • 용도: 사용자가 직접 준비한 이미지 데이터를 PyTorch에서 쉽게 불러와 훈련 및 검증.
  5. Imagenet-12
    • 대규모 이미지 데이터셋(1,000개 카테고리).
    • 용도: 고급 이미지 분류 및 전이 학습(Transfer Learning).
  6. CIFAR10 and CIFAR100
    • CIFAR-10: 10개 클래스(비행기, 자동차, 개 등), 작은 컬러 이미지(32x32).
    • CIFAR-100: 100개 클래스.
    • 용도: 컴퓨터 비전 및 이미지 분류 실습.
  7. STL10
    • 비지도 학습(Unsupervised Learning) 및 전이 학습용 데이터셋.
    • CIFAR보다 더 큰 이미지(96x96).
    • 용도: 고해상도 이미지 처리 및 비지도 학습 실험.
  8. SVHN (Street View House Numbers)
    • 구글 스트리트 뷰에서 수집된 집 번호 데이터셋.
    • 용도: 숫자 인식 및 OCR 관련 연구.
  9. PhotoTour
    • 이미지 매칭 및 컴퓨터 비전 관련 실험을 위한 데이터셋.
    • 용도: 이미지 매칭 및 비슷한 이미지 찾기 실험.

https://colab.research.google.com/drive/10RHIWEThdlb4c8gxlo5M_Rlz73BDmoqY?usp=sharing

 

DataLoader

Colab notebook

colab.research.google.com

 

 

 

 

728x90
반응형
LIST