• Windows 10下安装配置Caffe并支持GPU加速(修改版)


    基本环境

    建议严格按照版本来
    - Windows 10
    - Visual Studio 2013
    - Matlab R2016b
    - Anaconda
    - CUDA 8.0.44
    - cuDNN v4


    1. 安装CUDA 8.0


    安装完后,程序会自动地添加一个CUDA_PATH的环境变量:


    2. 下载cuDNN

    下载前需要在Developer网上注册一个号,简单填一填基本材料即可。


    下完就是一个压缩包,也没办法安装的,压缩包里面有三个文件,分别是bin,include,lib,把它们解压,得到一个叫cuda的文件夹。


    3. 从Microsoft的Github中下载Caffe的源码

    注意了,一般来讲Windows配置Caffe是比较困难的,原因就在于caffe包不能去正常的官网下载,这个微软caffe真是给我们省了不少的麻烦,所以,强调一下,去这个链接下载Caffe源码的压缩包!
    https://github.com/Microsoft/caffe

    下载完后,解压文件,得到一个叫caffe-master的文件夹。


    4. 安装Caffe

    4.1 打开caffe-master文件夹,然后看到一个windows文件夹,然后继续打开windows文件夹,看到里面一个CommonSettings.props.example文件,复制出来一份,并改名字为CommonSettings.props。

    4.2 用Visual Studio 2013打开windows文件夹下的Caffe.sln,检查解决方案中的项目,重点看libcaffe和test_all是否成功地被导入。


    如果这两个没有成功导入,原因是Visual Studio 2013的安装路径中缺少CUDA 8.0.props(或者是你的版本号在CommonSettings.props写错了),我的是这个路径
    C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V120BuildCustomizations
    其实CUDA 8.0.props就在cuda的安装目录下,我的路径是
    C:Program FilesNVIDIA GPU Computing ToolkitCUDAv8.0extrasvisual_studio_integrationMSBuildExtensions
    只要拷贝到
    C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V120BuildCustomizations
    就行,那么libcaffe和testall就都没问题了!(以上解决方法属于引用,博主实际是导入了这两个项的。)

    4.3 设置libcaffe为启动项目

    方法是右键libcaffe,选择设为启动项目。

    4.4 打开解决方案中的CommenSetting.probs,在CuDnnPath那里把存放解压的cudnn出来的文件夹cuda的目录路径放到其中去。(比如我这里是装在F:Windows+Caffe下面)----------------这一步如果把CuDnn里cuda的文件已经放到Cuda安装目录下的话,就不要再添加路径了,否则最后会报错.


    也就是说从cudnn-7.5-windows7-x64-v5.1-rc.zip解压出cuda文件夹,假设位置在F:Windows+Caffe下,那么CuDnnPath设置为F:Windows+Caffe。这是因为程序中会自动给你加上cuda,例如(CuDnnPath)cudalibx64;$(LibraryPath)。因此你需要做的就只是指定它的上级目录。

    4.5 解决方案配置设为release

    4.6 选择菜单中的DEBUG->libcaffe Properties...


    此处需要修改两个地方,分别是配置属性中的常规和C/C++中的常规,如下图所示

    另外,在cudnn.hpp文件里找到下面代码,加上版本控制,GUDA版本太高会导致很多错误.

    template <typename Dtype>
    inline void setConvolutionDesc(cudnnConvolutionDescriptor_t* conv,
        cudnnTensorDescriptor_t bottom, cudnnFilterDescriptor_t filter,
        int pad_h, int pad_w, int stride_h, int stride_w) {
      //CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv,
      //    pad_h, pad_w, stride_h, stride_w, 1, 1, CUDNN_CROSS_CORRELATION));
    #if CUDNN_VERSION_MIN(6, 0, 0)//版本控制
      CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv,
       pad_h, pad_w, stride_h, stride_w, 1, 1, CUDNN_CROSS_CORRELATION,
       dataType<Dtype>::type));
    #else
      CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv,
       pad_h, pad_w, stride_h, stride_w, 1, 1, CUDNN_CROSS_CORRELATION));
    #endif
    }

    4.7 开始编译


    漫长的等待… … …
    直到编译成功,lucky boy,我这儿跳出这个提示,暂时没有去理他,反正没有出错就先这样吧

    4.8 查看战利品

    caffe_master文件夹下应该生成了一个名为Build的文件夹,以后编译的成功和运行需要的文件都会存放在..uildX64Relase下面。

    至此,说明’libcaffe’已经成功地编译完啦。


    5. 编译caffe

    在Visual Studio 2013的解决方案上面右击选择属性(properties)


    可以看到原来的是单项目启动,编译libcaffe,那么现在我们选择编译caffe,也可以选择更多的任务来编译。

    开始编译,漫长的等待… … …后,也就编译成功啦!可以去看看战利品。


    Windows10下安装配置Caffe并支持GPU加速
    本文用到的安装材料:百度网盘

    原文是在windows7系统配置环境,matlab2016a,cuda是7.5.

    我的差异;win10,matlab2016b,cuda8.0.结果是成功的

  • 相关阅读:
    使用kindeditor获取不到富文本框中的值
    ASP.NET中的文件操作(文件信息,新建,移动,复制,重命名,上传,遍历)
    2018 遇到selenium.common.exceptions.WebDriverException问题
    DataTable与实体类互相转换
    反射load,loadfile,LoadFrom区别
    DbSet.Attach(实体)与DbContext.Entry(实体).State = EntityState.Modified 区别
    .net 面试总结
    C# Linq 常用查询操作符
    windows下nginx的安装及使用
    熊猫热土-环汶川50公里越野赛赛记
  • 原文地址:https://www.cnblogs.com/bile/p/9055368.html
Copyright © 2020-2023  润新知