pt,ckpt,pth차이

Leejaegun·2024년 11월 27일

Python & etc

목록 보기
5/27

확장자 약자 의미

확장자약자 의미
.pthPath (경로): 모델의 가중치 파일 경로를 나타내는 관용적 명칭
.ptPyTorch: PyTorch 모델 파일 또는 TorchScript 파일을 나타냄
.ckptCheckpoint: 학습 중간 상태를 저장하기 위한 체크포인트 파일

주요 차이점 요약

확장자주 사용 목적포함 내용일반적인 사용 상황
.pth모델 가중치 저장가중치만 포함학습된 모델의 가중치를 저장하거나 재사용할 때
.ptTorchScript 모델 저장 또는 배포가중치 또는 모델 구조+가중치 포함배포 가능한 모델을 저장하거나 TorchScript를 사용할 때
.ckpt학습 체크포인트 저장가중치 + 옵티마 상태 + 기타 학습 상태학습 상태를 저장하고 학습을 중단/재개할 때
profile
Lee_AA

1개의 댓글

.pth가 가중치만 저장할 때 쓴다고 하셨는데, 그렇지 않습니다.
가중치 저장 여부는 torch.save() 안에 어떤 인자를 넣느냐에 따라 달라지지,
확장자가 .pt든 .pth든 가중치 저장 여부와는 상관없습니다.
확장자가 .pth일 땐 가중치만 저장한다든지 하는 관습도 존재하지 않습니다.

오늘날 파이토치로 코드를 짤 땐 보통 .pt만을 사용하는데,
이는 .pth가 기존의 다른 파이썬 설정 파일 확장자와 겹쳐서 혼동을 줄 수 있기 때문입니다.

파이토치 공식 문서에서도 .pt만을 사용하라고 권하고 있으며(https://discuss.pytorch.org/t/what-does-pth-tar-extension-mean/36697/3), 대부분 논문들 공식 구현체에서도 가중치만 저장할 때조차 .pth는 거의 쓰지 않고 .pt를 사용합니다.

답글 달기