Windows下使用Yolov3(GPU)训练+测试自己的数据集

1、配置Yolov3

参考:Windows下使用darknet.exe跑通Yolov3

Window10+VS2017+CUDA10.0+OpenCV3.2.0配置Yolov3生成darknet.exe

2、制作VOC数据集

参考:Labelimg制作数据集

制作完成的数据集如下:

 

3、将VOC数据集转换成yolov3所需的txt数据集文件

方法(1):在使用labeimg制作数据集时将VOC格式改为YOLO格式,保存时自动生成txt文件。

方法(2):

将第2步制作的VOCdevkit2007文件夹拷贝到..\darknet-master\build\darknet目录下。将..\darknet-master\scripts目录下的voc_label.py文件拷贝到..\darknet-master\build\darknet\VOCdevkit2007目录下,并重命名为voc_label_mine.py,打开进行如下修改。

# 第7行修改所需sets
sets=[('2007', 'train'), ('2007', 'val'),  ('2007', 'test')]# 第9行修改为自己的类别
classes = ["ali", "ddg1000", "jg3", "jilong"]# 第26、27行修改路径,可改为绝对路径in_file = open('VOC%s/Annotations/%s.xml'%(year, image_id))out_file = open('VOC%s/labels/%s.txt'%(year, image_id), 'w')# 第48、49、50行修改路径,可改为绝对路径if not os.path.exists('VOC%s/labels/'%(year)):os.makedirs('VOC%s/labels/'%(year))image_ids = open('VOC%s/ImageSets/Main/%s.txt'%(year, image_set)).read().strip().split()# 第53行修改路径,可改为绝对路径list_file.write('%s/VOC%s/JPEGImages/%s.jpg\n'%(wd, year, image_id))

完成后在VOCdevkit2007文件夹中生成如下文件:(txt文件中为对应图片的绝对路径)

在VOC2007文件夹中生成labels文件:(labels文件中为所有图片的xml文件转成的txt文件)

4、下载预训练权重

https://github.com/AlexeyAB/darknet

http://pjreddie.com/media/files/darknet53.conv.74

下载完成后存放在..\darknet-master\build\darknet\x64目录下新建的weights_pr文件夹中。

5、修改文件

(1)修改网络配置文件,..\darknet-master中的Makefile

(2)打开..\darknet-master\build\darknet\x64\data中的voc.data

classes= 4   # 修改为类别数
train  = E:\Yolov3\darknet-master\build\darknet\VOCdevkit\2007_train.txt   # 修改为文件所在绝对路径
valid  = E:\Yolov3\darknet-master\build\darknet\VOCdevkit\2007_test.txt   # 修改为文件所在绝对路径
#difficult = data/difficult_2007_test.txt
names = data/voc.names
backup = E:\Yolov3\darknet-master\build\darknet\x64\results_mine   # 新建results_mine文件夹存放训练好的权重文件

(3)打开..\darknet-master\build\darknet\x64\data中的voc.names(修改为自己的类别)

(4)打开..\darknet-master\build\darknet\x64中的yolov3-voc.cfg

# 第1-7行
[net]
# Testing
# batch=1
# subdivisions=1
# Training
batch=64            # 控制训练时的batchsize
subdivisions=32# 第20行修改迭代次数
max_batches = 50200# 第605、689、773行
filters=27   # 修改为3×(5+类别数)# 第611、695、779行
classes=4   # 修改为类别数# 第616、700、784行
random=1   # 多尺度输出为1,显存小时改为0关闭

6、开始训练

打开cmd,cd到..\darknet-master\build\darknet\x64目录下,在此目录下新建results_mine文件夹,输入命令:

darknet.exe detector train .\data\voc.data yolov3-voc.cfg .\weights_pr\darknet53.conv.74 .\results_mine

每迭代1000次在results_mine中生成一个权重文件。

7、测试

打开cmd,cd到..\darknet-master\build\darknet\x64目录下,输入命令:

(yolov3-voc_21000.weights为results_mine文件夹中,训练生成的权重文件之一)

darknet.exe detector test data\voc.data yolov3-voc.cfg results_mine\yolov3-voc_21000.weights

按照提示输入测试图片的绝对路径:

参考:

Yolov3:win10下训练自己的数据(GPU版)(详细步骤)

win10下YOLO v3训练自己的数据集

Yolov3参数理解

