本来对yolo没有印象,也没有兴趣,但是因为工作会接触到客户咨询CNN网络相关的问题,有时候会提到yolo,所以想对这块的知识做个大概的了解,不至于以后和客户交流的时候,完全不知道对方在说什么。
2. 参考史上最详细yolov5环境配置搭建+配置所需文件_想到好名再改的博客-CSDN博客_yolov5环境配置
Kissrabbit - 知乎 3. 实验目的参考网上一篇文章,搭建了自己的测试环境,做了一下实验。
4. 实验环境显卡:GTX1650
CPU:i7-10750H @ 2.6GHz
win 10
Anaconda Navigator 1.9.12
PyCharm 2022.1.1 (Community Edition)
Python 3.7.13
Torch 1.9.0+cu111
torchvision 0.10.0+cu111
torchaudio 0.9.0
5. 实验步骤 5.1 下载yolov5源代码从官网下载yolov5源代码,本文使用的是参考博客中下载好了放在百度网盘里面的代码。
5.2 安装Anaconda与PyCharm两个开发工具从官网均可下载,Anaconda我是从参考博客里面的百度网盘下载的,PyCharm是从官网下载的社区版本。
5.3 安装cuda10.2和cudnn-10.2-windows10-x64-v7.6.5.32 5.4 安装Pytorch 1.9.1及其他库使用conda下载,速度会比较慢,所以使用以下镜像下载,实测速度比较快,下载好了的环境也可以运行。
pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.douban.com/simple
5.5 下载权重文件 5.6 实际测试 5.7 训练自制数据集 5.7.1 coco128数据集 6. 疑问1. 实验图片最少需要多少张?
参考的网友的博客做的实验,他里面使用python生成了999张图片,然后学习的时候效率比较低下,我看coco128网络里面,总共使用128张图片,查看里面有关猫的图片,只有三张,但是只有这三张training过后的文件,能够识别到猫,所以我觉得实际要是只识别一种单一物体的话,不需要太多的图片。但是我使用作者的示例工程去识别圆,发现使用10张做训练的源,生成的bset.pt文件,也一样不能够识别圆。
2. 显卡识别不了,CPU运算可以识别
使用yolov5版本的.pt文件去做detect,发现如果不将以下代码中default改成"cpu",从log里面可以看出是在使用cuda进行运算,但是得到的结果不对。
parser.add_argument('--device', default='cpu', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')



