Win10+YOLOv3完整安装过程(亲测可运行)
最近了解并尝试在Win10安装YOLOv3,参考了十几篇文章,发现每个人都有自己的安装方式,最初尝试用cmake编译,虽然安装完成,但无法使用GPU,坑非常多,经2天努力终于安装成功,分享并记录自己的安装过程,供大家参考。
系统:Win10
显卡:GeForce RTX2070 with Max-Q Design
其它:CUDA10.2,cuDNN7.6.5,VS2019,OpenCV3.4.0(opencv版本不能高于3.4.0)
1、显卡驱动下载和安装
打开NVIDIA官网驱动程序下载页面,选择适合你显卡的驱动,下载并安装。




选择自定义安装:




登录账户,没有就注册一个:

点击“跳过”:

确认“NVIDIA Studio Driver”安装成功。

2、VS2019下载和安装
切记,先安装VS2019,再安装CUDA。



选择“.Net桌面开发”、“使用C++的桌面开发”、“通用Windwos平台开发”三项,点击右下角安装:


安装成功后,根据提示重启电脑。
3、CUDA的下载和安装
点击:https://developer.nvidia.com/cuda-toolkit-archive,选择cuda10.2版本


下载完成后,双击打开,开始安装。


选择自定义安装:

全部勾选,点击下一步:

使用默认的安装路径:

安装成功后,会看到CUDA向已安装的Visual Studio2019中写入了Nsight工具,所以我才强调必须先安装CS2019,再安装CUDA。

3.1、配置CUDA环境变量
右键“我的电脑”选择属性,点击“高级系统设置”->“环境变量”。

可以看到CUDA默认写入了2条环境变量信息,但这些还不够,点击新建,添加以下环境变量:

变量名:CUDA_BIN_PATH
变量值:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin
变量名:CUDA_LIB_PATH
变量值:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
变量名:CUDA_SDK_BIN_PATH
变量值:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\bin\win64
变量名:CUDA_SDK_LIB_PATH
变量值:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\common\lib\x64
变量名:CUDA_SDK_PATH
变量值:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2
根据你CUDA的实际安装路径配置变量值,但我建议你安装CUDA时使用默认的路径,避免出现各种奇葩问题。

然后在系统变量中找到Path,双击打开并加入以下变量值:
%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\CUPTI\lib64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\bin\win64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\common\lib\x64

然后打开控制台,输入:nvcc -V
如果输出CUDA版本等相关信息,说明CUDA安装成功。

4、CUDNN下载和安装
点击:https://developer.nvidia.com/rdp/cudnn-download 注册个账户,然后下载Download cuDNN v7.6.5 (November 18th, 2019), for CUDA 10.2

下载完成后,解压cudnn-10.2-windows10-x64-v7.6.5.32.zip,将解压后的文件,覆盖到CUDA的安装目录下,如图:

5、OpenCV下载和安装
点击:https://opencv.org/opencv-3-4/ 下载3.4.0版本的OpenCV。

下载完成后双击打开,该exe是个自解压程序,选择一个解压目录,解压完成后,将解压出来的opencv文件夹复制到c盘根目录下。

然后在环境变量Path中加入以下值:
C:\opencv\build\x64\vc15\bin
6、YOLO下载和编译
点击https://github.com/AlexeyAB/darknet 下载YOLO。

下载到本地后,解压,将darknet-master重命名为darknet,保存到D盘。
6.1、复制编译依赖文件
将c:/opencv/build/x64/vc15/bin目录下的opencv_ffmpeg340_64.dll、opencv_world340.dll复制到D:\darknet\build\darknet\x64目录下:

进入D:\darknet\build\darknet目录,用VS2019打开darknet.sln,首次打开可能会出现以下错误:

没关系,确定后,关闭VS2019,重新用VS2019打开darknet.sln即可,打开后此处选择Release X64。

右键darknet工程,选择属性。

将“常规”下的Windows SDK版本选为10.0,将平台工具集选为Visual Studio2019(v142),点击应用。

然后点击VC++目录,编辑包含目录,将以下路径添加到包含目录中:
C:\opencv\build\include\opencv2
C:\opencv\build\include\opencv
C:\opencv\build\include
如果你的opencv路径和我不一样,请修改成你自己的路径。

然后点击库目录,把以下内容添加到库目录中:
C:\opencv\build\x64\vc14\lib

然后点击链接器->输入,在附加依赖项中添加:
C:\opencv\build\x64\vc14\lib\opencv_world340.lib

然后点击确定保存,并退出VS2019。
用记事本或文本编辑器打开darknet.vcxproj。

将CUDA 10.0,替换为CUDA 10.2,共两处


用VS2019打开darknet.sln,再次确保此处为Release X64,然后右键点击项目选择生成。



编译过程可能会出现很多警告,但只要最终提示生成:成功1个,失败0个,则表示编译成功。
6.2、下载YOLOv3预训练权重文件
进入https://pjreddie.com/media/files/yolov3.weights 下载yolov3.weights文件,再将yolov3.weights放在D:\darknet\build\darknet\x64目录下。
如果下载慢,选择迅雷下载。
6.3、运行YOLO
控制台进入D:\darknet\build\darknet\x64目录,输入命令:
darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

执行过程,如果出现CUDA版本信息,说明YOLO可以通过GPU来进行目标识别了。


