안경잡이개발자

728x90
반응형

  다양한 버전의 PyTorch를 사용하다 보면 다양한 오류 메시지를 만나곤 한다. 예를 들어 다음의 오류를 확인해 보자. torch.load() 메서드를 이용하여 저장된 PyTorch 모델을 불러오려고 할 때 오류가 발생한다.

 

 

  최신 버전의 PyTorch에서 해당 모델 가중치를 불러오는 것은 문제가 없지만, 이전 버전의 PyTorch를 사용할 때 이러한 오류 메시지가 출력이 되며 정상적으로 모델 파일을 불러오지 못하는 것이다. 이럴 때는 최신 버전의 PyTorch에서 모델 파일을 저장할 때 _use_new_zipfile_serialization 속성의 값을 False로 변경하도록 한다.

 

torch.save(net.state_dict(), 'model_trained.pth', _use_new_zipfile_serialization=False)

 

    이후에 다시 낮은 버전의 PyTorch을 이용해서 새롭게 저장된 모델 파일을 불러왔을 때는 오류 없이 로드(load)하는 것을 확인할 수 있었다.

 

※ 현실적인 문제 ※

 

  모델 가중치 파일을 내가 직접 학습한 경우가 아니라면, ① Google Colab 같은 서비스를 이용하여 임시로 최신 버전의 PyTorch에서 해당 모델을 불러온 뒤에 False 값을 적용하여 모델을 저장하는 것을 추천한다. 그리고 ② 낮은 버전의 PyTorch에서 해당 모델을 불러와 사용할 수 있다.

728x90
반응형

Comment +0