Windows+Yolo3-darknet训练自己数据集并测试

Windows+Yolo3-darknet训练自己的数据集并测试

一、首要条件
Windows 7下配置好VS2015+OPENCV3.4.2+YOLO3+CUDA10.0+CUDNN7.5生成darknet.exe。具体配置可参考我的博客:https://blog.csdn.net/wszswllnzn_/article/details/100760477
二.制作数据集
1、方法1
使用软件labelImg制作数据集,生成.mxl文件或直接将VOC格式改为Yolo格式,保存时自动生成.txt文件。
在这里插入图片描述
2、方法2
为了简化工作,直接下载VOC-Yolo数据集,将该数据集的VOCdevkit文件夹拷贝到…\darknet-mastexunlianr\build\darknet目录下。将…\darknet-masterxunlian\scripts目录下的voc_label.py文件拷贝到…\darknet-master\build\darknet\VOCdevkit目录下,并重命名为voclabel_xunlian.py,打开进行如下修改。

# 第7行修改所需sets
sets=[('2007', 'train'), ('2007', 'val'),  ('2007', 'test')]# 第9行修改为自己的类别
classes = ["a", "b", "c", "d"]# 第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))

完成后在VOCdevkit文件夹中生成如下文件:
在这里插入图片描述
在VOC2007文件夹中生成labels文件:
在这里插入图片描述
三、下载网络模型预训练权重
下载后保存在:.\darknet-masterxunlian\build\darknet\x64目录下新建的weights_pr文件夹中。下载链接如下:http://pjreddie.com/media/files/darknet53.conv.74
四、修改参数
1、修改网络配置文件,.\darknet-masterxunlian中的Makefile,使用什么就设置什么为1。我使用的是GPU版本训练。
在这里插入图片描述
2、打开…\darknet-masterxunlian\build\darknet\x64\data中的voc.data

classes=2 
train  = D:\darknet-masterxunlian\build\darknet\VOCdevkit\2007_train.txt 
valid  = D:\darknet-masterxunlian\build\darknet\VOCdevkit\2007_val.txt 
#difficult = data/difficult_2007_test.txt
names = data/voc.names
backup = D:\darknet-masterxunlian\build\darknet\VOCdevkit\results_mine

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

bird
car

4、打开…\darknet-masterxunlian\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=2   # 修改为类别数# 第616、700、784行
random=1    # 多尺度输出为1,显存小时改为0关闭

五、训练

打开cmd,cd到…\darknet-masterxunlian\build\darknet\x64目录下,在此目录下新建results_xunlian文件夹,输入命令:darknet.exe detector train .\data\voc.data yolov3-voc.cfg .\weights_pr\darknet53.conv.74 .\results_xunlian 每迭代1000次在results_xunlian中就会生成一个权重文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/698928.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASPxGridView中使用PopupEditForm表单字段联动填充

c#中devexpress的控件ASPxGridView中使用PopupEditForm表单字段联动填充 //选择项目名称&#xff0c;自动填充项目编号 <Columns><dx:GridViewDataTextColumn FieldName"id" ReadOnly"True" VisibleIndex"0" Visible"False"…

com.alibaba.nacos.api.exception.NacosException: Request nacos server failed

问题描述 安装nacos2.0以上版本&#xff0c;启动报错:com.alibaba.nacos.api.exception.NacosException: Request nacos server failed com.alibaba.nacos.api.exception.NacosException: Request nacos server failed: at com.alibaba.nacos.client.naming.remote.gprc.Nami…

MFC 多文档程序的基本编程

下载了一个openGL mfc的多文档程序,以此来学习mfc多文档模式的编程; 1 基本编程 它每次新建一个文档,会在窗口绘制一个三角形、一个矩形;如果没有了图形刷新一下; 先看一下为什么每次打开新文档会绘制图形; 生成工程之后主要有5个类,比单文档程序多了一个子框架类; 可…

记录一下我的Ruby On Rails的systemd服务脚本

自己也是一个 ROR 框架的学习者&#xff0c;同时也是 Ruby 的新手。对于如何让 ROR 应用随系统自动启动并不是很了解。在尝试了各种方法之后&#xff0c;我最终找到了一条可行的途径。虽然不确定是否完全正确&#xff0c;但服务已经成功启动了。因此&#xff0c;我决定在这里保…

hive中如何取交集并集和差集

交集 要获取两个表的交集&#xff0c;你可以使用INNER JOIN或者JOIN&#xff1a; SELECT * FROM table1 JOIN table2 ON table1.column_name table2.column_name;也可以使用 INTERSECT 关键字 SELECT * FROM table1 INTERSECT SELECT * FROM table2;并集 要获取两个表的并集…

华为HCIP Datacom H12-831 卷23

单选题 1、某园区部署IS-IS实现网络互通&#xff0c;在所有IS-IS路由器的进程中配置命令flash-flood 6 max-timer-interval 100 Leve1-2&#xff0c;则以下关于该场景的描述,正确的是哪—项? A、若某IS-IS路由器LSDB内更新的LSP数量为5,则在100毫秒内且路由计算完成前&#…

