yolov4训练自己的数据集

2023-11-19

1、电脑配置

win10、OpenCV4.1、VS2019、cuda10.2

2、下载并配置

(1)YOLOv4网址:https://github.com/AlexeyAB/darknet
克隆到本地后,开始配置
(2)打开:D:\darknet\build\darknet(我下载在D盘,路径按照自己的打开)
在这里插入图片描述
(3)在文件夹C:\Program Files (x86)\opencv\build\x64\vc15\bin的两个dll文件:

opencv_ffmpeg410_64.dll和opencv_world410.dll
复制到
D:\darknet\build\darknet\x64
(不同的版本名称有点差异,但是大差不差的)
(4)release跟x64
在这里插入图片描述
点击项目->darknet属性
在这里插入图片描述
添加附加依赖项的时候添加的是opencv_world410.lib,就是没有d的有d的是debug的

(6) 编译项目,点击“重新生成解决方案”。
可能有下述错误:

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 MSB4019 找不到导入的项目“C:\Program Files
(x86)\Microsoft Visual
Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA
10.0.props”。请 确认 Import 声明“C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA
10.0.props”中的 表达式正确,且文件位于磁盘上。

(7)打开 D:\darknet\build\darknet\darknet.vcxproj
在这里插入图片描述
把CUDA的版本改成你自己的版本,我的是10.2,所以两处CUDA都改成10.2

(很奇怪的是,第一次修改完成后运行成功了,第二次再尝试就失败了,我就直接把第一次的文件复制过来运行就成功了,真的玄学)

(8)此时运行如果还有错误
将NVIDIA CUDA的安装程序(.exe文件)数据解压到一个指定文件夹中
在这里插入图片描述
将"D:\Temp\CUDA\VisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions"
下的文件直接拷贝到
“C:\Program Files (x86)\Microsoft VisualStudio
\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations”文件夹中。

(9)再次点击“重新生成解决方案”,这时应该编译成功,并产生可执行文件
D:\darknet\build\darknet\x64\darknet.exe

3、测试

下载 yolov4.weights,找一些图片和视频放到x64文件中

在D:\darknet\build\darknet\x64\ 目录下执行

darknet.exe detector test cfg\coco.data cfg\yolov4.cfg yolov4.weights
你的图片名.jpg
darknet.exe detector demo cfg\coco.data cfg\yolov4.cfg yolov4.weights
你的视频名.mp4

运行成功就可以开始训练了

4、训练

(1)数据集处理
在这里插入图片描述
在x64文件夹中建立一个py脚本文件将xml文件转化为txt

在这里插入图片描述
打开cmd到x64文件夹中,

python transform.py

运行成功
(之前是下载别人的用,但是一直报错,后来发现文件名包含中文的需要增标明UTF-8)
在这里插入图片描述
(2)修改配置
打开x64\data文件夹,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打开x64/cfg
复制黏贴yolov4.cfg,改成你喜欢的名字

在这里插入图片描述
在cfg\yolov4-mask.cfg文件中,三个yolo层和各自前面的convolutional层的参数需要修改:
三个yolo层都要改:yolo层中的classes为类别数,每一个yolo层前的convolutional层中的filters =(类
别+5)* 3
yolo层 classes=2, convolutional层 filters=21

在这里插入图片描述
一共有3个yolo层,从012,345到678
改完保存

(3)下载预训练权重
yolov4.conv.137

放置在D:\darknet\build\darknet\x64目录下

这里的训练使用迁移学习,所以下载的yolov4在coco数据集上的预训练权重文件(不含head)

darknet.exe detector train data\你刚刚修改的配置.data cfg\你刚刚修改的配置.cfg yolov4.conv.137 -map

有map可以看训练过程
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

yolov4训练自己的数据集 的相关文章

