Почему python не выдает FileNotFoundError: [Errno 2] Такой ошибки файла или каталога, даже если файл существует?

0

Вопрос

Я пытаюсь создать модель машинного обучения и использовать платформу django rest для ее подключения. Моя структура папок выглядит следующим образом

server
|
+-- chat
|    |
|    +-- DistilBertModel
|    |    |
|    |    +-- OurModel
|    |    |    |
|    |    |    +-- BERT_model.py
|    |    |    +-- chatbot.py
|    |    |    +-- chatbot_predict.py
|    |    |    +-- model.sav
|    |    +-- data
|    |    |    |
|    |    |    +-- test_chatbot.csv
|    |    |    +-- answers.json
|    +-- migrations
|    +-- __init__.py
|    +-- admin.py
|    +-- apps.py
|    +-- models.py
|    +-- serializers.py
|    +-- tests.py
|    +-- urls.py
|    +-- views.py
+-- core
|
+-- templates
|
+-- db.sqlite3
|
+-- manage.py
|
+-- requirements.txt

В chatbot_predict.py файл Я пытаюсь загрузить модель и получить прогноз, используя эту модель. Код выглядит так

import joblib
loaded_model = joblib.load ('model.sav')

def get_prediction (message, loaded_model = loaded_model):
    return prediction

Когда я запускаю этот файл с помощью python chatbot_predict.py с помощью командной строки это работает нормально. Однако, когда я импортирую эту функцию get_prediction в server/chat/views.py и запустите python manage.py runserver выдает ошибку enter image description here

Что я делаю не так, чтобы получить этот файлообменник ?

django machine-learning python
2021-11-23 21:02:19
1

Лучший ответ

0

Это связано с тем, что файл теперь находится в другом месте, чем файл сценария python или текущий каталог.
Попробуйте указать полный путь к файлу модели (а не только имя), и он должен работать в обоих случаях.

В идеале вы должны вызвать все свои сценарии в корневом каталоге вашего проекта (который становится рабочим каталогом) и, соответственно, указать пути к файлам для загрузки относительно корневого каталога.

2021-11-23 23:19:23

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................