Windows+VS2013爆详细Caffe编译安装教程



1. 安装cuda

    Cuda是英伟达推出的GPU加速运算平台

    我这里安装的是cuda7.5,已经安装过的忽略,还没有安装过的这里有安装教程.windows下面安装还是非常简单的.

    点击打开链接    (我的显卡是1080 现在支持cuda8.0 所以我下的是8.0

2. 下载cuDNN(其实是个压缩包)  注意现在8.0出来了,我下的是cuDNN v5 (May 27, 2016), for CUDA 8.0 RC

    https://developer.nvidia.com/cudnn

 

    用于深度学习加速.

 

 

    中间可能有个注册的过程,自己注册一下. 现在已经支持V5了,我下的V5,而不是下图中的v3

                                                                                     

 

    然后点击下载就行

 

 

 

3. 从Microsoft官方Github上下载Caffe的源码压缩包.

    微软官方也移植了Caffe,在windows下面的配置会比较简单一点.

    https://github.com/Microsoft/caffe

 

4. 安装

 

    1.经过上面的步骤,cuda应该已经正确的安装好了.cuda安装好后,它的环境变量同时也被自动设置好了,不用手动设置了。

同时也应该有了两个压缩包:一个cuDNN的压缩包和一个Caffe的源码包.(我是放在D盘Caffe文件夹下面的),注意下图是7.0,实际我下的是cuDNN v5 (May 27, 2016), for CUDA 8.0 RC

                                         

 

    2.解压这两个文件包,得到

         

 

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

                                            

    4.用VS2013打开Caffe.sln(就到刚刚那个文件夹里面),打开效果如下 最好设置libcaffe为启动项目,有时候libcaffe没有加载成功。

原因是vs2013的安装路径中缺少 CUDA 8.0.props ,我的是这个路径C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations

其实 CUDA 8.0.props 就在cuda的安装目录下,我的路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\visual_studio_integration\MSBuildExtensions

只要拷贝到C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations就行,那么libcaffe和testall就都没问题了!

                                                 

    5.打开CommenSetting.probs.在cudapath那里把存放解压的cudnn出来的文件夹cuda的目录路径放到其中去.(比如我这里是装在D:Caffe下面) (同时注意CUDA版本号!)

也就是说从cudnn-8.0-windows7-x64-v5.1-rc.zip解压出cuda文件夹,放到D:Caffe下,然后cudapath设置为D:\Caffe 这是因为程序中会给你加上cuda ,例如(CuDnnPath)\cuda\lib\x64;$(LibraryPath)</LibraryPath>

所以只需要指定它的上级目录

     

    6.打开设置,

                                                     

               选择编译类型为release,x64

                                                

                 关闭视警告为错误(即设置为No)如果不设置的话在编译boost库的时候会由于文字编码的警告而报错.

                                               

               然后就在开始编译,(先编译的是Libcaffe).等啊等.....就编译成功了

           这个时候,在你刚刚解压出来的caffe-master文件夹下面就应该出现一个名叫Build的文件夹,

                                             

                  以后编译的成功和运行需要的文件都会存放在build\X64\Relase下面.

                                              

                前面已经提示是先编译的libcaffe,在solution上面右击选择属性(properties)

               

                      可以发现默认选择的是单任务,只编译libcaffe。这就是为什么之前默认先编译libcaffe。

          

       接下来,可以选择更多的任务来编译。类似地,我们接下来也可以只选择caffe来编译,同样的要注意release和X64.

     然后类似的build等待。。。

     然后也编译成功啦。。。还有一些其他的需要的时候再编译。。

                                              

 

               注意:之所以选择微软官方的版本,是因为在编译过程中会自动下载一些依赖库.(见下图)不用手动选择,所以非常简单方便.

                                                  

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/387677.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CF 526F Max Mex(倍增求LCA+线段树路径合并)

Max Mex 题目地址&#xff1a;https://codeforces.com/contest/1084/problem/F然后合并时注意分情况讨论&#xff1a; 参考代码&#xff1a;1 #include<bits/stdc.h>2 using namespace std;3 #define pb push_back4 #define mkp make_pair5 #define fi first6 #define se…

大学刚毕业,零基础大数据如何入门?

这篇文章中&#xff0c;本文作者将针对三种不同的、想要进入数据科学领域的人群&#xff0c;给出自己的经验&#xff0c;帮助他们迅速有效入行。无论是软件工程师、应届毕业生&#xff0c;还是完全初学者&#xff0c;都要问自己一个关键问题&#xff1a;什么样的职业轨迹最接近…

Opencv EmguCv 基本识别步骤

{//1.灰度化&#xff0c;竖向边缘检测//2.自适应二值化处理//3.形态学处理&#xff08;膨胀和腐蚀&#xff09;//4.轮廓查找与筛选Image<Bgr, byte> simage OriImage; //new Image<Bgr, byte>("license-plate.jpg");//Image<Bgr, Byte> simage…

(转)Java中的守护线程

Java的守护线程与非守护线程 守护线程与非守护线程 最近在看多线程的Timer章节&#xff0c;发现运用到了守护线程&#xff0c;感觉Java的基础知识还是需要补充。 Java分为两种线程&#xff1a;用户线程和守护线程 所谓守护线程是指在程序运行的时候在后台提供一种通用服务的线程…

vue项目中对axios的全局封装

项目中接口会很多&#xff0c;个人喜欢创建api文件对请求统一管理1.新建api文件夹&#xff0c;文件夹下创建 axios.js&#xff0c;login.js2. axios.jsimport axios from axiosimport router from ../router //引入路由是为了做重定向&#xff0c;比如没有登录过期定向到登录页…

轮廓检测

轮廓&#xff08;Contours&#xff09;&#xff0c;指的是有相同颜色或者密度&#xff0c;连接所有连续点的一条曲线。检测轮廓的工作对形状分析和物体检测与识别都非常有用。 在轮廓检测之前&#xff0c;首先要对图片进行二值化或者Canny边缘检测。在OpenCV中&#xff0c;寻找…

【大数据】阿里云大数据助理工程师认证(ACA)课程

阿里云大数据助理工程师认证&#xff08;Alibaba Cloud Certified Associate&#xff0c;ACA&#xff09; 是面向使用阿里云大数据产品的专业技术认证&#xff0c;主要涉及阿里云的大数据计算、存储、开发平台&#xff0c;数据应用类的基础产品。是对学员掌握阿里云大数据产品技…

WebGL——osg框架学习一

从今天开始&#xff0c;我们开始正式的学习osg框架&#xff0c;今天我们学习的是osg的渲染模块&#xff0c;我们来看一下代码结构。 所有DrawXXX的js模块都是渲染的模块&#xff0c;我们逐一来简单介绍一下&#xff0c;第一个Drawable.js&#xff0c;这个模块是描述可绘制对象的…

EmguCV 一些基本操作

一、先是在程序中图像的导入&#xff0c;我是根据图像路径实现&#xff0c;其中path是string类型&#xff0c;是图像路径。 IntPtr imgCvInvoke.cvLoadImage(path, Emgu.CV.CvEnum.LOAD_IMAGE_TYPE.CV_LOAD_IMAGE_ANYCOLOR); 二、图像灰度化处理&#xff0c;先创建一幅尺寸大小…

Java字符串分割

java中字符串的分割函数&#xff0c;split("你想要分割的字符", 你想要最多分割为多少段&#xff0c;正整数&#xff09; 注意事项&#xff1a; 1.分割特殊字符考虑转义字符的使用。如&#xff1a; . \ | 2.第二个参数&#xff1a; 无&#xff1a; 不传默认分割全部…

OpenCV人脸识别的原理 .

在之前讲到的人脸测试后&#xff0c;提取出人脸来&#xff0c;并且保存下来&#xff0c;以供训练或识别是用&#xff0c;提取人脸的代码如下&#xff1a; [html] view plaincopy print?void GetImageRect(IplImage* orgImage, CvRect rectInImage, IplImage* imgRect,double s…

说一下SEO和SEM到底有哪些区别?

开场白免了&#xff0c;我们直接说与主题相关的。 SEO和SEM到底有什么区别&#xff1f; SEO和SEM到底有什么区别 我们先理解字面意思&#xff1a; SEO&#xff08;Search Engine Optimization&#xff09;&#xff1a;汉译为搜索引擎优化。 SEM&#xff08;Search Engine Marke…

django模型的继承

很多时候&#xff0c;我们都不是从‘一穷二白’开始编写模型的&#xff0c;有时候可以从第三方库中继承&#xff0c;有时候可以从以前的代码中继承&#xff0c;甚至现写一个模型用于被其它模型继承。这样做的好处&#xff0c;我就不赘述了&#xff0c;每个学习Django的人都非常…

SpringBoot部署项目到Docker仓库

SpringBoot部署项目到Docker仓库1.开启远程控制端口Centos7开启方式&#xff1a; vim /lib/systemd/system/docker.service找到ExecStart行 ExecStart/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 重启docker 启动 systemctl start docker守护进程…

人脸识别经典方法

这篇文章是撸主要介绍人脸识别经典方法的第一篇&#xff0c;后续会有其他方法更新。特征脸方法基本是将人脸识别推向真正可用的第一种方法&#xff0c;了解一下还是很有必要的。特征脸用到的理论基础PCA在另一篇博客里&#xff1a;特征脸(Eigenface)理论基础-PCA(主成分分析法)…

Jquery常用正则验证

常用校验的正则表达式var rulesConfig { /** * str.replace(/^\s|\s$/g, ) 解析&#xff1a; str&#xff1a;要替换的字符串 \s : 表示 space &#xff0c;空格 &#xff1a; 一个或多个 ^&#xff1a; 开始&#xff0c;^\s&#xff0c;以空格开始 $&#xff1a; 结束&#x…

svm参数说明

svm参数说明---------------------- 如果你要输出类的概率&#xff0c;一定要有-b参数 svm-train training_set_file model_file svm-predict test_file model_fileoutput_file 自动脚本&#xff1a;Python easy.py train_data test_data 自动选择最优参数&#xff0c;自动进行…

poj-3667(线段树区间合并)

题目链接&#xff1a;传送门 参考文章&#xff1a;传送门 思路&#xff1a;线段树区间合并问题&#xff0c;每次查询到满足线段树的区间最左值&#xff0c;然后更新线段树。 #include<iostream> #include<cstdio> #include<cstring> using namespace std; co…

面试题编程题11-python 生成随机数

随机整数&#xff1a; random.randint(a,b), [a,b] random.randrange(a,b,step) [a,b) 随机实数 random.random()返回0 到1 之间的浮点数转载于:https://www.cnblogs.com/feihujiushiwo/p/10922454.html

车牌识别之颜色选取

车牌定位是车牌识别中第一步&#xff0c;也是最重要的一步。 由于中国车牌种类多样&#xff0c;颜色不一&#xff0c; 再加上车牌经常有污损&#xff0c;以及车牌周围干扰因素太多&#xff0c;都成为了车牌定位的难点。 这里首先使用最简单算法来描述车牌定位&#xff0c;以及他…