pytorch.nn.Module
input, output, Forward, Backward 정의
parameter(tensor) 정의
대략적인 구조
- Module
- layer
- function
- parameter
- layer
pytorch.nn.Parameter
Tensor 객체의 상속 개체
nn.Module 내에 attribute가 될 때는 required_grad = True로 하습 대상의 되는 Tensor
Backward
forward의 결과값 (model의 output = 예측치)과 실제값간의 차이(loss)에 대해 미분을 수행 후 Parameter 업데이트
for epoch in range(epochs):
……
# Clear gradient buffers because we don't want any gradient from previous epoch
optimizer.zero_grad()
# get output from the model, given the inputs
outputs = model(inputs)
# get loss for the predicted output
loss = criterion(outputs, labels)
# get gradients w.r.t to parameters
loss.backward()
# update parameters
optimizer.step()
- optimizer.zero_grad() - gradient 초기화 -> 다음 epoch 영향 안 미치기 위해
- model(input) -> 모델 돌림
- loss = criterion(outpus, labels) -> 로스 계산
- loss.bacward() -> gradients parameter 계산
- optimizer.step() -> 파라미터 업데이트
'부스트캠프 4기 RecSys' 카테고리의 다른 글
[부스트캠프] 3주차 회고 (0) | 2022.10.07 |
---|---|
[부스트캠프] 3주차 day11 DL basic (0) | 2022.10.04 |
[부스트캠프] 2주차 회고 (1) | 2022.09.30 |
[부스트캠프] pytorch 정리 1 (0) | 2022.09.27 |
[부스트캠프] 파이썬 re 라이브러리 (0) | 2022.09.23 |