yolov4官方源码在自己的数据集上运行笔记

news/2024/7/3 12:19:14
  • 地址:https://github.com/AlexeyAB/darknet
  • 源码是c的不是python的,所以配置稍微有点麻烦:
    • 首先要先配好环境,否则编译会出错,就算编译不出错,运行也会出错,环境要求看官方文档(也就是上面这个网站首页展示的那个超长的md文件):由于服务器之前装好了cuda10.0和cudnn7.3了,所以我只需要装opencv就行,装opencv可以看这篇blog: https://blog.csdn.net/Wangguang_/article/details/85762705,其中opencv源码包被墙卡了下载很慢,这里给下载好的资源:https://download.csdn.net/download/weixin_44326452/12414819
    • 在这里插入图片描述
    • 然后把整个repos下载下来,如果要在服务器运行就放到服务器上去,这里建议可以先fork,然后用G码云导入到G码云账号,再用G码云下载,不会被墙卡,比较快
    • 接着要编译产生一个darknet的可执行文件,linux是darknet,windows是darknet.exe,我是在linux服务器上运行的,所以是darknet。我是用make,因为服务器的cmake是3.10的,要求cmake高于3.12,所以用make,也不麻烦,make之前按官方文档说明和自己的需求修改一些变量即可:在这里插入图片描述
    • 我由于是服务器,所以也没有摄像头什么的,我是这样的:
GPU=1
CUDNN=1
CUDNN_HALF=1
OPENCV=0
AVX=0
OPENMP=1
LIBSO=1
ZED_CAMERA=0 # ZED SDK 3.0 and above
ZED_CAMERA_v2_8=0 # ZED SDK 2.X
  • 然后开始编译,cd到这个repos的目录下,make 即可;如果make过程出错可能是环境配置出了问题,比如找不到nvcc,如果你在自己的账号下是有nvcc的只是在root账号下编译时找不到nvcc,可以先在自己账号下where nvcc,然后复制这个地址,再进入root账号,修改makefile的这一行:NVCC=nvcc,改为NVCC=xxx,xxx是你刚刚where nvcc返回的地址,我的是这样的NVCC=/app/common/cuda/10.0/bin/nvcc;如果提示找不到libso什么的,就是PATH和LD_LIBRARY_PATH没有弄好,要加上这两句:
export PATH=/usr/local/cuda-xx.x/bin$PATH:
export LD_LIBRARY_PATH=/usr/local/cuda-xx.x/lib64$LD_LIBRARY_PATH:

这里的xx.x改成你的cuda驱动版本。

  • 注意如果make失败或者出问题,解决完环境问题重新make前要先make clean
  • make成功会多出来一个darknet的可执行文件,chmod +x darknet,这样准备工作就完成了,接下来就可以为所欲为了
  • 比如我想跑yolov4在自己的数据集上,就按官方指引这样:https://github.com/lovedoubledan/darknet#how-to-train-to-detect-your-custom-objects

http://www.niftyadmin.cn/n/3658024.html

相关文章

如何知道可执行文件是32-bit还是64-bit

可以使用GetBinaryType API来获得这个信息:BOOL GetBinaryType(LPCTSTR lpApplicationName,LPDWORD lpBinaryType);Binary Type可以是下面的值。ValueMeaningSCS_32BIT_BINARYA 32-bit Windows-based applicationSCS_64BIT_BINARYA 64-bit Windows-based applicatio…

SSD pytorch 运行debug

出于某些原因需要在一个数据集上测试SSD 源代码来自github 高star的repos:https://github.com/amdegroot/ssd.pytorch为了在自己的数据集上进行训练和测试,首先是要按下面这篇blog的流程先修改: https://blog.csdn.net/dingkm666/article/det…

转载:如何指定程序在Vista上面需要提升权限运行(Elevated)

在Manifest中加上下面内容即可:level""asInvoker""uiAccess""false"" />全文请见:http://blogs.msdn.com/shawnfa/archive/2006/04/06/568563.aspx

CornerNet跑自己数据集笔记

原repos地址为:https://github.com/princeton-vl/CornerNet为了在服务器的cuda10电脑上用自己的数据集跑这份代码,主要有三点: 修改数据集接口适应cuda10和pytorch1.5训练配置 接下来就分点详述: 修改数据集接口: 有…

转贴:Mark Russinovich的Inside Vista Kernel系列文章,讲到了Vista内核的调度,IO,内存管理,缓存,事务处理,安全等众多新特性

Mark Russinovich的Inside Vista Kernel系列文章。Mark是SysInternals的创始人之一,是多个著名系统工具的作者,是Windows系统内核方面的高手。不久前他接受了Microsoft的Technical Fellow职位,参与Windows Kernel开发。本文讲到了Vista内核的…

2-6月以来密集的项目实践的总结

2-4月做了三件事,为MICCAI会议投稿论文准备一些实验,打了个超分辨率比赛NTIRE,得了大概是第7名/200多个参赛队伍,做了一个新冠病毒相关肺部图像诊断的项目;4-6月以来做了三件事情,写了一份(实际…

今天David Solomon的为期三天的Windows Internal培训刚结束

今天David Solomon的为期三天的Windows Internal培训刚结束,很累,但是也受益匪浅。讲座基本上是他和Mark合著的Windows Internal书最新的Vista相关内容,讲的非常清晰透彻,不愧是David。(其实搞技术不一定非要写程序&am…

Overcoming Classififier Imbalance for Long-tail Object Detection with Balanced Group Softmax 阅读笔记

这是CVPR2020的一篇文章,关于detection中的类别不平衡问题的解决方法提出了一个新的softmax用于解决目标检测中的类不平衡问题在类平衡数据集上表现很好的检测模型在类不平衡数据集上效果下降很严重,经过实验发现,分类器参数对不同类别的权重…