Как развернуть проект Django с маринованной моделью в приложении Railway?
Я хотел бы развернуть свой проект Django на приложении Railway, но сервер не находит маринованную модель. Хотя я убедился, что файл существует в репозитории github, который я разворачиваю, приложение Railway постоянно выдает эту ошибку:
from core import views
Файл "/app/core/views.py", строка 37, in
binary_clf = joblib.load(os.path.abspath('binary_classifier.pkl'))
Файл "/opt/venv/lib/python3.8/site-packages/joblib/numpy_pickle.py", строка 650, in load
with open(filename, 'rb') as f:
FileNotFoundError: [Errno 2] Нет такого файла или каталога: '/app/binary_classifier.pkl'
Дело в том, что у меня нет никаких статических файлов, кроме этой травленой ML-модели.
Но я попробовал включить маринованную модель в папку 'static', как это было описано здесь, и в этом случае я получил эту ошибку:
from core import views
Файл "/app/core/views.py", строка 37, in
binary_clf = joblib.load("static/binary_classifier.pkl")
Файл "/opt/venv/lib/python3.8/site-packages/joblib/numpy_pickle.py", строка 650, in load
with open(filename, 'rb') as f:
FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'static/binary_classifier.pkl'
Как нам развернуть приложение Django, если в нем есть маринованные файлы?
Ок, я создал отдельную папку 'models' внутри 'core/' и переместил в нее файл 'binary_classifier.pkl'. Затем я изменил путь к файлу следующим образом: binary_clf = joblib.load("core/models/binary_classifier.pkl")
Это сработало, но я понятия не имею, почему