如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口

Windows+CPU only+VS2013安装caffe以及配置Python接口 由于本本配置不是很高,所以只能装个CPU only版本的caffe来玩玩。 主要参考的博客有: 【caffe-Windows】caffe+VS2013+Windows无GPU快速配置教程 - 风翼冰舟的博客 - 博客频道 - youkuaiyun.com  http://blog.youkuaiyun.com/zb1165048017/article/details/51355143 从零到一:caffe-wi 阅读详情

一、准备

  需要用到的东西我已经帮大家全部准备好了,有3月31日刚刚从caffe官方dev分支fork过来的源代码:https://www.github.com/happynear/caffe-windows。有我自己亲手制作的第三方库http://pan.baidu.com/s/1sjr37tj ,在源码的根目录下建立个3rdparty文件夹,把文件解压进去就可以了。 
  解压好之后,要将3rdparty/bin文件夹添加到系统目录,这样才能让程序找到这些第三方库的dll。 
  然后是Visual Studio 2012,因为我的第三方库都是VS2012环境下编译的,所以用其他版本VS的请自行编译。
  最后是CUDA和MKL了,MKL是可选的,大家可以去Intel官方申请,如果不用cpu模式的话其实也无所谓,在第三方库包中我还提供了openblas的库文件。

二、编译

  编译非常简单,分为以下几步: 
  1、双击./src/caffe/proto/extract_proto.bat批处理文件来生成caffe.pb.h 和caffe.pb.cc两个c++文件,和caffe_pb2.py这个python使用的文件。 
  2、打开./build/MSVC/MainBuilder.sln,打开之后切换编译模式至Release X64模式。如果打开之后显示加载失败,可能你的CUDA版本和我的不一致,我的是CUDA 6.5版,这时就要用记事本打开./build/MSVC/MainBuilder.vcxproj,搜索CUDA 6.5,把这个6.5换成你自己的CUDA版本,就可以正常打开了。 
  3、右键点击左边的MainCaller项目,选择属性,在C/C++选项卡中,把附加包含目录中的cuda include目录改成你自己的;在链接器选项卡中,把附加库目录中的cuda library目录也改成你自己的。 
  4、点上边工具栏中的绿色三角编译吧。 
   
  如果要用matlab wrapper来提取特征、观察训练好的权重的话呢,只需要把matcaffe项目里面的cuda、matlab目录修改成你自己的,然后编译,你就能从matlab/caffe文件夹里面找到一个叫caffe.mexw64的文件啦。 
  python的wrapper类似,把pycaffe项目里的目录改成你自己的,就能在python/caffe文件夹中生成_caffe.pyd的python dll文件。

ps:如果你编译成功的话,不要忘了给我的github工程点个star! 
star

