부스트캠프 AI Tech 4기

[PyTorch] 18.backward & Optimizer

StoneSeller 2022. 9. 27. 21:33

backward 과정

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) # y_hat

    # get loss for the predicted output
    loss = criterion(outputs, labels)

    # get gradients w.r.t to parameters
    loss.backward()

    # update parameters
    optimizer.step()

 

  1. optimizer.zero_grad()
    이전 epoch에 학습했던 것이 영향을 미치지 않도록 gradient를 초기화한다.
  2. model(inputs)
    모델 예측
  3. criterion(outputs, labels)
    loss 연산
  4. loss.backward()
    파라미터의 gradients 계산
  5. optimizer.step()
    파라미터 업데이트

 

 

728x90