当前位置:   article > 正文

Yolov5部署成为Python接口 当然是用flask实现啦~ yolo5写成接口_yolov5打包成api

yolov5打包成api

一、在此之前你是不是要先把yolov5跑通?

yolov5的环境特别简单,建议在Ubuntu18.04下面部署,一次成型,省去很多麻烦。

  • Ubuntu18.04
  • RTX2080
  • CUDA10.0
  • CUDNN7.4.1
  • Torch1.3.1GPU
  • torchvision0.4.2
  • Python 3.6.5

项目地址:https://gitee.com/situyufeng/yolov5.git

github太慢了 我把他迁到了gitee上面

装好Torch以后呢,记得修改pip为清华源,然后修改requirements.txt里面关于cocoapi的部分。

第13行:

git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI

换成:

git+https://gitee.com/situyufeng/cocoapi.git#subdirectory=PythonAPI

然后

pip install -r requirements.txt

至此所有跑通yolov5的准备工作已经结束了

权重的话不要担心,文末我上传了整个项目,希望可以换点积分。

对了,运行下面这个命令的话是可以跑通的~

python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.4

yolov5最方便的地方就是用Python写的,不需要编译,不需要编译,不需要编译!

二、开始搭建flask接口!

第一件事就是安装flask

pip install flask

接下来接口的主要函数文件都是基于detect.py,本来想做成yolov3那种项目和配置,奈何能力有限,读取权重的时候无法生成model。说到这里,yolov4我也尝试过做成flask接口,这里OpenCV拖了后腿,最新OpenCV不支持yolo4里面的mish函数,所以没有办法读取整个模型,可能是因为太新了不兼容。

打开detect.py复制一份,改成yolo5.py

因为我改动的部分实在是太多了,这里只能简要说一下了,具体的修改见我上传的代码。

  1. part1 detect.py就是核心推断函数,只不过传参使用命令行的方式传进去的,
  2. 但是所有的参数并不是每一个都需要修改,常用的也就是图片路径
  3. (这里需要夸赞U神单张批量和视频都写到一个函数里面了,当初改yolov3的时候简直麻烦到天上去了),
  4. 剩下的参数写成默认参数就可以了:
  5. def detect( save_img=False,
  6. o_weights = "weights/yolov5s.pt",
  7. o_source = "inference/images",
  8. o_output = "inference/output",
  9. o_img_size
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/334977
推荐阅读
相关标签
  

闽ICP备14008679号