zoukankan      html  css  js  c++  java
  • win10下yolo环境配置(GPU+CPU)

    win10下yolo环境配置(GPU+CPU)

    1.无GPU版本 vs2015+opencv3.2

    1.1安装vs2015

    首先需要下载vs,有vs2015最好,如果使用vs2017的话,需要下载v140工具集。

    我之前安装了vs2017,便偷个懒。

    1.2安装opencv3.4.0

    下载源:(ps:速度着实有些慢)

    https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.4.0/opencv-3.4.0-vc14_vc15.exe/download

    (这里不知道为什么,我不记得这个版本中的opencv有什么用)

    血泪教训,之前用3.2.0版本不知道为什么总是报错,如果是非GPU版本,好像暂时还用不到。

    1.3安装darknet

    https://github.com/AlexeyAB/darknet

    下载darknet的压缩包,解压并进入darknet-masteruilddarknet,打开如下图所指的项目darknet_no_gpu.sln(无gpu版本)

    1.4下载yolov3.weights

    https://link.zhihu.com/?target=https%3A//pjreddie.com/media/files/yolov3.weights

    下载完后把文件放在x64文件夹下

    1.5调试

    控制台无报错

    进入darknet-masteruilddarknetx64,并在该路径下打开命令行

    输入以下命令即可,可以看到生成的predictions.jpg

    darknet_no_gpu.exe detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 dog.jpg -ext_output
    

    2.带GPU版本 MX150+vs2017+tensorflow-gpu1.14.0+cuda10.0+cudnn7.4

    官方支持搭配如下

    https://tensorflow.google.cn/install/source_windows

    判断自己的机器

    • 首先打开NVIDIA控制面板(我的电脑找不到,我自己又重新安装了)

    • 查看--系统信息

    • 查看自己电脑的驱动版本,我这里是442.50,说明我可以安装CUDA 10.2.89及以下的版本。

    兼容性参考来源:

    https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

    2.1安装cuda

    https://developer.nvidia.com/cuda-zone

    在这里我选择了10.0版本的,安装完成后将以下路径加入环境变量

    C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0in
    C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0extrasCUPTIlibx64
    

    2.2安装cudnn

    https://developer.nvidia.com/cudnn

    下载完成后解压,得到压缩包里的cuda文件

    将bin文件夹所在目录加入环境变量,我这里是:

    D:configcudnn7.4cudain
    

    ps:后续在编译的时候若有提示说找不到"cudnn.h"则可以选择把三个文件夹下的文件复制到C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0对应的三个文件夹中,(路径中的v10.0基于每个人选择的版本不同),就不会报错了。

    测试一下,成功

    import tensorflow as tf
    #Creates a graph.
    a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
    b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
    c = tf.matmul(a, b)
    #Creates a session with log_device_placement set to True.
    sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
    #Runs the op.
    print(sess.run(c))
    

    从打印出来的日志我们可以判断出使用了gpu。

    2.3安装darknet

    接下来继续我们的yolo

    下载darknet的步骤同无GPU版本,这里不再赘述。

    • 如果是cuda 10.0版本就不需要修改了,如果是其他版本需要进入darknet-masteruilddarknet,修改如下图所示的文件。

    用关键词搜索,修改成当前所用的对应版本,一共可以找到两处。

    • 确认C:Program Files (x86)MSBuildMicrosoft.Cppv4.0v140BuildCustomizations中是否有自己当前版本的CUDA

    如果没有的话可以参考https://zhuanlan.zhihu.com/p/45845454中叙述的步骤进行

    2.4调试

    • 用vs2017打开darknet文件夹下的darknet.sln

    配置opecv环境,可以参考这篇文章,主要就是添加环境变量、引入头文件等

    https://note.youdao.com/ynoteshare1/index.html?id=04fb326760a726f23cbd9ae8ff6b1fc6&type=note#/

    并在debug x64下运行

    • 如果一切顺利,很快你会x64文件夹下看到生成的darknet.exe

    • 按照无GPU版本的步骤下好yolov3.weight3

    2.5运行!

    在darknet.exe下打开命令行,输入命令

    darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
    

    不出意外可以看到结果predictions.jpg

    参考来源:

    https://zhuanlan.zhihu.com/p/107683614?utm_source=qq&utm_medium=social&utm_oi=606170806108164096

    https://zhuanlan.zhihu.com/p/45845454

    后话:总之麻烦还是麻烦,不如ubuntu~

  • 相关阅读:
    MathType中怎么设置字体默认颜色
    MathType二次偏导怎么表示
    简单几步让你的公式逼格爆表!
    登陆
    输入框
    表单
    窗体
    hello world
    net 代码生成
    Sql_server四种执行ExecuteReader、ExecuteNonQuery、ExecuteScalar、DataSet.docx
  • 原文地址:https://www.cnblogs.com/yuyuan-bb/p/12461979.html
Copyright © 2011-2022 走看看