Windows下使用Yolov3(GPU)训练+测试自己的数据集相关推荐

  1. Windows 下使用 nmap ncat 命令测试 UDP 端口连接

    Windows 下使用 nmap ncat 命令测试 UDP 端口连接_allway2的博客-CSDN博客_windows如何测试udp端口 下载windows版nmap cd C:\Program ...

  2. Windows下通过c++调用训练好的tf模型

    主要参考:Windows下用c++来调用tensorflow训练好的模型 过程与参考博客基本一致,这里主要记录一下我遇到的一些问题 问题1:测试模型的py文件 在pycharm中报错显示 Failed ...

  3. windows 下用开源流媒体压力测试工具 rtmpstress 测试RTMP媒体服务器负载性能

    最近笔者的朋友需要部署流媒体服务作运营,从国外购买了几套流媒体服务器软件,该流媒体服务器软件是基于java开发的,他向笔者咨询,如何检测该流媒体服务器软件是否能支持1000以上并发,笔者建议找一个RT ...

  4. windows下delf配置:delf测试(三)

    windows下delf配置:基础环境(一) windows下delf配置:delf环境(二) 1.准备 oxbuildings创建data data/oxford5d_images (放影像) da ...

  5. 【目标检测实验系列】使用yolov3 spp训练西工大遥感数据集NWPU VHR-10(包括如何将NWPU VHR-10转为VOC格式和yolov3 spp实验调试的详细步骤,且附上训练完的权重文件)

    目录 1. 文章主要内容 2. 西工大数据集转换为VOC格式数据集 2.1 VOC数据集结构 2.2 西工大数据集 2.3 转换格式 2.3.1 构建与VOC类似的数据集文件结构(文件夹名可以自定义) ...

  6. 【MMDetection3D】环境搭建,使用PointPillers训练测试可视化KITTI数据集

    文章目录 前言 3D目标检测概述 KITTI数据集简介 MMDetection3D 环境搭建 数据集准备 训练 测试及可视化 绘制损失函数曲线 参考资料 前言 2D卷不动了,来卷3D,之后更多地工作会 ...

  7. MMAction2学习笔记 使用C3D训练测试自己的数据集

    新手上路,记录一下自己的学习过程,希望也能对你有所帮助. 1.数据集准备 参考官网给出的数据集准备教程 https://github.com/open-mmlab/mmaction2/blob/mas ...

  8. windows 下 TensorFlow(GPU 版)的安装

    windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速 0. 环境 OS:Windows 10,64 bit: 显卡:NVIDIA GeFor ...

  9. windows下,Anaconda安装GPU版本的tensorflow

    文章目录 前言 一.查看windows的CUDA版本 二.使用步骤 1.各个GPU版本tensorflow对应的CUDA版本 2.安装对应的版本的CUDA,我这里选择安装cuda11.0的 2.安装对 ...

最新文章

  1. 二进制计算机课教案,计算机与二进制教案.pdf
  2. 【正一专栏】齐达内能熬过2018年的春天吗?
  3. android控件的对齐方式(转)
  4. WordCount by C# 结对编程
  5. vtune mysql user_intel vtune 介绍、安装和使用
  6. 尤大直播分享:vue3生态进展和展望
  7. linux微信公众号报警,zabbix报警媒介,微信报警,邮件报警
  8. 前5月全国快递业务量累计完成396.5亿件 同比增50.1%
  9. The following tasks did not complete: first Did you forget to signal async completion?
  10. 【热门技术】三种SEO方式
  11. 很多人问中国网络安全行业怎么样?这篇文看完让你彻底了解中国网络安全行业的全景
  12. 联想电脑进入BIOS曾经走过的“坑”
  13. 电脑桌面云便签怎么将界面最小化?
  14. 【自然语言处理】【实体匹配】PromptEM:用于低资源广义实体匹配的Prompt-tuning
  15. 第三篇 ME909s-821设备描述符分析
  16. DEV 报表设计分组
  17. 八十年代曾经的十大经典zz
  18. 中国“互联网+”大学生创新创业大赛“的实施方案及评审规则
  19. 数据库篇-mysql主备搭建
  20. spring事务失效了? @Transactional不管用了 ?看看这些@Transation的坑

热门文章

  1. 鼎信设备设置通道增益,提高音量
  2. PHP资格证书查询系统源码 自动生成二维码 支持导入导出功能
  3. Debian查看系统的版本
  4. 2022年竞赛打榜,神经网络还是干不过树模型?
  5. Python小屋刷题神器题目分类速查表
  6. Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
  7. 游戏制作大致流程粗谈之四
  8. 关于激活Windows10专业版2018长期服务版(神坑的小白一键重装系统)
  9. html5版权信息怎么添加,复制文本加上版权信息功能实现
  10. 扑克牌接龙游戏代码c语言,C++点扑克牌游戏(含源码).doc