caffe windows配置及classification编译分类

caffe windows的配置安装

这里主要参考了如何快糙好猛地在windows下编译caffe及并使用其matlab和python接口,下面详述本人的安装过程。

准备

提前说明下,本人的安装环境是windows+vs2013+cuda7.5。首先是happynear准备好的caffe源码https://www.github.com/happynear/caffe-windows
其次是happynear制作的第三方库http://pan.baidu.com/s/1bSzvKa
将第三方库中的内容解压至caffe源码中的3rdparty文件夹中,并将3rdparty/bin文件夹添加至环境变量path中,方便程序找到第三方库的dll。

编译

进入caffe-windows-master目录。

  1. 双击./src/caffe/proto/extract_proto.bat 批处理文件来生成caffe.pb.h caffe.pb.cc 两个c++文件和caffe_pb2.py。
  2. 打开./buildVS2013/MainBuilder.sln,打开之后切换编译模式至Release X64模式。如果打开之后显示加载失败,可能你的CUDA版本和我的不一致,我的是CUDA 7.5版,这时就要用记事本打开./buildVS2013目录下各个文件夹内的.vcxproj文件,搜索CUDA 7.5,把这个7.5换成你自己的CUDA版本,就可以正常打开了。另外,如果你的显卡比较老或者没有显卡,请使用./build_cpu_only/MainBuilder.sln。(工程打开后,默认启动工程是caffe,也就是我们需要编译的工程)
  3. 点击编译按钮开始编译吧!这个过程大概半个小时左右。另外,编辑即将结束前可能出现弹窗提示未能生成编译信息,这个没有多大关系,只需要设置下工程属性即可,这里不多说可以直接搜下,因为这时在目录下已经有bin文件夹,其中生成了caffe.exe。
  4. 运行mnist demo时,首先得下好mnist leveldb,然后到解压至.\example\mnist\下,运行根目录下的run_mnist.bat,运行结束后,可以在.\log中找到刚才运行的日志。

matlab wrapper编译

所谓的matlab wrapper编译,其实就是matcaffe这个工程的编译。
首先,将该工程设置为启动项目,右击属性。

  • C/C++ ->常规->附加包含目录中修改其中的matlab的include改为自己的,如 C:\Program Files\MATLAB\MATLAB Production Server\R2015a\extern\include。
  • 链接器 ->常规 ->附加库目录中修改其中matlab改为自己的,如 C:\Program Files\MATLAB\MATLAB Production Server\R2015a\extern\lib\win64\microsoft。
  • 链接器 ->输入 ->附加依赖项,检查有没有libmex.lib; libmat.lib; libmx.lib,没有的话,自己加上。
    配置完成后,编译就可以了,最后会在.\matlab+caffe\private目录下生成caffe_.mexw64,这个就是matlab调用caffe的wrapper。
    使用caffe中matlab的demo时,打开matlab, 进入.\matlab\demo文件夹,参考classification_demo.m使用这个wrapper。另外说明一点,之前我使用的matlab2010b在调用caffe.Net时几乎百分百出现matlab崩溃,开始一直以为是我编译生成的mexw64有问题,后来我重新安装了matlab2015a这个问题就没有发生了。

classificatin.cpp的编译

classification.cpp是在.\example\classification目录中的。在windows中用VS编译还是挺麻烦的,所以在这里也记录一下,关键还是其中的依赖库的配置。这里因为是自己不断实验,不断看网上仅有的例子摸索出来的,所以方法有点笨拙。
我的方法是,在caffe工程中,新建classification.cpp,将那个classification.cpp复制到这里,然后排除caffe.cpp,编译。这样就省去了环境配置的麻烦,但缺点是生成的exe仍在.\bin中,但文件名为caffe,把我之前编译生成的caffe.exe覆盖了。
使用该classification.cpp生成的.exe跑demo时,首先得下好下面的文件:
bvlc_reference_caffenet.caffemodel
imagenet_mean.binaryproto和synset_words.txt
上面三个文件我都将它们放在了.\models\bvlc_reference_caffenet文件夹中,所以最后在cmd中的命令句是

.bin\caffe.exe 
.\models\bvlc_reference_caffenet\deploy.prototxt
.\models\bvlc_reference_caffenet\bvlc_reference_caffenet.caffemodel
.\models\bvlc_reference_caffenet\imagenet_mean.binaryproto
.\models\bvlc_reference_caffenet\synset_words.txt
.\examples\images\cat.jpg
//后面5个均为caffe.exe的参数

如此完成了该classification的demo。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容