• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    해결됨

SGD + 모멘텀 등의 코드

23.11.17 11:11 작성 23.11.17 14:03 수정 조회수 294

0

안녕하세요 강사님 ㅎㅎ

강의 너무 잘 듣고 있습니다.

다름이 아니라.

15:40 에 많이 사용하는 것이

SGC + 스케줄링 또는 SGD + 모멘텀 + 스케줄링 이라고 말씀하셨는데요.

해당 부분을 코드로 나타내면 이렇게 되는게 맞을까요?

import torch
import torch.optim as optim 
# SGD + 스케줄링
optimizer = optim.SGD(model.parameters(), lr=0.01)  
# SGD + 스케줄링 + 모멘텀
optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.9) 
scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=30, gamma=0.1) 
for epoch in range(num_epochs):
...
    for inputs, targets in train_loader:
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, targets)
        loss.backward()
        optimizer.step() 
    scheduler.step()
 

 

감사합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요.

네 맞습니다!

 

추가적으로 말씀드리면

ADAM이랑 모멘텀+스케줄링이 지금까지 많이 쓰여져 왔는데요.

ADAM이 거의 디폴트처럼 쓰인다고 보시면 됩니다 :)

 

 

열공하세요!