PyTorch 4~5강) AutoGrad & Optimizer / Dataset & Dataloaders
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 처리가 주 업무