辛辛苦苦搭载好GPU环境现在要开始测试下效果

1,准备好数据集

2,测试开始

(1),如果尚未安装Darknet,则应先进行安装

git clone https://github.com/pjreddie/darknet
cd darknet
make

您已经在cfg/子目录中拥有YOLO的配置文件。您将必须在此处下载预训练重量文件(237 MB)。或只是运行此:

wget https://pjreddie.com/media/files/yolov3.weights

然后运行检测器!

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

你将看到以下输出:

layer     filters    size              input                output
conv x / x x -> x x 0.299 BFLOPs
conv x / x x -> x x 1.595 BFLOPs
.......
conv x / x x -> x x 0.353 BFLOPs
detection
truth_thresh: Using default '1.000000'
Loading weights from yolov3.weights...Done!
data/dog.jpg: Predicted in 0.029329 seconds.
dog: %
truck: %
bicycle: %

这说明没有问题。

(2)更改检测阈值

默认情况下,YOLO仅显示置信度为.25或更高的对象。您可以通过将-thresh <val>标志传递给yolo命令来更改此设置。例如,要显示所有检测,可以将阈值设置为0:

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg -thresh 

3 培训YOLO VOC

要培训YOLO,您需要2007年至2012年的所有VOC数据。(如果你和我一样用自己的数据训练yolo,则不需要下面这一步)

要获取所有数据,请创建一个目录以存储所有数据,然后从该目录运行:

wget https://pjreddie.com/media/files/VOCtrainval_11-May-2012.tar
wget https://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tar
wget https://pjreddie.com/media/files/VOCtest_06-Nov-2007.tar
tar xf VOCtrainval_11-May-.tar
tar xf VOCtrainval_06-Nov-.tar
tar xf VOCtest_06-Nov-.tar

现在将有一个VOCdevkit/子目录,其中包含所有VOC培训数据。

生成VOC标签

现在我们需要生成Darknet使用的标签文件。Darknet希望.txt为每个图像提供一个文件,并在图像中为每个地面真实对象添加一行,如下所示:

<object-class> <x> <y> <width> <height>

(1)运行test.py

先运行这个。功能将Annotations里的xml文件随机的分发到对应文件夹里

分发到比例是可以改的

(2)然后再出去运行voc_label.py

这几个py文件都比较好理解,可以稍微看一下源码

(3)修改Cfg以获取Pascal数据,在cfg文件夹中的voc.data中,下面以我的路径举例

 classes= 10
train = /home/lanyou/mydarknet/darknet/traindata/train.txt
valid =/home/lanyou/mydarknet/darknet/traindata/2007_test.txt
names =/home/lanyou/mydarknet/darknet/traindata/voc.names
backup =/home/lanyou/mydarknet/darknetbackup

下载预训练的卷积权重(用自己的数据训练则可以不需要这一步)

为了进行训练,我们使用在Imagenet上预先训练的卷积权重。我们使用darknet53模型的权重。您可以在此处下载卷积层的权重(76 MB)

wget https://pjreddie.com/media/files/darknet53.conv.74

训练模型

现在我们可以训练!运行命令(官方指导文件中命令):

./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.

下面给出我自己的命令供大家参考。(我用的yolov3-tiny.cfg)

./darknet detector train mycfg/voc.data mycfg/yolov3-tiny.cfg 

这上面基本上都是参考链接中有的,我把要用到的重要步骤给翻译整理了一下。

下面做一些注意事项的补充

1,在mycfg中的yolov3-tiny.cfg文件中,可以修改训练参数。

比如中的max_batches = 250000,表示最大训练步数,可以自己修改。

还可以把training下面的batch改小一点,以免报错,我这里batch=32.

2,训练中,在mycfg中的yolov3-tiny.cfg文件中,testing下面的batch和subdivisions前面要加#号注释掉。training下面的两项要保留。

测试时,在mycfg中的yolov3-tiny.cfg文件中,training下面的batch和subdivisions前面要加#号注释掉。testing下面的两项要保留。

3,在不同的环境下,还要更改darknet中的makefile文件配置,例如,用的GPU训练,可以参考如下配置。

makefile中的配置如下。

GPU=1

CUDNN=1

OPENCV=1

OPENMP=1

DEBUG=0

最新文章

  1. [js] 变量空值研究
  2. Tiny Mapper
  3. C# 多线程,论多核时代爱恨情仇
  4. MySQL缺失mysql_config文件
  5. WebSocket帧数据 解码/转码
  6. 【NS2仿真】TCP与UDP混合
  7. JavaScript实现Ajax小结
  8. llnq SqlMethods like
  9. UVALive 2889(回文数字)
  10. ios 自己定义导航栏和切割线
  11. 无法识别的配置节 system.serviceModel
  12. nefu 1116 字符串加密
  13. 【转】C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。
  14. Cookie浅谈
  15. maven pom文件简单模板和配置详解
  16. mysql 行转列 (case when的使用)
  17. webpack的require是如何工作的?
  18. 洛谷 P4884 多少个1?
  19. 最短作业优先(SJF)
  20. codeforces 1A - math - ceil

热门文章

  1. 阿里云高级技术专家空见: CDN的数据化之路
  2. 涨见识了,在终端执行 Python 代码的 6 种方式!
  3. zabbix通过Web场景监控URL
  4. 手把手教你用JS/Vue/React实现幸运水果机(80后情怀之作)
  5. Verifying dml pool data
  6. Quartz SpringBoot 简单整合一下
  7. [ARC060D] 最良表現
  8. (六)logback.xml 配置详解
  9. 其他函数-web_concurrent
  10. numpy中的max和maximum