这是我的Django项目目录,在"票据;应用程序,我正在尝试导入我的YOLOV5预训练的自定义模型(它本身运行良好(。So Views.py:
def crop(request):
model = torch.hub.load('../yolov5-master', 'custom', path='../best.pt', force_reload=True)
return render(request, '../templates/results.html')
这导致我的应用程序在点击该URL时返回500服务器错误;我知道是模型造成的,因为如果我评论掉第一行
#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')