美文网首页程序员
WIN10 yolo_v3环境搭建

WIN10 yolo_v3环境搭建

作者: 璬_jc | 来源:发表于2020-07-18 09:09 被阅读0次

    VS2019 & CUDA 11.0 & opencv 4.3.0 & darknet

    前言

    最近需要用yolo,得搭建yolo_v3环境,所以找了很多资料,有关于yolo的讲解,有关于搭建的教程,大部分人用的是darknet,然而有些教程可能时间比较久了,不一定有用,我安装中也碰到了很多新的问题。所以在本文中对我的搭建过程进行一次回顾,整理一下碰到的问题,作为经验分享,提供给近期需要安装yolov3的同学。参考的博文会在相应处给出。   首先简单理一下知识点:

    • 什么是yolo: yolo_v3是一种检测算法,顾名思义,还有v1,v2,原作者在一篇论文中详细介绍了v3。

    • yolo的用处: 简单说,输入图像,输出物体位置,类别,置信概率。

    • 什么是darknet: yolo作者写的深度学习框架,也随着yolo不断升级,yolo_v3中的是darknet-53,另外也还有个替换:tiny-darknet。

    刚开始接触,一知半解,更多关于的yolo的知识点可参考:

    1. yolo详解

    2. yolo_v3深度解析

    下面进正题,开始环境搭建:

    1 VS2019安装

    darknet是原作者是在Linux下用C写的,所以想在Windows上使用需下载darknet源码然后利用MSVC编译,有几种方法,包括VS,cygwin等方式。用cygwin编译makefile的话,需要修改一些路径,很多教程都在linux上进行,关于VS的教程比较多,相对也省事。大多教程都是用的VS2015,其实19也行,装的时候勾选2015的部分就行。   下载打开VS2019社区版安装包,进入下面的界面后,勾选使用C++的桌面开发,然后在右边选择最后一个MSVC v140 工具集,其他选项按需求勾选,然后安装。

    VS安装选择

    2 安装CUDA

    cuda、cudnn之间的版本是需要对应的,可以先安装CUDA,然后去下载对应的cudnn。 CUDA下载地址

    按需求下载对应版本就行了,我直接下了最新版11.0,然后进入以下界面,这里就是本地安装和在线安装的区别,刚开始我尝试在线安装,结果老提示无法连接到nvidia,索性就下载了本地安装包,用个下载工具一会儿就下完了,然后的安装界面一路点 确定/下一步 就行了。

    CUDA安装
    然后CUDA的安装过程中环境变量自动安装了,不放心的话可以自行确认一下。   最后打开命令行(win+R---cmd),输nvcc -V,如果有版本信息(如下),则安装成功。 ! 查看CUDA版本

    3 下载cudnn

    进入cudnn下载页面,这边需要成为nvidia开发者计划成员,其实就是注册一下就行了,填一些信息,几分钟搞定。 然后进入下载界面,根据安装的CUDA版本找到对应的cudnn下载,当中包含以下文件:

    cudnn内容 把这些文件拷贝后放到CUDA安装目录下面的v11.0(具体看你版本)文件夹下替换: 拷贝目录

    4 安装opencv

    进入官网,选择Windows版本下载安装,就不多说了,我装的是最新的4.3.0。

    安装完后要配置环境变量: 配置环境变量

    5 darknet

    先附上我最终使用的darknet项目地址,这个已经基于VS2015配置好了,接下来介绍搭建过程中还是会顺便扯一下我碰到的问题。

    5.1 修改darknet.vcxproj文件

    进入darknet ---> build ---> darknet 文件夹,打开darknet.vcxproj文件,搜索cuda 10,替换成你安装的版本,如果你装的一样就不用改。

    CUDA版本修改

    5.2 使用VS打开项目

    刚开始使用的是从某教程中找到的darknet项目,进入上一步的目录,用VS打开darknet.sln(没有GPU的打开darknet_no_gpu.sln,有GPU的打开darknet.sln),直接提示打开失败,关闭VS再开一遍,莫名其妙又可以了。打开时会有两个选项,其中第二个 平台工具集 一定要选 无升级

    打开 这两个地方要修改一下: 修改

    5.3 配置opencv

    右键项目,属性,先修改这两个地方:

    配置属性

    C/C++ ~ 常规 ~ 附加包含目录 ~ 编辑,把opencv的build\include目录设置成自己的(在第二行):

    常规

    然后是链接器 ~ 常规 ~ 附加包含目录,同样的操作,不过这里设置的是build\x64\vc14\lib,图略。

    5.4 生成项目

    右键项目,重新生成 这里可能会报错,提示你在C盘的某某目录下缺失CUDA的targets等文件,也就是我们刚刚修改版本的那两个文件,可以按照报错提示的位置把对应文件放过去。 搞定后我又碰到了其它问题,提示我darknet下的某C文件存在 变量未申明,语法错误等等等等,解决不了我就换成了上面给出的这个配置好的darknet项目,按照流程又走一遍,一次成功。 项目重新生成成功后会在build\darknet\x64目录下发现darknet.exe文件,下载yolov3.weights文件放到该目录下(官网地址 或者 网盘 提取码: jdkt)。

    • 收尾工作

      • 进入 opencv\build\x64\vc14\bin文件夹 拷贝文件

        把这两个文件拷贝到darknet.exe同一目录下。

      • 进入CUDA的 v11.0\bin文件夹下,把cudnn64_8.dll也拷贝到darknet.exe同一目录。 拷贝文件

    5.5 测试

    在darknet.exe目录下打开cmd,用图片进行测试,我这边使用了自己找的图: darknet.exe detect yolov3.cfg yolov3.weights 325.jpg 测试结果

    搞定 !


    正在播放---热河

    相关文章

      网友评论

        本文标题:WIN10 yolo_v3环境搭建

        本文链接:https://www.haomeiwen.com/subject/whlxkktx.html