Darknet环境安装CUDANN实现推理加速

本文详细指导了如何在Ubuntu 18.04环境下安装CUDA、cuDNN,重点解决在编译Darknet YOLOv3时遇到的问题,包括驱动安装验证、CUDANN配置和cuDNN的正确安装。最后,通过实例展示了MX250显卡的性能表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先参考下面几篇文章安装darknet,cuda的基础环境: 

Yolov3网络的物体检测_tugouxp的专栏-优快云博客1.Get darknet 代码$ git clone https://github.com/pjreddie/darknet$ cd darknet$ makecaozilong@caozilong-Vostro-3268:~/yolo$ git clone https://github.com/pjreddie/darknet正克隆到 'darknet'...remote: Enumerating objects: 5937, done.remote: Total 5937 (dehttps://blog.youkuaiyun.com/tugouxp/article/details/119297898YOLOV3训练环境的搭建_tugouxp的专栏-优快云博客YOLOV3推理环境搭建参考文章:Yolov3网络的物体检测_tugouxp的专栏-优快云博客1.Get darknet 代码$ git clone https://github.com/pjreddie/darknet$ cd darknet$ makecaozilong@caozilong-Vostro-3268:~/yolo$ git clone https://github.com/pjreddie/darknet正克隆到 'darknet'...remote: Enumerating objhttps://blog.youkuaiyun.com/tugouxp/article/details/121303495https://blog.youkuaiyun.com/tugouxp/article/details/121248457https://blog.youkuaiyun.com/tugouxp/article/details/121248457Ubuntu18.04安装CUDA深度学习环境_tugouxp的专栏-优快云博客N卡在深度学习领域具备无可替代的地位,这里记录以下在我这台配备GF MX350 N卡笔记本 上安装cuda以及cuNN的具体步骤。MX350属于低端显卡了,一开始我还担心它会不会不支持CUDA,后面确认了一下,发现可以支持。关于确认N卡是否支持CUDA以及支持版本的具体步骤,可以参考我的这篇博客:如何确定PC Nvidia显卡是否支持CUDA以及cudaNN?过程不难,细节很多,下面记录具体步骤:1.安装显卡驱动:...https://blog.youkuaiyun.com/tugouxp/article/details/119829792https://blog.youkuaiyun.com/tugouxp/article/details/121248457https://blog.youkuaiyun.com/tugouxp/article/details/121248457

安装CUDANN

Nvidia显卡驱动和CUDA驱动安装好之后,通过nvidia-smi命令验证安装效果,如果出现下面的界面,则证明安装OK

之后,就可以打开darknet/Makefile中的配置FLAG, GPU=1,OPENCV=1(事先安装OPENCV)

即可编译成功,但是此如如果打开CUDANN=1,则会报告如下错误:

所以,安装CUDA NN是我们不得不进行的一道工序,它独立于CUDA环境的安装,下面开始。

CUDANN安装地址在:

NVIDIA cuDNN | NVIDIA DeveloperNVIDIA cuDNN NVIDIA CUDA® 深度神经网络库 (cuDNN) 是经 GPU 加速的深度神经网络基元库。cuDNN 可大幅优化标准例程(例如用于前向传播和反向传播的卷积层、池化层、归一化层和激活层)的实施。 世界各地的深度学习研究人员和框架开发者都依赖 cuDNN 实现高性能 GPU 加速。借助 cuDNN,研究人员和开发者可以专注于训练神经网络及开发软件应用,而不必花时间进行低层级的 GPU 性能调整。cuDNN 可加速广泛应用的深度学习框架,包括 Caffe2、Chainer、Keras、MATLAB、MxNet、PyTorch 和 TensorFlow。如需获取经 NVIDIA 优化且已在框架中集成 cuDNN 的深度学习框架容器,请访问 NVIDIA GPU CLOUD 了解详情并开始使用。 下载 cuDNN     https://developer.nvidia.com/zh-cn/cudnn

意外的是和安装CUDA和N卡驱动的白嫖不同,下载CUDANN还需要注册,胳膊宁不过大腿,还是先从了吧。

登陆成功后的界面,黄老板真帅。

之后就可以下载了:

因为我们安装的是CUDA11.5,所以我选择的版本是

cuDNN Runtime Library for Ubuntu18.04 x86_64 (Deb)

视需求可以下在别的资料,比如文档,由于我们是拿来使用而非基于它二次开发,所以不选择开发者版本。

下载过来的CUDA DEB包是这个样子, 虽然是库,但也不小了,果然如其名,又粗又大。

 安装:

安装后重开会话,重新编译darknet还是遇到同样的错误,查看DEB包内容,发现确实没有cudann.h文件。

 怀疑是下错包了,选择名字顺眼的(带有Library)的重新下载:

cuDNN Library for Linux (x86_64)

下载后:

解压后,确实有我们需要的头文件:

