可以用官网给的数据集,跑通训练yolo权重文件

一、训练环境

  需要ubuntu系统环境,然后安装上nvidia的显卡驱动,cuda,cudnn,darknet

  在另一篇文章已讲述

 

二、标注数据集

  1. 制作VOC数据集,就是一个这种格式的文件夹

  

baseline 和 权重预训练 的关系 训练好的权重_官网

 

 

  2.将要标注的图片放在JPEGImage

  3.下载labelImg

    pip install labelimg

    启动:labelimg

  4.通过Open Dir打开图片存放的路径

    

baseline 和 权重预训练 的关系 训练好的权重_官网_02

 

     按 ‘w’键,进行标注

     按‘save’键,进行保存,生成xml文件

    

baseline 和 权重预训练 的关系 训练好的权重_数据集_03

 

     

  5.标注完成后,将JEPGImg文件夹下标注生成xml文件,剪切放在Annotations文件夹下

  6. 在VOC2007 文件夹下, 创建text.py文件【windows上操作完成了】

   

baseline 和 权重预训练 的关系 训练好的权重_官网_04

  7.将VOCdevdit整个文件夹拷贝到ubuntu环境下,darknet/script 目录下

  

  

baseline 和 权重预训练 的关系 训练好的权重_数据集_05

初始的样子/   

 

 

三、划分数据集

  1. 运行text.py  就会在imageSets/Main目录下,生成四个txt文件

  【这步操作为什么在官网上,没有呢】

    python3 test.py

    

baseline 和 权重预训练 的关系 训练好的权重_官网_06

 

 

  2. 格式转换,运行darknet/srcipts文件夹下面,voc_label.py

      【运行之前,需要在voc_label.py 第九行,修改自己的类别名称】

      【运行之前,需要看自己的voc数据是几几年的,在sets那里改成自己的】

      

baseline 和 权重预训练 的关系 训练好的权重_官网_07

 

       

baseline 和 权重预训练 的关系 训练好的权重_重命名_08

 

 

    因为VOC数据集还不能直接用于YOLO训练

    python3 voc_label.py

    就会

    在VOC2007 生成labels文件夹

    在scripts文件夹下,生成2007_train.txt和2007_val.txt

    

    

baseline 和 权重预训练 的关系 训练好的权重_数据集_09

 

 

四、训练数据集

  1. 在data下创建names的文件,可以将原来的voc.names进行复制,重命名为voc_dp.names。里面的内容是训练的类别

  2. 在cfg创建data的文件,可以将原来的voc.data进行复制,重命名为voc_dp.data。 

    

 

 

  3. 在cfg创建cfg文件,可以复制yolov3-tiny.cfg,重命名为yolov3-tiny-dp.cfg

    yolov3-tiny.cfg是用于网络参数配置的文件,它比yolov3.cfg网络层数交,占用资源少

    1 训练时候,就把“Testing”下面的 batch和subdivisions注释,“Training”下面的batch和subdivsions取消注释。 测试时候相反

    2 训练时候,batch=64,subdivsions=16

    3 修改[yolo]层的classes,改成实际类别数目 

    4! max_batches 是训练最大次数,一般设置为 类别*2000。如果类别是5,那就设置成10000。

    5 !setps设置成max_batches的80%和90%

    前三个必改,后两个看情况

    

  4. 在darknet目录,下载预训练权重文件

    

    网上找找 darknet53.conv.74

  5.开始训练

    在darknet目录下,打开终端

    ./darknet detector train cfg/voc_dp.data cfg/yolov3-tiny-dp.cfg darknet53.conv.74 > log.txt -map

五、在ros中使用  

  使用remmina 连接jetson盒子

  

baseline 和 权重预训练 的关系 训练好的权重_官网_10