Как развернуть проект 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")

Это сработало, но я понятия не имею, почему

Вернуться на верх