예전에 Flask로 만든 인공지능 서버를 배포하려고 다시 실행해 봤는데, 인공지능 모델을 불러오는 코드인 torch.load()
가 동작을 하지 않는다....
(모델을 불러오는 코드 모듈과 실제 모듈은 같은 위치에 존재한다..)
project
|---app.py
|---model.pt
개발할 때에는 잘 됐었는데...
이틀간 고생한 결과 방법을 찾긴 찾았다.
아래의 코드와 같이 경로를 수정할 수 있게 한다.
import os
if __name__ == "__main__":
dir = os.path.dirname(os.path.realpath(__file__)).replace('\\', '/') + '/'
model = torch.load(dir+'model.pt')
아마 운영체제의 버그때문에 발생하는 에러 같다.
그래도 고쳐지지 않을 경우, if __name__ == "__main__":
에 모델을 호출하지 말고 실제 model을 쓰는 함수 내부에서 호출하자!!