[에러노트 / Pytorch] RuntimeError: Only one file(not dir) is allowed in the zipfile in torch.hub.load_state_dict_from_url
Machine Learning/ML 개발 2021. 7. 10. 00:02반응형
에러노트는 직접 경험했던 에러를 적어보고,
그 당시 해결법이 무엇이었는지 기록하여, 스스로 참고하기 위해 작성합니다.
저의 경험 사례가 다른 분들에게도 도움이 될 수 있으므로, 공개 포스팅으로 작성합니다.
에러의 발생 원인과 정확한 해결법을 알려주는 포스팅이라기보다는,
전적으로 제 경험에 의존하다보니 완벽한 해결법이 아닐 수 있다는 점 이해 바랍니다.
RuntimeError : Only one file(not dir) is allowed in the zipfile 해결법
에러 메시지
RuntimeError: Only one file(not dir) is allowed in the zipfile
에러 발생 지점
state_dict = model_zoo.load_url(url, map_location="cpu", progress=True)
해결 방안
필자의 경우, pytorch에서 ViT 모델인 DeiT를 timm 라이브러리를 통해 불러오는 과정에서 에러가 발생하였으며, pretrained weight를 불러오는 과정에서 계속 저 에러가 발생했었다.
DeiT 개발팀은 파이토치 버전을 1.7.0으로 맞춰줄 것을 강력히 권고하였으며, 이로 인해 torch버전을 개발자가 권고하는 버전으로 업데이트 한 결과, 에러가 해결되었다.
에러 메세지가, 오직 한 파일만 사용이 가능하다는 내용을 가지고 있어서 토치 버전 문제일거라고는 쉽게 짐작이 되지 않아 해결에 오랜 시간이 소요되었다.
반응형