7、注意事项
如果先安装的CUDA,后安装的VS2019,可能会出现无法使用GPU进行训练和识别的问题,可以将CUDA的安装程序“cuda_10.2.89_441.22_win10.exe”解压,然后在解压后的文件夹中找到CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions目录,将目录中的四个文件复制到C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations目录下,然后重新编译工程。

Win10+YOLOv3完整安装过程(亲测可运行)的更多相关文章
- Linux中oracle的安装,亲测
一.下载oracle的软件包 地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-li ...
- Caffe初学者第一部:Ubuntu14.04上安装caffe(CPU)+Python的详细过程 (亲测成功, 20180524更新)
前言: 最近在学习深度学习,最先要解决的当然是开源框架的环境安装了.之前一直在学习谷歌的Tensorflow开源框架,最近实验中需要跟别人的算法比较,下载的别人的代码很多都是Caffe的,所以想着搭建 ...
- Navicat Premium 15 安装包&激活工具及安装教程(亲测可用)
Navicat Premium 15 安装包及激活工具 网盘地址: 链接:https://pan.baidu.com/s/1GU9qgdG1dRCw9Un8H9Ba9A提取码:F1r9 开始安装 下载 ...
- Kali Linux虚拟机安装完整安装过程及简单配置(视频)
点击播放视频 附:视频中出现的两个txt文本,包含了大致的安装与配置过程: 文本1:KaliLinux虚拟机安装和初步配置 Kali Linux虚拟机安装和初步配置 大家好,今天给大家演示一下在VMw ...
- linux 手动源码安装lnmp(亲测)
linux 手动源码安装lnmp笔记(亲测)<pre>先安装这2个yum install gccyum install g++</pre><pre>先在linux ...
- 【Python爬虫实战】Scrapy框架的安装 搬运工亲测有效
windows下亲测有效 http://blog.csdn.net/liuweiyuxiang/article/details/68929999这个我们只是正确操作步骤详解的搬运工
- PostgreSQL 安装配置 (亲测可用)
转自:http://blog.csdn.net/jesseyoung/article/details/41348835 受作者博客限制,请访问上面的链接 ---------- 下面是另一个转载 --- ...
- Eclipse 创建springBoot项目的时候需要首先 安装STS(亲测)
开始我的Eclipse版本是4.4.2.安装网上的步骤多次不成功. 后来直接去下载了最新版的Eclipse 2018-9版本的 是 4.9. 下面是安装步骤: (1)eclipse->Help- ...
- Redis 的完整安装过程
Windos 版本安装 Redis 官方并不支持 Window 版本,但是微软公司在 Github 上维护了一个 Windows 版本的 Redis 项目,供 Windows 用户下载使用. 下载地址 ...
随机推荐
- Linux权限管理命令chown、chgrp、umask详解
命令chown详解 命令chown,所在路径为: 可以看到,这个命令的路径为:/usr/bin/chown ,所以它的执行权限是所有用户 命令的基本功能是改变文件或目录的所有者(只有root可以进行, ...
- Charles(青花瓷/花瓶)的基本使用
前言 Charles 其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.其次该软件是用 Java 写的,能够在 Windows,Mac,Linux 上使用. ...
- EIGRP-14-EIGRP的命名模式
从IOS 15.0(1)M版本开始,工程师可以在路由器上使用命名模式(Named Mode)配置EIGRP进程.按照IPv4和IPv6,通过AS号来配置EIGRP进程的做法称为经典模式(Classic ...
- Py中去除列表中小于某个数的值
### Py去除列表中小于某个数的值 print('*'*10,'Py去除列表中小于某个数的值','*'*10) nums = [2,3,4,10,9,11,19,14] print('*'*10,' ...
- 密码学数论基础部分总结之 有限域GF(p) Galois Fields
今天花了一下午的时间学习密码学的数论部分,下面将学到的内容进行一下总结,也算是加深记忆.我本身对密码学这方面比较感兴趣,而且本节出现了许多数学公式,使用刚刚学习的LaTex公式来呈现出来,练习练习,何 ...
- java锁总结
1.公平锁与非公平锁 公平锁:指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来依次获得锁. 优点:等待锁的线程不会饿死.缺点:整体效率相对较低. 非公平锁:可以抢占,即如果在某个时刻有线程需要获 ...
- 添加现有项目到git仓库
情景: 做了一个项目,需要放到git仓库里 为什么做这个记录? 我们一般的操作是先有仓库, 然后 git clone 到一个空文件夹. 然后再这个空文件夹里加项目文件. 再git push ...
- ca74a_c++__文件流对象的使用-用来读写文件ifstream
/*ca74a_c++__文件流对象的使用-用来读写文件将文件流对象绑定到文件上检查文件是否打开成功将文件流与新文件重新绑定清楚文件流的状态infile.close();//关闭流 infile.cl ...
- user is not in the sudoers file
使用用户账户使用sudo来运行一些特权命令时出现了如下错误(sudo是一个允许特定的用户组用另一个用户(典型的是root)的特权来运行一个命令): user is not in the sudoers ...
- 看了Java的Class的源码,我自闭了
java源码之Class 源码的重要性不言而喻,虽然枯燥,但是也有拍案叫绝.这是我的源码系列第二弹,后续还会一直更新,欢迎交流.String源码可以看我的Java源码之String,如有不足,希望 ...