YOLOv4中Makefile文件的修改与用CMake编译,以及遇到的一些问题

  • Post author:
  • Post category:其他





前言


提示:之前利用YOLOv4的darknet来训练自己的数据集的时候,发现GPU的利用率非常低,应该说是没有用到。后来才发现需要修改Makefile文件,但是上网查到很多都是说修改文件内容然后生成就好了,但是我纯小白不知道怎么生成呀,好长时间终于摸索出来了,分享给大家。本文讲解YOLOv4中Makefile文件的修改与编译,以及遇到的一些问题。



一、环境配置

基本的一些环境配置可以看我的上一篇文章,本文主要讲解修改Makefile文件。


  1. CMake软件下载

    :可以直接上

    官网下载

    。也可以直接下载我分享的百度云链接 链接:https://pan.baidu.com/s/1UC0mxZicelsKxvnU1eXfdQ

    提取码:grx0

    在这里插入图片描述


  2. Cmake软件安装

    。运行下载的文件,一路next,记得修改一下安装路径就可以了。



二、使用步骤



1.修改Makefile文件

用记事本打开Makefile文件,将需要修改的内容

GPU=1

CUDNN=1

CUDNN_HALF=1

OPENCV=1

在这里插入图片描述



2.编译Makefile文件

修改Make文件之后,需要编译生成才能完成修改。这里就用到我们之前下载的CMake软件,其实也可以不用这个软件的,但是我没搞明白别的方法怎么用,这个软件是我发现的使用起来还挺简单的。

打开软件

在这里插入图片描述

修改Where is the soure code为Makefile所在的文件夹,Where to build the binaries可以选为同一个文件夹,之后点击Confifure

在这里插入图片描述

选择你的VS版本,并将平台设为x64,点击Finish

在这里插入图片描述

再点击 Generate生成。

在这里插入图片描述

生成成功之后,点击open project

在这里插入图片描述

随后在vs中打开了该程序,在最上面设置成Release x64,点击 生成>生成解决方案。

在D:\darknet-master\Release目录下复制新生成的darknet.exe文件,粘贴到D:\darknet-master\build\darknet\x64路径下

在这里插入图片描述

这样我们就完成了Makefile文件的修改和编译了。



三、遇到的问题



1. configure时,有warning提示没有opencv

错误“By not providing “FindOpenCV.cmake” in CMAKE_MODULE_PATH”

这是因为,Cmake没有检测到你的opencv,只要设置一个环境变量就行。变量OpenCV_DIR,值为你电脑中安装的opencv的build路径。

在这里插入图片描述

修改完成后,重启电脑,再次运行就ok了。



2. Generate时,有warning

在这里插入图片描述

如图,CMake Warning (dev) in CMakeLists.txt:

Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,

empty CUDA_ARCHITECTURES not allowed. Run “cmake –help-policy CMP0104”

for policy details. Use the cmake_policy command to set the policy and

suppress this warning.

CUDA_ARCHITECTURES is empty for target “dark”.

This warning is for project developers. Use -Wno-dev to suppress it.

查阅policy-CMP后,发现,这是因为使用了 old behavior,但是这个没有影响,可以不理他。



版权声明:本文为qq_41308881原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。