Ubuntu18.04+CUDA8.0+cuDNN11.0环境下,编译安装opencv4.4.0和darknet、测试yolov4踩坑集锦

【问题解决】编译darknet_ros时报错:OpenCV 4.x+ requires enabled C++11 support 分析:因为安装的ubuntu版本是20.04,对应安的noetic包里自带的是Opencv4.2,因此需要更改ros编译时使用的opencv版本。之后再安装一个Opencv 3.x的版本即可。文件,做以下更改:(注释掉的是源代码,后边是更改后的) 阅读详情

一、环境配置:

(一)前言

Ubuntu18.04、CUDA8.0、cuDNN11.0的安装与配置以及Nvidia驱动的安装不再赘述,可查看另一篇文章:《ubuntu16.04/18.04安装卸载cuda10.0/10.1和cudnn图文说明》
。版本不同但安装方法大同小异。需要注意nvidia驱动、CUDA和cuDNN的版本号需要对应,低版本的驱动安装高版本的CUDA是不行的,会出现报错:

CUDA driver version is insufficient for CUDA runtime version Result = FAIL

具体版本对应信息可官网查看:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html在这里插入图片描述
注:下文中所用的文件在文章末尾可直接打包下载。

(二)验证

安装完CUDA后记得执行一下source ~/.bashrc更新环境变量。
查看CUDA和cudnn版本来验证是否安装成功:
(1)查看CUDA是否安装成功:

nvcc -V

在这里插入图片描述
编译执行一下自带的例子:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery 
sudo make -j16
./deviceQuery

若显示为如下:最后一行是PASS才行。
在这里插入图片描述

(2)查看cudnn:

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述

(三)记录cuda安装完成后出现的一个错误

输入sudo ldconfig后出现错误提示

/sbin/ldconfig.real:/usr/local/cuda-11.0/targets/x86_64-Linux/lib/libcudnn.so.8 不是符号连接

在这里插入图片描述

此处参考。
这种情况是软连接问题,执行一下命令:

 sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn.so.8.0.2 /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn.so.8

注意具体的cuda版本号要正确,有几个软连接错误就改几个。改完后再sudo ldconfig就不报错了。

二、编译安装opencv4.4.0

(一)准备

1.在安装配置完成环境后,去opencv官网下载源码。
2.下载opencv_contrib-4.4.0:github地址。这是一个opencv的额外扩展库。具体信息自己查或见此处。
3.切换到opencv的根目录,将opencv_contrib-4.4.0目录复制到opencv-4.4.0目录下。
4.若曾经安装过其他版本的opencv,卸载方法如下:

cd opencv-x.x.x/build
sudo make uninstall
cd ..
sudo rm -r build
 
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
 
cd /usr
sudo find . -name "*opencv*" | xargs sudo rm -rf

(二)开始安装

1.创建build目录以便编译

cd opencv-4.4.0
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE \
    -DCMAKE_INSTALL_PREFIX=/usr/local \
    -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.4.0/modules .. \
    -DWITH_CUDA=1 \
    -DENABLE_FAST_MATH=1 \
    -DCUDA_FAST_MATH=1 \
    -DWITH_CUBLAS=1 \
    -DOPENCV_GENERATE_PKGCONFIG=1 \
    -DCUDA_GENERATION=Pascal ..

(1)cmake的前提是要安装cmake工具。要注意命令最后的两个点,因为编译所需的文件在上级目录;
(2)如果opencv_contrib文件名不一样自己改一下。

2.编译

make -j16

具体-j后面的数字根据cpu性能而定。

3.编译过程中出现的错误

(1)报错:

Makefile:162:recipe for target ‘all’ failed make:*** [all] Error 2

老办法,谷歌百度一下,发现此贴及作者给出的解决办法:
在这里插入图片描述
作者(leaf918)在github此处提供了打包好的压缩包,可以点击直接点击此处下载此压缩包,然后将压缩包里的两个目录下的文件替换到下面两个目录中即可:
opencv/.cache/xfeatures2d/boostdesc
opencv/.cache/xfeatures2d/vgg

