Модель Pytorch вызывает ошибку 500 сервера в приложении Django
Это мой проект Django Directory, и в приложении "счета" я пытаюсь импортировать мою предварительно обученную пользовательскую модель YOLOV5 (которая прекрасно работает сама по себе). Итак, Views.py :
def crop(request):
model = torch.hub.load('../yolov5-master', 'custom', path='../best.pt', force_reload=True)
return render(request, '../templates/results.html')
Это приводит к тому, что мое приложение возвращает ошибку сервера 500 при переходе по этому URL; я знаю, что модель вызывает это, потому что если я закомментирую первую строку
#model = torch.hub.load('../yolov5-master', 'custom', path='../best.pt', force_reload=True)
Затем страница отображается нормально. Я просмотрел много статей о том, как загрузить модель Pytorch в Django, и кажется, что я все делаю правильно, не могли бы вы помочь мне разобраться, в чем проблема?
Я думаю, что проблема связана с путем. Вы можете попробовать следующее в views.py
:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourappname.settings")
django.setup()
from django.conf import settings
model = torch.hub.load('../yolov5-master', 'custom', path=os.path.join(settings.MEDIA_ROOT, 'best.pt'), force_reload=True)
В вашем settings.py
сначала нужно будет настроить путь MEDIA_ROOT
следующим образом:
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploaded_media')