YOLOv3训练自己的数据、批量测试、测试召回率步骤总结

系统:ubuntu16.04.5 查看命令:cat /etc/issue
GPU:RTX 2070 查看命令:nvidia-smi
python:2.7.15 查看命令:python
opencv:3.4.0 查看命令:pkg-config --modversion opencv
CUDA Version:8.0.61 查看命令:cat /usr/local/cuda/version.txt
CUDNN:6.0.21 查看命令:cat /usr/local/cuda/include/cudnn.h

训练过程

1.标注数据,用到的是原图和标注数据(XML)
可以用LabelImg工具标注。
链接:https://pan.baidu.com/s/11zsNoah9nIRDjqgPPQ-xxA 提取码:874q

2.下载yolov3项目工程

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

3.修改Makefile文件

GPU=1
CUDNN=1
OPENCV=1

-gencode arch=compute_61,code=[sm_61,compute_61]  根据GPU版本修改

NVCC=/usr/local/cuda-8.0/bin/nvcc 

4.准备所需的数据集格式

1)建立VOCdevkit文件夹,里面为名为VOC2018的文件夹,在里面是4个文件夹,Annotations、 ImageSets、JPEGImages、labels
在这里插入图片描述
2)Annotations是存放标注的XML文件
ImageSets里面有个main文件夹,里面装着train.txt和val.txt,里面装的是图片名称的前缀儿
JPEGImages用于存放原图
labels用于存放每个图片目标数据的txt文件(纯数据)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3)执行getTxtOfTandV.py文件,提取文件名的前缀,并按1:9的比例分训练集和测试集(网上有)

#coding:utf-8
import os
import random

trainval_percent = 1  #训练验证数据集的百分比
train_percent = 0.9 		#训练集的百分比
xmlfilepath = '/home/.../darknet/VOCdevkit/VOC2018/Annotations'  	#xml文件的路径
txtsavepath = '/home/.../darknet/VOCdevkit/VOC2018/ImageSets/Main'  #txt文件的保存路径	# os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。
total_xml = os.listdir(xmlfilepath)
num=len(total_xml)  				#列表的长度
list=range(num)
tv=int(num*trainval_percent)  #训练验证集的图片个数
tr=int(tv*train_percent)  	  #训练集的图片个数	# sample(seq, n) 从序列seq中选择n个随机且独立的元素;
trainval= random.sample(list,tv)
train=random.sample(trainval,tr)
#创
  • 1
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值