然后重新执行cmake,make命令。编译完成后执行sudo make install安装。

(三)验证安装成功

pkg-config --modversion opencv4

输出版本号为4.4.0则成功。注:opencv4前的版本,此命令最后为opencv而不是opencv4。

如果提示:

Package opencv was not found in the pkg-config search path.

则可能是环境变量配置有问题,参考:《Ubuntu 16.04 OpenCV 源码安装、自定义环境变量 PKG_CONFIG_PATH》

三、编译安装darknet测试yolov4

(一)准备工作及编译

1.darknet项目地址。
克隆源码到本地:

git clone https://github.com/AlexeyAB/darknet
cd darknet

2.修改Makefile:
可以用gedit、vim等打开Makefile,将以下几项修改:
在这里插入图片描述
其中GPU、CUDNN是使用GPU加速,OPENCV是编译时使用OPENCV。
执行 make -j16,不出问题的话当前目录下会生成darknet可执行文件。

(二)可能出现的问题

编译过程到70%左右时,我遇到了:

nvcc fatal : Unsupported gpu architecture ‘compute_20’

类似这样的错误提示。一番查找,我在Makefile做了如下修改:注释掉ARCH后面的内容,打开了GeForce RTX 2080TI…后面的内容,然后就很神奇地编译通过了。具体原因有人知道的话可以留言指教。
在这里插入图片描述

(三)验证darknet编译成功

编译完成后,会在本地生成一个名为datknet的可执行文件,在darknet目录下执行:./darknet,若提示如下则成功:在这里插入图片描述

(四)验证yolov4:

1.首先去下载官方训练好的权重文件,200+M,文件名为yolov4.weights,放到darknet目录下。下载速度可能会很慢,可以去找别人下载好的,也可以找我要。
2.测试:
检测一张图片

./darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights data/dog.jpg

检测给定路径的单个视频

./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights -ext_output test.mp4

检测给定路径的单个视频,并将检测结果保存为视频

./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights test.mp4 -out_filename res.avi

(五)检测效果

这里我截取了电影《憨豆先生的假期》最后一段人比较多的视频测试了效果:

YOLOv4测试《憨豆先生的假期》结尾片段

四、写在最后

所用到的文件在百度云下载:
链接: https://pan.baidu.com/s/1ggJ1nxG5VdMC0tYR4SriJA 密码: b58i
在这里插入图片描述

文章不足之处望提出意见,遇到的问题也可以在下面留言。

opencv4.2.0+darknet安装 ./src/image_opencv.cpp:12:1: error: ‘IplImage’ 报错 opencv4.1.0+darknet安装配置 之前由于各种原因没有安装好opencv,无法配置darknet。今天各种google终于解决了问题,遂小记一手 opencv安装 在官网上下载opencv的发行版,这里以4.1.0为例 首先安装依赖项 sudo apt-get install build-essential sudo apt-get install cmake git libgtk2... 阅读详情

相关推荐

ubuntu下快速实现yolo v3目标检测

本文以尽可能少的步骤和安装命令,实现在最短的时间内搭建yolo的运行环境,让yolo在你的电脑上跑起来的目的。

乐观的lishan的博客 4625

容器Ubuntu18.04下安装Nvidia驱动和CUDA10.1+CUDNN+OpenCV 4.4.0+Darknet,成功!!!

参考博客:https://blog.csdn.net/BigData_Mining/article/details/99670642 https://www.jianshu.com/p/59608e83becb 实际上,整个过程实在容器中进行的 检查环境 首先,Ubuntu下查看Nvidia显卡的详细信息: nvidia-smi 可见: $ nvidia-smi Fri Aug 16 08:46:25 2019 +-----------------------------------------

weixin_45102257的博客 1091

TI AWR2944毫米波雷达开发板开箱:用官方Demo快速上手3D点云与热图生成