安装过程极其简单,只需要手动将cuda目录中的include,lib64目录拷贝到/usr/local/cuda-11.5/include 和 /usr/local/cuda-11.5/lib64两个目录即可

 之后编译:

 执行推理:

这次推理用了449.553000ms,至此,cudaNN安装总算完成了。

关于算力:

MX250显卡算例水平和GT550M相当,总体在2.0T略高的水平,虽然和高端显卡没法比,但是比嵌入式端侧产品中的动辄零点几TFOPS的NPU相比,还是强大很多的。

数据来源:

CUDA GPU | NVIDIA Developerhttps://developer.nvidia.com/zh-cn/cuda-gpus#compute


结束!

<think>好的,我现在需要帮用户解决在Ubuntu上安装Darknet的问题。首先,我得回忆一下自己之前安装Darknet的经验,或者查一下相关的步骤。用户提到了他们找到的引用资料,里面有几个相关的引用,比如引用[2]提到了克隆仓库和make,引用[1]提到了修改Makefile,还有引用[3]可能涉及依赖问题。 首先,安装Darknet通常的步骤应该是先安装依赖项,比如CUDA、OpenCV等,但用户可能只需要基础安装。根据引用[2],用户需要克隆GitHub仓库,然后进入目录执行make。这可能是基础步骤,但有时候需要配置Makefile里的选项,比如是否启用GPU或OpenCV。引用[1]提到使用sudo gedit Makefile来编辑,所以可能需要修改里面的参数,比如设置GPU=1或者OPENCV=1,然后重新make。 接下来,用户可能在安装过程中遇到问题。比如引用[3]提到的undefined symbol问题,可能与Boost库或Python版本有关,但Darknet本身可能不需要Boost,所以可能是其他依赖项的问题。需要确保所有依赖库已正确安装,比如OpenCV的开发包。另外,引用[4]提到Tengine支持Darknet,可能用户后续需要转换模型,但当前问题只是安装。 步骤应该是:1. 安装依赖项,比如git、make、gcc等;2. 克隆仓库;3. 配置Makefile;4. 编译。需要详细说明每个步骤,特别是Makefile的配置部分,比如启用GPU可能需要CUDA安装,用户如果没有NVIDIA显卡可能需要关闭这些选项。可能还要提醒用户如果遇到编译错误,需要检查依赖项是否正确安装,比如是否安装了OpenCV的开发包。 另外,用户提到在Ubuntu上安装,所以可能需要使用apt安装依赖,比如libopencv-dev。测试安装后的验证步骤,比如运行检测命令,下载权重文件等,确保安装成功。可能还需要提到常见问题,比如权限问题需要用sudo,或者路径问题。 最后,根据用户的要求生成相关问题,可能涉及依赖项安装、配置选项、测试方法、GPU支持等。要确保回答结构清晰,步骤详细,并且参考了提供的引用资料中的正确部分,比如引用[2]的git clone和make步骤,引用[1]的Makefile编辑方法。</think>### Ubuntu 系统安装 Darknet 深度学习框架指南 #### **步骤 1:安装基础依赖** ```bash sudo apt update sudo apt install git make gcc ``` 安装编译工具链和 Git 版本控制工具[^2]。 --- #### **步骤 2:克隆 Darknet 仓库** ```bash git clone https://github.com/pjreddie/darknet cd darknet ``` 通过 Git 获取官方源码仓库[^2]。 --- #### **步骤 3:配置 Makefile** 1. 打开 Makefile 文件: ```bash sudo gedit Makefile # 或使用其他编辑器如 vim/nano ``` 2. 根据需求修改配置参数: ```makefile GPU=0 # 无NVIDIA显卡设为0,有则设为1并提前安装CUDA OPENCV=0 # 需要摄像头/图像处理时设为1(需提前安装OpenCV) LIBSO=0 # 生成动态链接库按需开启 ``` 参考硬件环境调整参数[^1]。 --- #### **步骤 4:编译安装** ```bash make -j$(nproc) # 使用多核加速编译 ``` 编译成功后生成可执行文件 `darknet`,测试运行: ```bash ./darknet ``` 若输出 `usage: ./darknet <function>` 表示安装成功[^2]。 --- #### **步骤 5:验证功能(可选)** 1. **目标检测测试**: ```bash wget https://pjreddie.com/media/files/yolov3.weights ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg ``` 2. **启用 OpenCV**: 若需摄像头支持,需先安装 OpenCV 开发库: ```bash sudo apt install libopencv-dev ``` 修改 Makefile 中 `OPENCV=1` 后重新编译。 --- #### **常见问题解决** - **编译报错**:检查缺失的依赖项(如 `libopencv-dev`),通过 `apt install` 补充安装[^3]。 - **GPU支持**:需提前安装对应版本的 CUDA 和 cuDNN,并在 Makefile 中启用 `GPU=1`[^5]。 - **动态链接库**:设置 `LIBSO=1` 可生成 `.so` 文件供其他项目调用[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

papaofdoudou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值