Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 프로그래머스
- 알고리즘
- 머신러닝
- 프롬프트
- Programmers
- 일기
- dl
- attention
- Django
- 코딩테스트
- Python
- Linear Regression
- prompt engineering
- LeetCode
- machinelearning
- Deeplearning
- 코테
- 기계학습
- gradient descent
- Linear Model
- rnn
- GPT
- deque
- ChatGPT
- 부스트캠프
- transformer
- 파이썬
- BFS
- LLM
- NLP
Archives
- Today
- Total
크크루쿠쿠
Pytorch Dataset & Dataloader 본문
모델에 데이터를 먹이는 방법!
Loader -> 묶어서 feeding
Dataset Class
- data 입력 형태를 정의하는 클래스
- 데이터를 입력하는 방식의 표준화
- Image, Text, Audio 등에 따른 다른 입력정의
import torch
from torch.utils.data import Dataset, DataLoader
class CustomDataset(Dataset):
def __init__(self, text, labels):
self.labels = labels
self.data = text
def __len__(self):
return len(self.labels)
def __getitem__(self, idx):
label = self.labels[idx]
text = self.data[idx]
sample = {"Text": text, "Class": label}
return sample
유의점
- 형태에 따라 각 함수를 다르게 정의함.
- 모든 것을 생성 시점에 처리할 필요는 없음 : image의 Tensor 변화는 학습에 필요한 시점에 변환
(Transform 이라는 함수 사용)
- 데이터 셋에 대한 표준화된 처리방법 제공 필요
- 최근에는 HuggingFace등 표준화된 라이브러리 사용
DataLoader Class
- Data의 Batch를 생성해주는 클래스
- 학습직전(GPU feed 전) data의 변환을 책임
- Tensor로 변환 + Batch 처리가 메인 업무
- 병렬적인 데이터 전처리 코드의 고민
parameter들
collate_fn -> (Data, Label)... 이런 구조를 (Data,Data,Data,...),(Label,Label,Label...) 이렇게 바꿔줌.
'DeepLearning > 부스트캠프 AI Tech' 카테고리의 다른 글
Pytorch Multi-GPU (0) | 2021.08.20 |
---|---|
Pytorch model 불러오기(transfer learning) (0) | 2021.08.19 |
Pytorch AutoGrad & Optimizer (0) | 2021.08.18 |
Pytorch Project Architecture (0) | 2021.08.17 |
Pytorch Basics (0) | 2021.08.17 |
Comments