随机推荐

  • VMWare Ubuntu 共享文件夹失效解决办法

    VMWare Ubuntu 共享文件夹失效解决办法 Ubuntu 是 16 04 sudo vmhgfs fuse host mnt hgfs o allow other o uid 1000
  • 华为OD机试真题- 找数字【2023Q2】【JAVA、Python、C++】

    题目描述 给一个二维数组nums 对于每一个元素num i 找出距离最近的且值相等的元素 输出横纵坐标差值的绝对值之和 如果没有等值元素 则输出 1 例如 输入数组nums为 0 3 5 4 2 2 5 7 8 3 2 5 4 2 4 对于
  • float\double 型变量怎么判断是否大于、小于、等于 0

    刷题的时候做了这样一题 include
  • 机械键盘按键失灵解决办法(亲测有效,不用换不用拆,5分钟搞定)

    机械键盘不灵的小伙伴们 有福音了 不用换不用拆 只需要一根牙签 一把美工刀 或者剪刀 一瓶酒精 或者免洗消毒液 就可以修好上百块钱的东西 5分钟搞定 这两天不知道为啥机械键盘的ctrl键居然失灵了 有时候可以有时候不好用 怎么回事 一个上百
  • Windows下Git及TortoiseGit安装、配置及使用

    文章目录 1 Git TortoiseGit安装及配置 2 Git 常用命令 2 1 新建代码库 2 2 配置 2 3 增加 删除文件 2 4 代码提交 2 5 分支 2 6 查看信息 3 Git 样例 3 1 首次提交本地代码至远程仓库
  • AD22PCB库增大黑色区域的面积

  • 运维常用面试题及答案

    介绍一下你的运维经验和技能 答案 在回答这个问题时 可以简要概述你的运维经验和技能 包括你的工作经历 参与的项目 使用的工具和技术等 重点突出你在系统监控 故障排除 自动化部署 容量规划和安全性等方面的经验和技能 你在日常工作中使用过哪些自
  • 【C++11】shared_ptr

    1 shared ptr内存模型 shared ptr 包含了一个指向对象的指针和一个指向控制块的指针 每一个由 shared ptr 管理的对象都有一个控制块 它除了包含强引用计数 弱引用计数之外 还包含了自定义删除器的副本和分配器的副本
  • 剑指 Offer 58 - I. 翻转单词顺序--学到点小知识

    class Solution public String reverseWords String s String strings s trim split StringBuilder sb new StringBuilder for in
  • Angular开发(十八)-路由的基本认识

    一 学单词 angular路由中涉及到很多新单词词汇 单词 说明 使用场景 Routes 配置路由 保存URL对应的组件 以及在哪个RouterOutlet中展现 RouterOutlet 在html中标记挂载路由的占位容器 Router
  • 什么是hive的静态分区和动态分区,hive动态分区详解

    面试官问我 什么是hive的静态分区和动态分区 这题我会 欢迎点击此处关注我的个人公众号 交流更多知识 简述 分区是hive存放数据的一种方式 将列值作为目录来存放数据 就是一个分区 可以有多列 这样查询时使用分区列进行过滤 只需根据列值直
  • 如何通过DOI号来获取相关文献并下载?

    上一篇博客分享了如何利用PMID来获取相关的文献 这篇博客就对如何利用DOI号获取并下载相关文献做简单讲解 1 打开网址 链接为 https sci hub shop 2 在输入框中输入相关的DOI号 输入格式为DOI xxxxx 其次点击
  • 【电赛-软件】CCS安装教程

    CCS安装教程 下载 下载地址 下载地址 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img WhFWuuUy 1679146802762 ccspicture ccs download png 选择第二个CCSTU
  • CSDN-markdown编辑器使用说明

    欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来 用它写博客 将会带来全新的体验哦 Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列
  • 从mpeg ts文件中提取I帧(6):I帧的显示

    I帧的显示依赖于opencv 这里用到的版本是3 4 0 显示的数据是pes解码后的rgb数据 代码比较简单 用opencv主要考虑到以后可以对ts流进行一些特征识别 include
  • 7-43 查询水果价格

    给定四种水果 分别是苹果 apple 梨 pear 桔子 orange 葡萄 grape 单价分别对应为3 00元 公斤 2 50元 公斤 4 10元 公斤 10 20元 公斤 首先在屏幕上显示以下菜单 1 apple 2 pear 3 o
  • 各种协议

    百度百科http baike baidu com view 16603 htm fromtitle E8 AE A1 E7 AE 97 E6 9C BA E7 BD 91 E7 BB 9C E5 8D 8F E8 AE AE fromid
  • json.decoder.JSONDecodeError: Invalid control character at: line 1 column 3,python中str与json类型转换报错如何解

    使用json转 json数据保密 再此不展示 判断类型 print type str json json dump json loads str json 报错如下 json decoder JSONDecodeError Invalid
  • 【Data Mining】【第五章作业】

    文章目录 一 单选题 二 多选题 三 填空题 一 单选题 1 回归分析中使用的距离是点到直线的垂直坐标距离 最小二乘准则是指 A B C D 正确答案 D 2 回归分析的步骤为 进行相关分析 建立预测模型 确定变量 确定预测值 计算预测误差
  • yolov4训练自己的数据集

    YOLOv4训练自己的数据集 1 电脑配置 2 下载并配置 3 测试 4 训练 1 电脑配置 win10 OpenCV4 1 VS2019 cuda10 2 2 下载并配置 1 YOLOv4网址 https github com Alexe