本文详细介绍了TI AWR2944毫米波雷达开发板的开箱与实战应用,包括硬件准备、软件开发环境搭建、Demo固件刷写与配置、实时可视化与数据解析等全流程指南。通过官方Demo快速上手3D点云与热图生成,帮助开发者高效掌握毫米波雷达技术在工业检测、智能交通等领域的应用。

weixin_42627853的博客 308

解决的错误-20200306-安装darknet时,opencv 出现路径问题

安装darknet时,opencv 出现问题Package opencv was not found in the pkg-config search path. Perhaps you should add the directory containing `opencv.pc' to the PKG_CONFIG_PATH environment variable No package 'o...

hua_juan的博客 635

西门子RS485自由口通信Modbus RTU 通信协议

部分西门子的RS485模块不能使用西门子自带的Modbus RTU通信指令,需要通过自己拼接、发送、接收和解析报文完成Modbus RTU通信。通过多次尝试完成该功能: #R_TRIG_Instance(CLK := #触发, Q => #触发上升沿); IF #触发上升沿 THEN // 触发后先将读取完成复位 #读写完成 := 0; END_IF; CASE #功能码 OF 1: // 线圈状态读取 ; 2:

qq_20792765的博客 1万+

ADS8681数据手册没讲透的细节:SPI时序、量程切换与电压换算的避坑指南

本文深入解析ADS8681数据手册未提及的SPI时序优化、量程切换陷阱与电压校准技巧。针对树莓派5与ADS8681的SPI通信问题,提供CPOL/CPHA配置建议;详解量程切换的位操作玄机与寄存器配置流程;并提出三步校准法应对非理想供电环境,帮助开发者提升ADC测量精度。

weixin_29178069的博客 518

Windows10+cuda11.0+Opencv3.4.0+yolov4+darknet环境下的物体检测

任务分析 首先让我们明确一下本次的任务:用 gun/sword 数据集训练你的物体检测模型,并对数据集中的验证集进行检测,计算出 mAP。 然后,大致了解一下需要完成的环境配置。看了一下,本次任务是由Windows10 + VS + OpenCV+yolo+darknet一起完成的,还得下载标记工具vott和目标检测指标mAP。 下面开始操作。 附:电脑已提前安装好cudu,版本为11.0,具体如下: 一、 下载opencv3.4.0版本 这个版本是恰到好处的。 Releases - OpenCV 或R

weixin_43325374的博客 1693

SpringCloud2025+SpringBoot3.5.0动态路由503问题排查与负载均衡依赖解析

本文详细排查了SpringCloud 2025与SpringBoot 3.5.0环境下,Spring Cloud Gateway动态路由返回503错误的根本原因。核心问题在于新版网关未默认集成负载均衡器,导致无法解析lb://服务名。通过对比静态路由与动态路由,定位到需显式引入spring-cloud-starter-loadbalancer依赖,并提供了完整的解决方案与最佳实践配置。

s3t4u的博客 503

Ubuntu18.04安装CUDA10.2 CUDNN7.6.5 部署基于darknet框架的YOLOV4并进行CPU以及GPU测试

Ubuntu18.04部署基于opencv3.4.4 及 darknet框架的YOLOV4 再安装CUDA CUDNN 用GPU跑和训练模型部署基于opencv3.4.4 及 darknet框架的YOLOV4一、首先进行OPENCV3.4.4的安装二、下面需要进行darknet部署和yolov4权重的下载三、CPU编译,用官方训练好的权重文件进行编译对图片进行识别安装显卡驱动及检查安装是否成功安装cuda及检查安装是否成功安装cudnn及检查安装是否成功 部署基于opencv3.4.4 及 darknet框

wyl的博客 5433

代码实现 —— 基于 STM32 的可见光通信系统课程设计

基于STM32F103ZET6,源码如需移植,需要修改定时器捕获通道引脚,及定时器,如果你也有这个课设任务,希望对你有所帮助。

不善挽留 1万+

YOLOv8改进 | 融合篇,YOLOv8改进主干网络为MobileNetV3+CA注意机制+添加小目标检测层(全网独家首发,实现极限涨点)

小目标检测难点众多,导致很多算法对小目标的检测效果远不如大中型目标。影响算法性能的主要原因如下:第一,小目标分辨率低、信息量不足,导致神经网络提取到的有效特征较少。第二,小目标在图像中所占的区域较小,易受背景干扰,这对算法的定位性能要求较高。第三,小物体标注困难,训练数据有限,导致模型泛化能力差。例如多尺度学习、无锚机制和生成对抗学习等方法,都能提高小目标检测的准确性和鲁棒性。为了改善小目标漏检现象严重的问题,我在 YOLOv8 中增加了 P2 检测头,相当于有四个检测头,使网络能检测到更小的目标。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2857

ubuntu18.04下darknet的yolov3运行以及训练

darknet的yolov3运行ubuntu18.04环境下的darknet+yolov3环境darknet的安装及测试1、下载代码2、下载权重3、测试附测试自己数据集1、下载代码 ubuntu18.04环境下的darknet+yolov3 环境 ubuntu18.04 cuda:10.0.120 cudnn: opencv:3.2.0 darknet的安装及测试 官网 1、下载代码 git cl...

medusa_zj的博客 4420

瑞数jsvmp算法还原流程讲解

​ 又是很久没写文章了,今天水一篇文章吧,鉴于之前有看到过别人的文章被警告的案例,所以这篇文章就仅写一下还原瑞数vmp的大概流程吧(仅记录下自己还原的思路)

博客 6607

ubuntu16.04编译运行YOLOv4

YOLOv4使用GPU测试及训练配置要求: CUDA 10.0 cudnn 7.0以上 opencv2.4以上 整个 满足配置的情况下详细过程如下: 1.下载YOLOV4 git clone https://github.com/AlexeyAB/darknet.git 2.编译 (1如果只用CPU测试,没有安装CUDA和Cudnn,直接cd到指定目录下make编译即可. cd darknet make 之前可能会报错 error: ‘for’ loop initial decla.

zbr794866300的博客 4449

SpringBoot实战教程-springboot概论

Spring Boot 是一个快速开发框架,能够快速的整合第三方框架,简化XML配置,全部采用注解形式,以及自动配置。内置web容器,帮助开发者能够实现快速开发,简化了应用系统的初始搭建以及开发过程。

鸟哥哥的专栏 4155

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ubuntu18.04利用yolov4训练自己的数据集

Ubuntu18.04 部署Yolov4 darknet版本

weixin_55672590的博客 1732

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

linux-yolov4 darknet环境配置以及效果实测

目录 1、编译运行 2、测试运行 测试环境:ubuntu18.04+driver450+cuda11.0+cudnn8.0.5+opencv4.4.0 工程地址:https://github.com/AlexeyAB/darknet 1、编译运行 配置好cuda cudnn 以及opencv后。 进入darknet目录,先修改一下Makefile里面的文件,以支持GPU: GPU=0 CUDNN=0 CUDNN_HALF=0 OPENCV=0 AVX=0...

alex1801 1950

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Ubuntu20.04 编译 darknet 训练yolov3-tiny 记录

Ubuntu20.4 编译 darknet 训练yolov3-tiny 记录 帮学弟训练配的,编译踩了些坑故记录一下。 配置及环境 GPU:GTX1050TI CUDA/CUDNN:11.2 1. git darknet git clone https://github.com/pjreddie/darknet 2.修改makefile文件 GPU=1 #如果使用GPU设置为1,CPU设置为0 CUDNN=0 #如果使用CUDNN设置为1,否则为0 OPENCV=0 #如果调用摄像头,还需要设置OP

laonafahaodange的博客 2020

YOLOv4:ubuntu18下使用darknet训练自己的模型

为什么是小白教程?因为曾经我也是小白。。。 首先,确认你电脑的有关环境是否符合以下要求: CMake >= 3.12 CUDA >= 10.0 OpenCV >= 2.4 cuDNN >= 7.0 GPU with CC >= 3.0 不知道具体的版本号也没关系,如果不符和,在代码运行时会提示的,到时候根据错误提示调整对应的版本就可以了。 小白逆袭第一步:下载GitHub源码。 首先创建一个存放YOLOv4代码的文件夹,cd到该文件夹下。如,我在/home/(.

Flag_ing的博客 1693

darknet 版本yolo v1 - v4 编译及环境配置 Ubuntu18.04

darknet训练自己的数据 一. 电脑环境 1. GPU: 1080TI 2. CUDA:10.0 3. tensorflow:1.14.0 4. keras:2.3.1 5. Ubuntu18.04 CUDA CUDNN等具体安装步骤见: https://blog.csdn.net/qq_28949847/article/details/110122179 二. github网址 https://github.com/AlexeyAB/darknet 三.环境配置 步骤: 1. cd darknet

you 是 mine 1317

Ubuntu16.04+CUDA9.0+cuDNN7+yoloV3

一、Ubuntu16.04 GTX 1080Ti+CUDA9.0+GPU driver 390.77+cuDNN7 https://www.jianshu.com/p/a9dcf59bd896 1.1 CUDA与GPU Driver,cuDNN三者版本要匹配 https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html 安装...

qq_14950689的博客 813

Darknet Yolov4训练自己的数据集

背景 环境:Ubuntu18.04+python3.6+显卡1080Ti+CUDA10.0+cudnn7.5.1+OpenCV3.4.6,Yolov4模型(入门级) 文章从上往下,步骤是依次运行的 Darknet工程 从github克隆下载源码,链接地址:https://github.com/AlexeyAB/darknet cd 此工程的根目录 编译 1.修改makefile文件里面的一些参数值(根据自己实际情况来修改) GPU=1 CUDNN=1 CUDNN_HALF=1 OPENCV=1 AVX=0

AI人工智能的海洋 1049

Ubuntu 18.04下深度学习环境配置

Ubuntu 18.04安装与深度学习环境配置系统安装常用软件与工具安装深度学习环境配置 系统安装 参考教程:https://blog.csdn.net/sinat_18897273/article/details/71191389 由于cpu没有核显,默认安装时会黑屏,解决方案:https://blog.csdn.net/cheneykl/article/details/79111618 常...

BrightHammer 的博客 1445

Ubuntu18.04+YOLOv3配置

YOLO是也是深度学习的一种,它的特点就是速度非常快。YOLO的安装比较简单,参考官网的安装步骤:https://pjreddie.com/darknet/yolo/ 基本过程 下载darknet,也就是YOLO git clone https://github.com/pjreddie/darknet cd darknet make 2. 下载权重文件 wget https:...

yy2yy99的专栏 3080

【YOLO】YOLOv4训练配置---DarkNet版本

文章目录0. 系统环境1. 下载2. 编译2.1 CPU编译2.2 GPU编译3 测试3.1 下载`yolov4.weights`3.2 demo测试4 训练4.1 训练集的准备4.1.1 数据的准备4.1.2 创建model文件夹4.2 配置文件的更改4.3 训练5. 测试6. 总结 0. 系统环境 Ubuntu18.04 cuda10.1 查看cuda版本 mvcc -V 或者cat /usr/local/cuda/version.txt cudnn8.0.5 查看cudnn版本

Gorgeous_wxd 1575

基于darknet的YOLOv3的GPU环境配置

YOLO的训练基于GPU要比CPU快非常多,但是基于GPU有一些小坑,再次记录以下; 我用配置是ubuntu18.04 + cuda-9.2 1. 首先确保ubuntu系统是nvidia(训练起来好用) 判断显卡参考:https://blog.csdn.net/lightyoung/article/details/105875533 2.安装相应的版本的cuda和cudnn 这...

lightyoung的博客 844
上一篇: macOS Anaconda+PyCharm+TensorFlow搭建深度学习环境
下一篇: 贪心算法理解及例题分析
MegaBytes
博客等级 码龄8年 45粉丝 115原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值