欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入我们的社群。

yolov5 4.0版本到底更新了啥?

YOLO 迷途小书童 4年前 (2021-01-23) 5038次浏览 2个评论

软硬件环境

  • windows 10 64bit
  • pytorch 1.7
  • yolov5 4.0
  • nvidia gtx 1660

视频看这里

此处是 youtube 的播放链接,需要科学上网。喜欢我的视频,请记得订阅我的频道,打开旁边的小铃铛,点赞并分享,感谢您的支持。

前言

最近,YOLOv5 发布了4.0的 release 版本,地址是 https://github.com/ultralytics/yolov5/releases/tag/v4.0,相比于3.0,这次更新又有哪些亮点呢?本文就带大家一起来看看。

版本更新

v4.0 主要进行了如下的更新

  • 使用全新的激活函数nn.SiLU来替代原来的nn.LeakyReLU(0.1)nn.Hardswish(),这个nn.SiLU也是pytorch 1.7才引入的
  • 修复了之前版本的一些bug,如多gpuresume问题、docker使用的问题等
  • 增加了Weights & Biases日志的支持
  • utils模块的重构
  • pytorch hub集成
  • 模型更加精简,在每个bottleneck都去掉了一个卷积层

代码测试

v4.0 要求 python3.8,而 pytorch 也要求1.7之后的版本

使用 conda 来创建新的虚拟环境

conda create -n pytorch1.7 python=3.8
conda activate pytorch1.7

下面来到 pytorch 官方网站,根据自己的环境选择相应组件,得到安装命令

yolov5_v4.0

pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

最近的 pytorch 官网有点抽风,如果因为网络原因无法下载的话,可以根据终端里给出的 whl 文件的下载地址,自行下载,然后离线安装

yolov5_v4.0

pip install C:\Users\admin\Downloads\torch-1.7.1+cu110-cp38-cp38-win_amd64.whl

yolov5_v4.0

接下来就开始安装其它依赖库,上面由于已经安装好了 torchtorchvision,因此编辑 requirements.txt,将其中的 torchtorchvision 两行注释掉,然后执行

pip install -r requirements.txt

yolov5_v4.0

然后去下载 v4.0 的权重文件,https://github.com/ultralytics/yolov5/releases/tag/v4.0,其它几个权重我也一并下载好了,打包放在了百度云上,大家有需要的话,自己去下载

链接:https://pan.baidu.com/s/1d01URdvSXJ6U1YTzaghzlg
提取码:8ez9

环境都准备好后,就可以开始检测了

python .\detect.py --weights .\weights\yolov5s.pt

yolov5_v4.0

但是,但是,但是,诡异的问题出现了,data/images 下的测试图片,里面的目标并没有被检测出来,咋回事?

赶紧跑到官方去找找原因,找到了下面2个相关 issue
https://github.com/ultralytics/yolov5/issues/1625https://github.com/ultralytics/yolov5/issues/1749yolov5 作者 glenn-jocher 也聊到了,应该是 windows 版的 pytorch 问题。

最后总结下解决检测问题的几个方法

  • 修改detect.py,将cudnn.benchmark = True移到if语句之前执行

yolov5_v4.0

  • 使用cpu来替代gpu

yolov5_v4.0

  • 使用linux操作系统

    linuxmacOS都没有这个问题

参考资料

喜欢 (2)

您必须 登录 才能发表评论!

(2)个小伙伴在吐槽
  1. aaa,我ubuntu也出现这样的问题,也照着上面的修改解决了问题,感谢大佬。百度查不出原因,英语又不好,太难了。
    匿名2021-04-04 22:25