Windows下编译Caffe并编译Matlab接口

栏目: 编程工具 · 发布时间: 6年前

内容简介:Windows下编译Caffe并编译Matlab接口

介绍:

Caffe是一个深度学习的框架,在windows下编译Caffe。

实际上 Linux 下会更舒服,由于我的Linux下安装不了CUDA,只能用CPU跑,很慢,于是决定在windows环境下配置caffe及其matlab接口

系统环境:

Windows 64bit

VS2012

MATLAB2013A

CUDA6.5

安装CUDA:

官网的CUDA已经是7.0了,为了尽可能减少出现的问题,我们就跟作者大大同步,用cuda6.5.

资源我已经分享在 我的百度网盘 ,下载安装即可

进行配置:

我们的目的很清楚:快速,少出问题。基于这个目的,我这里提供最傻瓜式的过程

  1. 这个csdn资源 下载,这个Caffe里面有很多的lib,是已经编译好了的Caffe

  2. 原作者git 下载原作者的Caffe

    为什么要下载两个Caffe工程呢?因为1中的Caffe虽然是编号的,有各种lib和include的,但是没有%caffe_pathcaffebuildMSVCmex这个工程,这个工程用来编译Matlab接口的。所以,下载2的caffe就是要这个工程文件。

  3. 将MSVCmex这个工程复制到1中的caffebuild里面,用VS2012打开工程,直接运行发现不能编译。修改如下

    用editplus打开matcaffe.vcxproj中,把里面所有的cuda6.0改成cuda6.5,之后把其中所有的C:programmematlab改为你自己的matlab地址。保存。

操作:

编译好之后得到mex文件,这是类似于C++工程的dll文件,是matlab的动态链接库(姑且这么理解),进入matlab2013a,cd到caffematlabcaffe,输入

im = imread('peppers.png');
    [scores, maxlabel] = matcaffe_demo(im,1);

如果提示错误,可能是在examplesimagent没有训练集文件caffe_reference_imagenet_model,网上有相关文件,不再多说。

至于 python 接口编译我认为与此原理类似,使用这个工程改路径,可能最终生成dll改为pyd然后import caffe。还没有试,仅提供这种思路。

原csdn上面评论和一些答复:

QA1:

qq1005896486 2015-04-24 16:55发表:

博主,你说编译MSVCmex生成mex文件,可是据我观察,在此文件夹的/bin文件下已经存在一个caffe.mex文件了呢,怎么还需要生成呢?生成的mex的文件名称是什么?谢谢

Re: Jungieve 2015-04-24 19:01发表

回复qq1005896486:/bin确实有一个mex,我试过,用不了。

我个人揣测,是原作者自己配置成功好的mex文件,但是它的CUDA版本和matlab路径跟我们不一样,所以直接拿来肯定是用不了的。所以需要自己编译一个适用于自己cuda版本的mex。

mex就是dll文件,即使mex路径配置不对也可能编译出来mex文件,即caffe.mex,但是最后调用时候肯定会出现“mexw64找不到指定的模块".谢谢

QA2:

chriszdm 2015-05-11 20:53发表:

你好,改了cuda和matlab设置,编译成功后,调用时找不到指定模块,我想问一下编译的时候,项目属性有哪些设置的。

Re: Jungieve 2015-05-12 20:03发表:

回复chriszdm:你好,首先在编译caffemat之前,最好是将CaffeRoot/bin下面的所有dll全部复制到CaffeRoot/matlab/caffe里面

Re: chriszdm 2015-05-12 21:13发表:

回复Jungieve:OK了,非常感谢。

QA3:

queen_wangner 2015-07-23 19:31发表:

你好,我编译运行的时候,生成出错了,提示

....matlabcaffematcaffe.cpp(275): error C3861: “random”: 找不到标识符

‘init_key = random(); ‘

这个地方出错了,怎么办呀

Re: Jungieve 2015-07-26 18:10发表:

回复queen_wangner:你好,可能是你的cuda版本与VS版本对应不上。random()找不到一般为cuda正确加载。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创造突破性产品

创造突破性产品

Jonathan Cagan、Craig M.Vogel / 机械工业出版社 / 2004-1 / 35.00元

在《创造突破性产品:从产品策略到项目定案的创新》中作者总结多年的研究成果,指明了与产品创新相关的一系列因素,并提供了一套全新的开发突破性产品的理论与方法,该书旨在帮助企业,技术和设计人员: 获得对用户的需求和市场新的趋势的准确洞察力; 认识可以创造新市场的产品机会缺口; 指导产品模糊前期的构造; 正确地运用定性和定量的研究方法; ......一起来看看 《创造突破性产品》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具