yolo2修改配置文件训练自己的数据集

说明

本文主要介绍用yolo2训练自己的数据集时要修改的配置文件。(自己也在摸索中,以后会慢慢修改)

环境

- ubuntu 16.04
- cuda 8.0
- opencv 3.2
- darknet(17年7月)
ps:安装darknet的时候,并没有带着opencv编译,编译出来opencv有6个多g,编译需要快1小时。带opencv编译,训练的时候可能会出莫名的错误,不知道修复没有。没带opencv编译的话,只是不会自动展示图片,并没有很大的影响。

需要修改的配置及其作用

cfg/voc.data


classes= 1    //修改为自己要训练的类别
train  = /home/darknet/scripts/train.txt   //train.txt中存放要训练的图像名
valid  = /home/darknet/scripts/2007_test.txt        //训练的时候用不着,这应该是用来测试的
names = /home/darknet/data/voc.names   //voc.names存储的是各类的名字,默认有20类,可以修改为自己的类名
backup = /home/darknet/backup   //训练完成后模型存储的地点

cfg/yolo-voc.2.0.cfg

  • yolo-voc.2.0.cfg是我使用的网络,也可以使用别的例如tiny-yolo-voc.cfg等。
  • 开头的batch表示一次读取的图片数?默认为64,占用的显存比较多,我的1050不够用,可以修改为8或者16。
  • 大约15行有max_batches,表示最大的训练次数,可以根据需要修改。一般来说每100次就会在backup文件夹中存储一个.weights文件。
  • 在最后的[region]层中,classes修改为自己要训练的类别数,我修改为1。
  • 在[region]上一层的[convolutional]中修改filters,计算方法为(classes+ coords+ 1)* (num) ,该num即为[region]层中的num数。我的情况:(1+4+1)* 5=30,即我的filters 的值改成了30。
  • 修改filters的建议来源自(https://groups.google.com/forum/#!topic/darknet/B4rSpOo84yg),我修改了之后一切正常。

examples/yolo.c

  • 开头的train_yolo函数中,修改
    train_images=”/home/darknet/scripts/train.txt” ——即你自己存放的train.txt所在目录
    backup_directory = “/home/darknet/backup”——训练完成存放模型的目录

examples/detector.c

  • 开头的train_yolo函数中,修改
    train_images=”/home/darknet/scripts/train.txt” ——即你自己存放的train.txt所在目录
  • 最后的classes修改为自己的值。

利用yolo2训练自己数据集的配置就完成了,下一篇中讲解如何用自己的数据生成yolo2所需的训练格式。


参考:
http://blog.csdn.net/hysteric314/article/details/5409784

猜你喜欢

转载自blog.csdn.net/u013036495/article/details/75514999