네이버 부스트캠프 AI tech 3기

7. PyTorch DataLoader

zooyeonii 2022. 2. 2. 19:40

Dataset

모델에 데이터를 feed하는 방법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class CustomDataset(torch.utils.data.Dataset): 
  def __init__(self):
  데이터셋의 전처리를 해주는 부분
  
    self.x_data = [[123],
                   [456]]
    self.y_data = [[0], [1]]
 
  def __len__(self): 
  데이터셋의 길이. 즉, 총 샘플의 수를 적어주는 부분
 
    return len(self.x_data)
 
  def __getitem__(self, idx): 
  데이터셋에서 특정 1개의 샘플을 가져오는 함수
  # 인덱스를 입력받아 그에 맵핑되는 입출력 데이터를 파이토치의 Tensor 형태로 리턴
 
    x = torch.FloatTensor(self.x_data[idx])
    y = torch.FloatTensor(self.y_data[idx])
    return x, y
cs

 

DataLoader

 

DataLoader(dataset,        생성한 데이터셋 인스턴스

        batch_size=1,      배치 사이즈

        shuffle=False,     샘플을 섞어서 사용할 것인가 : 데이터의 상관성을 낮춰주는 효과

        sampler=None,      idx를 컨트롤하는 방법으로 이때 shuffle=False

        batch_sampler=None, batch 단위로 샘플링함 

        num_workers=0,     데이터를 불러올때 사용하는 서브 프로세스(subprocess) 개수

        collate_fn=None,   map-style 데이터셋에서 sample list를 batch 단위로 바꾸기 위해 필요한 기능

        pin_memory=False, drop_last=False, timeout=0, worker_init_fn=None)

cs

 

 

 

'네이버 부스트캠프 AI tech 3기' 카테고리의 다른 글

9. ResNet 구현  (0) 2022.02.03
8. ResNet 리뷰  (0) 2022.02.03
6. PyTorch nn.Module  (0) 2022.02.02
5. CNN과 RNN  (0) 2022.01.25
4. 확률론, 베이즈  (0) 2022.01.25