主题推荐
windows matlab python visual studio 2012 批处理文件
猜你在找
Deep Learning 开发工具Theano安装配置
迁移学习&自我学习
思想有多远就能走多远
pwnstep1-2 writeup
Cocos2d-x学习一HelloWorld
随便写写
采集baidu搜索信息的java源代码实现使用了htmlunit和Jsoup
中国科学院的樊彬老师图像特征描述符方面的综述
2014年传智Itcast C++培训3期视频全套
bus device driver 三者之间的关系
【精品课程】Spark+Scala套餐值不值,看你敢不敢学!
【精品课程】高安定PMP认证网络套餐5折优惠
【精品课程】C语言及程序设计学习套餐
【精品课程】学项目管理系列视频教程之基础篇(上)
【精品课程】Java Web高级技术
id="ad_frm_0" frameborder="0" scrolling="no" src="http://blog.youkuaiyun.com/common/ad.html?t=4&containerId=ad_cen&frmId=ad_frm_0" style="border-width: 0px; overflow: hidden; width: 746px; height: 90px;">
查看评论
2楼  pds2008 昨天 23:54发表 [回复]
我也遇到了Invalid MEX-file 'D:\caffe-windows\matlab\caffe\caffe.mexw64': 找不到指定的模块。这样的错误,是不是代码有问题?
Re:  happynear 4小时前发表 [回复]
回复pds2008:先确定exe能否运行,很多人的bin目录没有加到环境变量中,而matlab又不会给出缺少dll的错误信息。
1楼  noraiein 昨天 09:15发表 [回复]
生成的mexw64文件,在matlab中运行代码,会显示Invalid MEX-file E:\caffe.mexw64找不到指定的模块,求问该如何解决。是因为我编译出的文件有问题吗,但是我按照说的改了cuda的版本和matlab的路径。还是因为我的代码有问题?
Re:  happynear 昨天 09:54发表 [回复]
回复noraiein:你确定有E:\caffe.mexw64这个文件?
如果正确生成了,请把matlab路径切换到./matlab/caffe再运行。
Re:  mzmssg 昨天 13:05发表 [回复]
回复happynear:我也碰到这样的问题,编译成功但这个mexw64文件matlab找不到模块,请问层主解决了吗,我是Vs2013
Re:  happynear 4小时前发表 [回复]
回复mzmssg:先确定exe能否运行,很多人的bin目录没有加到环境变量中,而matlab又不会给出缺少dll的错误信息。




1.系统环境:

Windows 64bit

VS2012

MATLAB2013A

CUDA6.5


2.安装CUDA:

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

资源我已经分享在我的百度网盘http://pan.baidu.com/s/1ntsXl3N,下载安装即可


3.进行配置:

我们的目的很清楚:快速,少出问题。基于这个目的,我这里提供最傻瓜式的过程1.去http://download.youkuaiyun.com/detail/yangkequn/8108035下载,这个Caffe里面有很多的lib,是已经编译好了的Caffe2.去https://github.com/niuzhiheng/caffe下载原作者的Caffe为什么要下载两个Caffe工程呢?因为1中的Caffe虽然是编号的,有各种lib和include的,但是没有%caffe_path/caffe/build/MSVCmex这个工程,这个工程用来编译Matlab接口的。所以,下载2的caffe就是要这个工程文件。3.将MSVCmex这个工程复制到1中的caffe/build里面,用VS2012打开工程,直接运行发现不能编译。修改如下用editplus打开matcaffe.vcxproj中,把里面所有的cuda6.0改成cuda6.5,之后把其中所有的C:/programme/matlab改为你自己的matlab地址。保存。

4.操作:

编译好之后得到mex文件,这是类似于C++工程的dll文件,是matlab的 动态链接库(姑且这么理解),进入matlab2013a,cd到caffe/matlab/caffe,输入im = imread('peppers.png');
[scores, maxlabel] = matcaffe_demo(im,1);
如果提示错误,可能是在examples/imagent没有训练集文件caffe_reference_imagenet_model,网上有相关文件,不再多说。至于 python接口编译我认为与此原理类似,使用这个工程改路径,可能最终生成 dll改为pyd然后import caffe。还没有试,仅提供这种思路。

别再乱改grub.cfg了!手把手教你用GRUB2自定义多系统启动菜单(含UEFI/BIOS双模式配置) 本文详细介绍了如何安全、高效地使用GRUB2自定义多系统启动菜单,涵盖UEFI/BIOS双模式配置。通过避免直接编辑grub.cfg文件,采用正确的配置方法和命令,帮助用户打造稳定且美观的启动环境,特别适合Linux多系统用户和开发者。 阅读详情

相关推荐

DCDC BUCK开关电源PCB设计

在开关电源中,BUCK(降压)电路、BOOST(升压)电路以及BUCK - BOOST(升降压)三种电路是最基本的拓扑结构。转换器又分DCDC(直流转直流)和ACDC(交流转直流),DCDC装换器结构无疑是比ACDC转换器结构简单,所以从DCDC转换器结构入手学习开关电源是一种很好的选择。本文主要从应用角度,进行相关器件的选型计算以及PCB绘制讲解DCDC 12V转5Vbuck电路。

