基于 Ubuntu 16.04 从零开始配置深度学习主机(五)--Darknet配置与训练

今年年初,Darknet团队发布了YOLO v3版本,在Ubuntu下的配置非常便捷,关于Darknet的配置,之前报错的时候在GitHub上问过作者,OpenCV3.4.1存在bug,并不能编译成功Darknet,建议退回到3.4.0版本,之前我是用CUDA8.0+CUDNN7.0.1+OpenCV3.3.1配置成功的,现在我用CUDA9.0+CUDNN7.3.0+OpenCV3.4.0也配置成功了。在此记录下配置和训练过程。

配置

  1. 下载源码并编译
git clone https://github.com/pjreddie/darknet
cd darknet
make
  1. 修改Makefile文件,配置OPENCV\CUDNN\GPU
GPU=1
CUDNN=1
OPENCV=1
OPENMP=0
DEBUG=0
  1. 重新编译
make

训练

  1. 下载权重文件并测试
wget https://pjreddie.com/media/files/yolov3.weights
./darknet detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights data/dog.jpg
  1. 下载预训练模型放在/darknet根目录下
wget https://pjreddie.com/media/files/darknet53.conv.74
  1. 文件结构
     -darknet/mydata #数据集路径
      -Annotations #存放注释文件
      -JPEGImages #存放原始图片
      -ImageSets
          -Layout
          -Main #存放trian.txt 和val.txt
          -Segmentation
  1. 运行脚本生成包含训练集、验证集、测试集名称的.txt文件
  2. 修改.cfg 网络结构文件
    下图是今年四月份我第一次开始训练的时候报错,在Github上提问作者时,作者的回复。
    基于 Ubuntu 16.04 从零开始配置深度学习主机(五)--Darknet配置与训练_第1张图片
  3. 修改.data 配置文件
    voc-18.data # 指定分类数量;训练图片和验证图片的路径;分类名称;权重保存路径。
    基于 Ubuntu 16.04 从零开始配置深度学习主机(五)--Darknet配置与训练_第2张图片
  4. 修改.names分类名称文件
    因为我只有一类,所以我只写了person。这里一定要与标签中的对应,不能多不能少,否则训练报错。
    基于 Ubuntu 16.04 从零开始配置深度学习主机(五)--Darknet配置与训练_第3张图片
  5. 运行自带的voc_label.py脚本生成用于训练的.txt文件
  6. 训练
./darknet detector train mydata/voc-18.data mydata/yolov3-voc-18.cfg 

训练过程如图所示:
基于 Ubuntu 16.04 从零开始配置深度学习主机(五)--Darknet配置与训练_第4张图片

你可能感兴趣的:(Ubuntu,&,Git)