기본적으로 pytorch를 활용해 학습 모델을 생성해 왔는데,
CV 실습을 하면서 h5 파일을 실행시켜 pretrained 모델을 사용했던 게 기억이 났다.
h5도 모델 형식이었던 것 같은데... pth 파일과 어떤 차이가 있는지 궁금해져
h5, pth를 포함한 각 파일별 특징과 차이점에 대해 알아보려고 한다.
.h5
일반적으로 Keras 모델을 저장하는 데 사용되는 확장자.
HDF5 포맷으로 모델 및 가중치 데이터를 모두 저장.
.pth / .pt
일반적으로 Pytorch 모델을 저장하는 데 사용되는 확장자.
.pth와 .pt 파일 확장자는 파일 형식이나 내용 면에서 별 차이가 없어서 일반적으로 상호 교환해서 사용 가능하다.
.pth는 가중치만을 저장하지만,
.pt는 가중치 or 가중치 + 모델 구조를 포함해 저장할 수 있다. TorchScript를 사용할 때 사용 가능하다.
torch.save() 함수를 사용해 모델의 state_dict를 저장.
state_dict는 모델의 각 레이어를 해당 매개변수 텐서와 매핑하는 python의 사전 객체.
.ckpt
tensorflow에서 학습된 모델의 구조를 제외한 변수들을 담고 있는 확장자.
모델의 가중치 데이터만을 저장.
(더 다양한 파일 형식은 후첨 예정)
참고)
https://i-am-eden.tistory.com/5
https://velog.io/@leejken530/ptckptpth%EC%B0%A8%EC%9D%B4
https://tutorials.pytorch.kr/recipes/recipes/what_is_state_dict.html
'머신러닝' 카테고리의 다른 글
활용 가능한 알고리즘 및 모델 리서치 (0) | 2025.01.11 |
---|