码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • yolov4训练数据: cuda和cudnn的安装


    近期再搞openvino+Yolov4目标检测,记录一下cuda和cudnn的安装笔记。

    mirrors / alexeyab / darknet · GitCode

    1.cuda的安装

    cuDNN Archive | NVIDIA Developer

    1. wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
    2. sudo sh cuda_10.2.89_440.33.01_linux.run

    执行上面的命令即可安装成功;

    允许nvcc -V可以查看是否安装成功;

    之前我的版本是cuda11.8

    至于为什么降低版本?

    因为在darknet train训练数据出现如下错误:

     这里出现CUDA Error: no kernel image is available for execution on the device;

    排查各种原因后,进行各种尝试后还是报此错,最终降低版本解决此问题;

    第一步排查:显卡对应的算力是否对应(网上大多数都是解释是算力与显卡不匹配造成的)

    训练显示可知  GTX 950M对应的算力是50,因此darknet的配置文件就选对应的ARCH参数:

    也可以通过官网查询:CUDA GPUs - Compute Capability | NVIDIA Developer

     第二步排查cuda的版本对应的算力

     可知cuda11.8是支持5.0的。

    第三步是修改cfg配置文件参数:

     修改对应的subdivisions的参数值,但注意subdicisions小于等于batch数值;

    查看显卡信息:

    发现经过无论怎么尝试都会报错,按道理不应该是版本问题,最终降低了版本就可以了,可能与显卡不匹配吧。

    为什么一开始下载的是cuda11.8,就是根据显卡信息cuda version 信息下载的。

    所以版本的选择还是多根据自己的显卡进行选择,免得需要重新安装,并不是一味的认为最高的就是最好的。这里11.8应该是指的是最高版本。

    这里有个现象:local下面会有两个cuda的文件夹(最开始还以为是我的路径有问题)

     ls -l后 才发现是链接出来的,很是尴尬。

    2.cudnn的安装

    cuDNN Archive | NVIDIA Developer

    根据对应的cuda版本下载对应的版本号,注意此处需要注册账号才可以下载,如下:

    安装命令:

    1. cd cudnn-linux-x86_64-8.6.0.163_cuda10-archive/
    2. sudo cp include/cudnn* /usr/local/cuda/include
    3. sudo cp lib/libcudnn* /usr/local/cuda/lib64
    4. sudo chmod a+r /usr/local/cuda/include/cudnn*
    5. sudo chmod a+r /usr/local/cuda/lib64/cudnn*

    复制到对应的cuda文件夹下即可。

    如果不匹配darknet训练的时候会报错:cudnn的库文件错误之类的ERROR。

    测试:

    ①时间

    最开始是no GPU的方式训练数据,时间基本上几十小时以上,现在用了GPU,时间节省了大部分时间只要几小时而已,具体根据图像的数量和配置参数来定。

    ②准确率

    GPU训练:

     no GPU训练:

     

    同样的训练数据在不同情况下进行训练后,相同的图片的测试结果:

    NO GPU: 52% 69% 61%     451ms/248ms/255ms

    GPU      :100% 100% 100% 31ms/32ms/32ms

    因此,无论是学习还是开发,建议还是都是使用GPU进行数据训练,有无GPU的差别很大. 

    参考:

    CUDAError:nokernelimageisavailableforexecutiononthedevice-爱码网英伟达显卡不同CUDA支持的计算能力情况及不同算力对应显卡列表_Zency_SUN的博客-CSDN博客_英伟达cuda

    linux 卸载cuda_如何卸载CUDA - 全栈程序员必看

    Linux安装CUDA_C_oarnge的博客-CSDN博客_linux安装cuda

  • 相关阅读:
    Lua与C交互API接口总结
    Python数据分析与机器学习1-环境准备
    金仓数据库 KingbaseGIS 使用手册(7. 栅格数据管理,查询和应用)
    自媒体短视频运营常见的5个问题及解决方案
    【aspose】 word/excel转pdf,实现在线预览文件功能
    Mysql中索引详解
    java计算机毕业设计航空售票系统源码+mysql数据库+系统+lw文档+部署
    高校 Web 站点网络安全面临的主要的威胁
    tracepoint: 定义函数及调用示例
    食品赛道崛起,舌尖美食走俏礼品市场
  • 原文地址:https://blog.csdn.net/Fallinlove520/article/details/128101597
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号