Java向ES库中插入数据报错:I/O reactor status: STOPPED

Java向ES库中插入数据报错&#xff1a;java.lang.IllegalStateException: Request cannot be executed; I/O reactor status: STO 一、问题问题原因 二、解决思路 一、问题 在使用Java向ES库中插入数据时&#xff0c;第一次成功插入&#xff0c;第二次出现以下错误&#xff1a…

【力扣经典面试题】238. 除自身以外数组的乘积

目录 一、题目描述 二、题解分析 思路&#xff1a; 算法步骤&#xff1a; 代码(C版)&#xff1a; 三、总结 一、题目描述 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证…

【八股文面试】Java基础常见面试题总结(上)

Java基础常见面试题总结(上) Java有哪些特性 简单易学&#xff1b;面向对象&#xff08;封装&#xff0c;继承&#xff0c;多态&#xff09;&#xff1b;平台无关性&#xff08; Java 虚拟机实现平台无关性&#xff09;&#xff1b;支持多线程&#xff08; C 语言没有内置的多…

K8S-001-Virtual box - Network Config

A. 配置两个IP&#xff0c; 一个连接内网&#xff0c;一个链接外网: 1. 内网配置(Host only&#xff0c; 不同的 virutal box 的版本可以不一样&#xff0c;这些窗口可能在不同的地方&#xff0c;但是配置的内容是一样的): 静态IP 动态IP 2. 外网&#xff08;创建一个 Networ…

petalinux_zynq7 驱动DAC以及ADC模块之一:建立IP

0. 环境 - ubuntu18 - vivado 2018.3 - mizar z7010 ada106模块 1. vivado 1.1 创建vivado工程 运行vivado source /tools/Xilinx/Vivado/2018.3/settings64.sh vivado& 创建vivado工程 Vivado -> Create Project -> Next -> -> Project name: …

下载 axios.js 文件到本地【linux】

方式一 npm install axios在$NODE_PATH/node_modules/axios/dist路径下即可找到axios.js。 方式二 1、百度搜索 GitHub 官网&#xff1a;https://github.com/ 2、搜索 axios 3、点击 axios/axios 4、下载到本地 5、解压&#xff0c;进入到 dist 文件夹** 参考&#x…

30题ctf总结

命令执行 [WUSTCTF2020]朴实无华1-CSDN博客 命令执行 [强网杯 2019]高明的黑客1-CSDN博客 cookie伪造 [BSidesCF 2019]Kookie1-CSDN博客 sql注入 [极客大挑战 2019]FinalSQL1-CSDN博客 模板注入 [BJDCTF2020]Cookie is so stable1-CSDN博客 命令绕过 [安洵杯 2019]easy_web1…

Linux 可视化管理-webmin 和 bt 运维工具安装教程

Linux 可视化管理-webmin 和 bt 运维工具安装教程 webmin webmin 是功能强大的基于 Web 的 Unix/linux 系统管理工具。管理员通过浏览器访问 Webmin 的各种管理功能并完成相应的管理操作。除了各版本的 linux 以外还可用于&#xff1a;AIX、HPUX、Solaris、Unixware、Irix 和…

C语言之mkdtemp()特定占位符:XXXXXX 用法实例(八十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

Ps:原色通道直方图(CMYK)

在 CMYK 颜色模式下&#xff0c;Photoshop 的“通道”面板中有青色、洋红、黄色及黑色四个原色通道。 与 RGB 颜色模式基于光的加法混合不同&#xff0c;CMYK 颜色模式基于颜料的减法混合&#xff0c;更适合反映实际印刷中油墨的使用情况。 默认情况下&#xff0c;CMYK 原色通道…

【C语言】整型变量与字符变量在任何情况下都可以互相代替吗?

解答&#xff1a; 在C语言中&#xff0c;整型变量和字符变量在某些情况下可以互相代替&#xff0c;但并非在任何情况下都可以互相代替。 char c A; int i c; printf("%d\n", i); // 输出65int j 65; char ch j; printf("%c\n", ch); // 输出A 在这个例…

动态绑定样式,uniapp,用三元运算动态绑定多个class类样式,动态绑定的样式可以和原始样式共存

介绍 | uni-app官网 vue、uniapp中动态添加绑定style、class 9种方法实现_vue style动态绑定-CSDN博客 uniapp使用三元运算符动态绑定元素的style样式_uniapp style动态绑定-CSDN博客 对象写法,可以写多个class类 class类的名字&#xff1a;判断条件&#xff0c;最后结果只有…

C#中用ffmpeg截取视频使用要点

一、代码 string inputFile "E:\\Test\\1\\5.mp4"; string outputFile "E:\\Test\\1\\10.mp4"; int startTime 5; // 开始时间&#xff08;秒&#xff09; int endtime 10; // 结束时间&#xff08;秒&#xff09;Process p new Process(); p.StartI…

leetcode(算法) 83.删除排序链表中的重复元素(python版)

需求 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2] 示例 2&#xff1a; 输入&#xff1a;head [1,1,2,3,3] 输出&…