如何在flask离线时使用yolov5 api?
·
问题:如何在flask离线时使用yolov5 api?
我能够在具有 Internet 连接的 PC 上使用 yolov5 运行 Flask 应用程序。我按照yolov5 docs中提到的步骤使用了这个文件:yolov5/utils/flask_rest_api/restapi.py,
但我需要实现相同的离线(在特定的 PC 上)。现在的问题是,当我使用以下内容时:
model = torch.hub.load("ultralytics/yolov5", "yolov5", force_reload=True)
它试图从互联网上下载模型。并抛出错误。
Urllib.error.URLError: <urlopen error [Errno - 2] name or service not known>
如何离线获得相同的结果。
提前致谢。
解答
如果要离线运行检测,则需要已下载模型。
因此,从https://github.com/ultralytics/yolov5/releases下载模型(例如 yolov5s.pt)并将其存储到 yolov5/models 中。
之后,更换
# model = torch.hub.load("ultralytics/yolov5", "yolov5s", force_reload=True) # force_reload to recache
和
model = torch.hub.load(r'C:\Users\Milan\Projects\yolov5', 'custom', path=r'C:\Users\Milan\Projects\yolov5\models\yolov5s.pt', source='local')
使用这条线,您也可以离线运行检测。
注意:当您第一次使用更新的 torch.hub.load 启动应用程序时,如果模型不存在,它将下载模型(因此您不需要从https://github.com/ultralytics/yolov5 下载它/释放)。

更多推荐

所有评论(0)