AI Tech 01/27

djh0211·2022년 1월 27일
0

Week2

목록 보기
1/2
post-thumbnail

PyTorch 06~07강

학습 결과를 공유하고 싶다 -> 학습결과를 저장할 필요가 있다.
model.save()
-모델 architecture와 parameter를 저장 가능

model.state_dict() : 모델의 parameter 표시
torch.save(model.state_dict(), os.path.join(string, "model.pt"))
#모델의 파라미터를 저장/ ordered dict 형태로 저장된다.

new_model.load_state_dict(torch.load(os.path.join(string, "model.pt")))
#같은 모델의 형태에서 파라미터만 load

torch.save(model, os.path.join(string, "model.pt"))
#모델까지 저장

model = torch.load(os.path.join(string, "model.pt")
#모델의 architecture까지 load

성능이 a 포인트에서 최대, 이후 점점 나빠져 -> EarlyStopping
ES에서 checkpoint 생성
일반적으로 epoch, loss, metric을 함께 저장하여 확인

남이 만든 모델을 쓰고 싶다 -> transfer learning

ex) ImageNet 모델의 마지막에 linearlayer붙여서 내가 판별시키고 싶은 이진분류데이터를 먹인다.

대용량 데이터셋으로 만든 모델의 성능은 일반적으로 좋다.
현재의 DeepLearning에서는 가장 일반적인 학습기법
BackBone Architecture가 잘 학습된 모델에서 일부분만 변경하여 학습을 수행한다.

TorchVision에서는 여러 모델들을 받아올 수 있다.

NLP에서는 HuggingFace가 표준

Freezing
Pretrained Model을 활용 시 모델의 일부분을 frozen 시킨다.(원래 있던 학습결과를 가진 모델은 계산 업데이트X + 내가 새로 붙인 layer만 계산 업데이트)
TransferLeaning 코드 중요!!!

Tensorboard와 weight&biases

0개의 댓글