2301_78342510的博客 6884

Windows下编译Caffe并编译Matlab接口

【原文:http://www.th7.cn/system/win/201504/102914.shtml】 0.介绍: Caffe是一个深度学习的框架,本人做本科毕设(外加老板的工作)需要,在windows下编译Caffe。 实际上Linux下会更舒服,由于我的Linux下安装不了CUDA- -只能用CPU跑,很慢,于是决定在windows环境下配置caffe及其matl

zhazhiqiang2010的专栏 1316

Claude Code+Cursor+Claude 4三剑合璧!5步搞定Magentic-UI的OAuth2.0集成,开发效率飙升500%,新手秒变全栈工程师

本文详细介绍了如何利用Claude Code、Cursor和Claude 4三款AI工具高效集成Magentic-UI的OAuth2.0认证系统。通过5个步骤的实战演练,开发者可快速完成从环境搭建、项目分析、代码生成到前端集成的全过程,显著提升开发效率。文章还提供了JWT令牌管理、安全配置及常见问题解决方案。

weixin_29234509的博客 454

windows10 无GPU配置Caffe

方法路子由这篇博客指引:“如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口”特此感谢。 一、编译caffe生成caffe.exe。 2015/02/25 微软制作了一个caffe的windows版,他们更加专业,做出来的solution更加容易维护,第三方库完全由Nuget进行管理,几乎不用配置什么东西,建议大家都去尝试一下:https://githu

Chaos?的博客 1346

复现论文报错解决

博主复现论文代码过程中遇到的各种报错及解决方案~

rellvera的博客 1060

NE564锁相环FM解调电路设计:10.7MHz中频实测与3种失真优化方案

本文详细解析了NE564锁相环在10.7MHz中频FM解调电路中的设计与优化方案。通过分析锁相环技术基础、电路架构设计及典型失真问题,提供了3种有效的失真优化方法,包括限幅增强、VCO频偏补偿和环路滤波优化,显著提升解调性能。文章还涵盖了PCB布局要点和系统测试验证,为高频电子线路设计提供实用参考。

weixin_33314040的博客 350

caffe-windows下使用pycaffe绘制网络图

博主所用caffe在windows下编译生成。配置环境说明 - 编译器:vs2013 - 操作系统:win10-64bit - caffe-windows - python2.7(64bit) 1 编译pycaffe1.1 配置 CommonSettings.props 中是能python接口功能:< PythonSupport >为true<?xml version="1.0" encodi

dataningwei的博客 1093

基于Simulink的单级式光伏并网系统MPPT控制仿真

本文基于Simulink平台,详细介绍了单级式光伏并网系统的MPPT控制仿真实现。主要内容包括:1)阐述MPPT作为光伏系统"智能大脑"的核心作用;2)解析单级式系统架构及扰动观察法(P&O)算法原理;3)以10kW户用系统为例,分步骤演示建模过程,包括光伏阵列搭建、P&O控制器实现(含MATLAB代码)、并网控制设计等;4)通过仿真验证系统在光照突变下的动态响应性能,MPPT效率达98.3%。文章还提出了变步长P&O等优化方向,为光伏系统仿真与控制提供实用指导。

xiaoheshang_123的博客 111

编译Caffe-Win错误集锦

Caffe在Windows下编译还是遇到不少麻烦的... 1.visual studio 2013 error C2371: 'int8_t' : redefinition;       引入的unistd.h文件里面重定义了int8_t  ,用记事本 打开文件注销之。 2. error C3861: 'getpid': identifier not found

wishchinYang的专栏 1万+

双像素传感器的AI计算摄影实战:单目深度估计与图像去模糊的融合创新

