在Win10和Linux系统上同时调试yolov5|DOTA数据集

yolov5调试全过程

一、源码和预训练模型的链接

1.源码链接这里这里这里这里哦O(∩_∩)O~~~~
2.预训练模型我选择的是yolov5s这里这里哦O(∩_∩)O(感谢分享预训练模型的这位博主)~~~

二、使用的环境(建议使用Conda,CUDA10.0以上版本)

  1. Win10:CUDA10.1 Linux:CUDA10.2
  2. Win10:Miniconda3 Linux:Miniconda3
  3. Win10:RTX 2060 Linux:RTX2080ti

三、项目的依赖

Python 3.7
Torch>=1.7.0
Torchvision>=0.8.1
Numpy>=1.18.5
Opencv-python>=4.1.2
Pycocotools>=2.0
可以直接运行指令 pip install -r requirements.txt

Windows系统安装pycocotools的时候可能会报这个错:ModuleNotFoundError: No module named 'pycocotools’

解决办法:git clone https://github.com/pdollar/coco.git下载源码放到无中文的路经下,进入文件夹cocoapi/PythonAPI下

运行指令:python setup.py build_ext --inplace

如果出现cl.exe的错,don’t worry!! 打开cocoapi/PythonAPI文件夹下的setup.py,删除前两个参数如下(画框那两个删了):
在这里插入图片描述
重新运行:python setup.py build_ext --inplace

如果上面解决了 紧接着再运行:python setup.py build_ext install 安装完成~

四、数据的搜取与制作

由于DOTA数据过于大,所以要进行切分;如果要用Yolo训练的话,还要把labels转成yolo格式的。整个过程相对于比较麻烦费时间,所以大家可以参考这篇文章来下载数据集和制作数据集。(这位博主已经把数据处理过了哦~~)
https://zhuanlan.zhihu.com/p/172283684
切分后的数据

数据集是参照coco的形式做的,如果不是这种形式会报错哦~
在这里插入图片描述
labels里面存放的格式:
在这里插入图片描述
生成图片路径(train.txt和val.txt)的代码:

# coding: utf-8
import os


def createFilelist(images_path, text_save_path):
    # 打开图片列表清单txt文件
    file_name = open(text_save_path, "w")
    # 查看文件夹下的图片
    images_name = os.listdir(images_path)
    # 遍历所有文件
    for eachname in images_name:
        # 按照需要的格式写入目标txt文件
        file_name.write(images_path + '/' + eachname + '\n')

    print('生成txt成功!')

    file_name.close()


if __name__ == "__main__":
    # txt文件存放目录
    txt_path = r'D:\python_project\yolov5-master\coco\data'
    # 图片存放目录
    images_path = r'D:\python_project\yolov5-master\coco\data\val\images'
    # 生成图片列表文件命名
    txt_name = 'val.txt'
    if not os.path.exists(txt_name):
        os.mkdir(txt_name)
    # 生成图片列表文件的保存目录
    text_save_path = txt_path + '/' + txt_name
    # 生成txt文件
    createFilelist(images_path, text_save_path)

五、数据的训练
1.修改data/coco.yaml:
在这里插入图片描述
2.修改 models yolov5s.yaml:
在这里插入图片描述
3.修改train.py(我画白箭头的地方都需要修改,修改完这里训练指令就不需要很长了~)
注:epochs根据自己的数据集来定!
batch_size和图像尺寸 根据自己的显卡来定!

device 是根据自己的显卡个数来定,如果就1块的话,就写0,以此类推~

在这里插入图片描述
这里面我疑惑的是,我Windows系统显卡型号也不低,CUDA也安装成功了,但是batch_size最高就能设置2,训练的时候显卡占用率也很低,据网上说 YOLOV5数据读取和处理的方式是用cpu处理的 才会导致这样。
在这里插入图片描述
4.好了,开始输入指令训练了:python train.py
在这里插入图片描述
5.我训了60个epoch,map67%(未优化):
在这里插入图片描述
六、模型的测试

1.修改detect.py
在这里插入图片描述
2.输入指令python detect.py就Ok了

测试结果:在这里插入图片描述
看起来效果还Okey~ yolov5训练出来的模型很小的,所以说测试的速度也很快哦~~

有问题可以私信我,也可以评论区见哦~ 本人还属于小白,希望各路大神多多指点~

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值