4강. AutoGrad & Optimizer
torch.nn.Module은 다음과 같은 특징을 가지고 있다.
- 딥러닝을 구성하는 layer의 base class이다.
- input, output, forward, backward를 정의해야 한다.
- 학습의 대상이 되는 parameter(tensor)를 정의해야 한다.
nn.Module을 정의하려면, 학습의 대상이 되는 weight 값들을 정의해야한다. 이 weight 값들은 nn.Parameter에 정의하게 된다. nn.Parameter는 다음과 같은 특징을 가지고 있다.
- Tensor 객체의 상속 객체
- nn.Module 내에 attribute가 될 때는 required_grad=True로 지정되어 학습 대상이 되는 Tensor (AutoGrad의 대상이 된다.)
- 우리가 직접 지정할 일은 잘 없다. 왜냐하면, 대부분의 layer에는 weights 값들이 지정되어 있기 때문이다.
Backward의 특징은 다음과 같다.
- layer에 있는 parameter들의 미분을 수행한다.
- forward의 결과값(model의 output = 예측치)과 실제 값 간의 차이(loss)에 대해서 미분을 수행한다.
- 해당 값으로 parameter를 업데이트 한다.
5강. PyTorch datasets & dataloaders
데이터셋을 load하는 방법은 아래 그림과 같다.
Dataset 클래스
- 데이터 입력 형태를 정의하는 클래스
- 데이터를 입력하는 방식의 표준화
- image, text audio 등에 따라 다른 입력 정의
위 내용은 부스트캠프 AI Tech 에서 제공한 내용을 바탕으로 작성하였습니다.
'부스트캠프 AI Tech' 카테고리의 다른 글
3주차 - 최적화 (0) | 2022.10.05 |
---|---|
3주차 - 딥러닝 기본 (0) | 2022.10.04 |
2주차 - Pytorch 기본 (0) | 2022.09.29 |
1주차 - AI Math (9/19 ~ 9/23) (1) | 2022.09.23 |
1주차 - Python (9/19 ~ 9/23) (1) | 2022.09.23 |