크크루쿠쿠

Pytorch model 불러오기(transfer learning) 본문

DeepLearning/부스트캠프 AI Tech

Pytorch model 불러오기(transfer learning)

JH_KIM 2021. 8. 19. 11:13

학습 결과를 공유하고싶다!

 

-> 학습 결과를 저장할 필요가 있음.

 

model.save()

- 학습의 결과를 저장하기 위한 함수

- 모델 형태(architecture)와 parameters를 저장

- 모델 학습 중간 과정의 저장을 통해 최선의 모델 선택

- 만들어진 모델을 공유하여 학습 재연성 향상.

state_dict -> parameter만 구조 포함 X

Checkpoints

- 학습 중간결과를 저장하여 최선의 결과 선택

- earlystopping 기법 사용시 이전 학습의 결과물 저장

- loss와 metric 값을 지속적으로 확인 저장

- 일반적으로 epoch loss metric 함께 저장.

 

Transfer Learning

- 다른 dataset으로 만든 모델을 현재 데이터에 적용

- 일반적으로 대용량 데이터셋으로 만든 모델의 성능 up

- 현재 DL에서는 가장 일반적임.

- backbone architecture가 잘 학습된 모델에서 일부분만 변경하여 학습을 수행함.

 

CV- torchvision

NLP - HuggingFace

 

Freezing

prtrained model에서 학습시 그 전 model parameter 까지는 영향X

 

transfer learning example

 

 

긴 학습 시간 기다림의 기록이 필요

-> print, log등 말고도 좋은 도구들이 많다.

Tensorboard

- TensorFlow의 프로젝트로 만들어진 visualization 도구

- 학습 그래프, metric, 학습 결과의 시각화 지원

- Pytorch도 연결 가능 -> DL 다른것도 가능

 

weight & biases

- 머신러닝 실험을 원할히 지원하기 위한 상용도구

- 협업, code versioning, 실험 결과 기록 등 제공

- MLOps의 대표적인 툴로 저변 확대 중

'DeepLearning > 부스트캠프 AI Tech' 카테고리의 다른 글

Pytorch Hyperparameter Tuning  (0) 2021.08.20
Pytorch Multi-GPU  (0) 2021.08.20
Pytorch Dataset & Dataloader  (0) 2021.08.18
Pytorch AutoGrad & Optimizer  (0) 2021.08.18
Pytorch Project Architecture  (0) 2021.08.17
Comments