| 확장자 | 약자 의미 |
|---|---|
.pth | Path (경로): 모델의 가중치 파일 경로를 나타내는 관용적 명칭 |
.pt | PyTorch: PyTorch 모델 파일 또는 TorchScript 파일을 나타냄 |
.ckpt | Checkpoint: 학습 중간 상태를 저장하기 위한 체크포인트 파일 |
| 확장자 | 주 사용 목적 | 포함 내용 | 일반적인 사용 상황 |
|---|---|---|---|
.pth | 모델 가중치 저장 | 가중치만 포함 | 학습된 모델의 가중치를 저장하거나 재사용할 때 |
.pt | TorchScript 모델 저장 또는 배포 | 가중치 또는 모델 구조+가중치 포함 | 배포 가능한 모델을 저장하거나 TorchScript를 사용할 때 |
.ckpt | 학습 체크포인트 저장 | 가중치 + 옵티마 상태 + 기타 학습 상태 | 학습 상태를 저장하고 학습을 중단/재개할 때 |
.pth가 가중치만 저장할 때 쓴다고 하셨는데, 그렇지 않습니다.
가중치 저장 여부는 torch.save() 안에 어떤 인자를 넣느냐에 따라 달라지지,
확장자가 .pt든 .pth든 가중치 저장 여부와는 상관없습니다.
확장자가 .pth일 땐 가중치만 저장한다든지 하는 관습도 존재하지 않습니다.
오늘날 파이토치로 코드를 짤 땐 보통 .pt만을 사용하는데,
이는 .pth가 기존의 다른 파이썬 설정 파일 확장자와 겹쳐서 혼동을 줄 수 있기 때문입니다.
파이토치 공식 문서에서도 .pt만을 사용하라고 권하고 있으며(https://discuss.pytorch.org/t/what-does-pth-tar-extension-mean/36697/3), 대부분 논문들 공식 구현체에서도 가중치만 저장할 때조차 .pth는 거의 쓰지 않고 .pt를 사용합니다.