本文介绍了双像素传感器技术在计算机视觉中的应用,包括深度估计、图像去模糊和图像重建等任务。双像素传感器通过两个子单元捕捉视差信息,使摄像头能够分析场景的三维结构和运动轨迹。文章以图像去模糊为例,详细展示了从数据准备到模型训练的完整流程,包括构建自定义数据集、设计双像素特征提取模块、训练去模糊模型及推理测试。通过模拟双像素的"双视角"信息融合,该AI算法能有效恢复模糊图像的清晰细节。

know_F0727的博客 256

从 30 天试用到企业级落地,2026 年学习和试用 SAP AI 的完整路线图

摘要:SAP AI产品体系存在试用版本与商业版本的边界模糊问题,需区分业务嵌入AI(如Joule)、开发者工具(SAP Build Code)和AI基础平台(Generative AI Hub)三个层级。建议学习路径:1)通过SAP Learning专区掌握理论框架;2)优先使用30天Generative AI Hub基础试用体验模型编排;3)结合90天BTP试用账户开发完整应用。特别注意免费计划已陆续停止,需以最新官方文档为准。开发者应重点关注AI如何与SAP技术栈(CAP、Fiori等)集成,而非单纯功

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 115

Graphviz -图形可视化,python实现

系统自己的系统是 Mac OSX EI Capitan python版本是 python3.5 64bit在Graphviz 官网查看到的mac os 的版本比较旧,没找到当前系统的版本。据其介绍http://www.graphviz.org/Download_macos.php 最后选择最简单直接的方法,使用brew安装 安装brew的方法 http://brew.sh/,终端中执行以

面向未来的历史 3万+

【人工智能】拒绝焦虑,理性突围:AI 时代 Java 工程师的职业重构与进化指南

摘要:在AI技术快速发展的背景下,Java工程师面临职业转型挑战。本文通过MECE原则解构工作内容,划分高替代风险区(如CRUD开发)、高增效潜能区(如逻辑优化)和高核心壁垒区(如架构设计),指出AI对不同任务的影响程度。从劳动经济学视角分析行业将呈现K型分化,初级执行者被替代,而精通AI协作的全栈工程师需求增长。文章强调警惕过度依赖AI导致认知能力退化,并提出转型路径:掌握AI驱动开发(AIDD)、深耕领域驱动设计(DDD)、拓展全流程能力及AI原生应用开发。最终结论指出,未来的核心竞争力在于结合AI工具

奶爸的编程之路,也就一周冷个三天 137

【Caffe的C++接口使用说明二)】caffe_windows下的C++接口的使用

转载自:http://blog.youkuaiyun.com/happynear/article/details/45372231 注意:        1)已经按照这个配置成功,并且成功测试了windows下caffe的C++接口        2)这第一篇博客是第一步:重新配置一个windows下的caffe环境 零、最近更新 本篇博客的内容已经全部过时失效,需要caffe windows版的可

maweifei的博客 4610

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

win10+caffe+python+pycharm

言简意赅的表述整个过程:caffe 的配置在这里不再多说,网上一大堆的教程,配置文件详见 声明:这里的python使用不是Anaconda2而是, 1、从编译caffe说起:配置完成之后开始编辑caffe, **编译顺序:**libcafffe-&gt;caffe-&gt;pycaffe,为各工程间存在依赖关系。 编译pycaffe之前在pycharm中先安装依赖包:安装红框里...

外环西路 8244

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

使用GraphViz画caffe的网络结构图

caffe的python接口中有一个很不错的功能:画网络结构图,虽然画得并不好看,但可以给人一种直观的感受。一、准备  首先caffe的python接口当然是必备的了,还没有生成python接口的同学可以参照我的上一篇博客来生成。   然后是需要安装protobuf的python接口,可以参照这篇博客进行安装,安装过程比较简单,就不赘述了。   安装GraphViz:http://www.gra

happynear的专栏 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: Efficient Graph-Based Image Segmentation
下一篇: 在Matlab中使用mex函数进行C/C++混合编程
lien0906
博客等级 码龄15年 415粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值