pytorch.nn.Module

input, output, Forward, Backward 정의

parameter(tensor) 정의

 

 

대략적인 구조

  • Module 
    • layer
      • function
    • parameter

 

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() -> 파라미터 업데이트
 

 

+ Recent posts