본문 바로가기

삽질

[Flask] FileNotFound Error

예전에 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을 쓰는 함수 내부에서 호출하자!!