모델 학습재개

안녕하세요.
파이토치에서 학습된 모델을 저장하고 나중에 불러와서 학습을 재개하고 싶습니다.
파이토치의 튜토리얼을 따라서 해봤구요.
model.train()을 사용하여 학습을 시작하는데 모델을 불러온 뒤 학습 재개가 안되네요.
100에폭을 학습한 모델을 저장한 후 불러와서 50에폭을 더 학습하려하는데
100에폭을 학습한 상태 그대로 유지만 되고 50에폭은 돌아가기만하고 학습은 안됩니다.

아래와 같이 저장코드, 불러오기코드를 작성하였구요.
모델을 불러온뒤 모델의 state_dict와 옵티마이저의 state_dict를 불러왔습니다.
잘못된점이나 이외에 확인해볼부분이 있을까요??

123

1234

항상 감사합니다.

안녕하세요
먼저 아래 부분이 의심이됩니다
model.load_state_dict(ckpt['state_dict']) -> model.load_state_dict(ckpt['model_state_dict'])

위가 글 작성하실때 단순 오류시면 "돌아가기만 하고 학습이 안됩니다"의 설명이 필요한것 같습니다.
일단 학습이 계속 진행되는데 모델의 웨이트가 안변한다는 말씀일까요?

아 넵 말씀하신 부분은 고쳤습니다.
제가 warm up cosine annealing을 사용하는데 learning rate가 scheduler에 따라 변하질않네요.
그래서 scheduler를 선언한뒤 optimizer의 learning rate를 강제로 마지막 학습의 lr로 설정해주기도 해봤는데
처음 값이 계속 유지되고 scheduler에 따른 lr의 변화가 없습니다 ㅠ

12345

123456

1개의 좋아요