PyTorch 4~5강) AutoGrad & Optimizer / Dataset & Dataloaders

한량·2021년 8월 18일
0

[U-stage] PyTorch for AI

목록 보기
2/6

Layer

  • Layer는 block
  • Layer를 쌓아서 DL 모델을 만듬

torch.nn.Module

  • Layer의 base class
  • Input/Output, Forward/Backward 정의
  • Parameter(tensor) 정의

nn.Parameter

  • Tensor의 상속 객체
  • nn.Module 내의 attribute가 될 때엔 required_grad = True

  • Parameter가 아니라 그냥 tensor로 입력하면 parameter로 인식되지 않기 때문에 backpropagation의 대상이 아님

Backward

  • Loss를 기반으로 parameter를 업데이트
  • 학습할 때마다 gradient가 업데이트 되기 때문에 이전의 gradient가 영향을 주지 않게 optimizer.zero_grad()로 초기화 해줌

Dataset

  • 데이터 입력 형태를 정의하는 class
    --> 입력방식의 표준화
  • Image, text, audio 등에 따른 다른 입력 정의

Dataset 생성시 유의점

  • 데이터의 형태에 따라 각 함수를 다르게 정의
  • 모든 것을 데이터 생성 시점에 처리할 필요는 없음
    e.g.) image의 tensor 변화는 학습에 필요한 시점에 변환
  • Dataset에 대한 표준화된 처리 방법을 제공할 필요가 있음

Dataloader

  • Data의 batch를 생성하는 class
  • Tensor로 변환 + batch 처리가 주 업무
profile
놀고 먹으면서 개발하기

0개의 댓글