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

windows编译caffe的艰辛历程 windows编译caffe的艰辛历程 本文主要介绍了我在windows下面用cmake编译caffe的辛苦历程,通过这次的尝试,希望对cmake有所了解,如果路过的朋友觉得对你还有用,创作不易,大家记得点赞,并分享哦. 1. 下载caffe代码 我们去官网下载caffe代码,然后用clion打开项目文件. https://github.com/BVLC/caffe 打开以后,我们尝试打开CMakeLists.txt文件,如下,clion会在文件的标签tab下面问,是否需要加载cmake配置,然后就会有一 阅读详情

零、最近更新

2015/02/25 微软制作了一个caffe的windows版,他们更加专业,做出来的solution更加容易维护,第三方库完全由Nuget进行管理,几乎不用配置什么东西,建议大家都去尝试一下:https://github.com/Microsoft/caffe 。 
2015/12/09 我总结了一下比较常见的问题,写在 https://github.com/happynear/caffe-windows/blob/master/FAQ.md 里,而且未来会持续更新,如果碰到问题请先查看这个FAQ列表。 
2015/09/14 Caffe现在支持单机多GPU啦,直接在caffe命令后面加--gpu=all或--gpu=0,1 即可使用多个GPU进行训练。 
如果使用多gpu训练,不要直接点cmd窗口的X,最好使用Ctrl+C来终止程序,不然显卡驱动有时候会崩溃。 
还有如果要在训练中途存一个snapshot,可以用Ctrl+Break。 
因此一个正常的终止训练的操作是: 
先Ctrl+Break保存当前工作状态,然后Ctrl+C终止训练。

2015/08/18 lmdb现在已经可以使用了,不过磁盘必须是NTFS格式的才可以。有需要的请到http://pan.baidu.com/s/1dDHbbgP 下载,并覆盖掉3rdparty/lib 中同名的文件,然后右键各个工程->仅用于项目->仅链接 即可,无需重新生成。 
2015/08/08 有很多人报告(包括我自己)cuDNN v3 的速度比v2慢很多,因此master分支被我回滚回v2版本了,所幸cuDNN向下兼容,所以无需再次下载第三方库。

一、准备

  需要用到的东西我已经帮大家全部准备好了,有2016年2月4日刚刚从caffe官方master分支fork过来的源代码:https://www.github.com/happynear/caffe-windows。有我自己亲手制作的第三方库http://pan.baidu.com/s/1sk3QyyL,在源码的根目录下建立个3rdparty文件夹,把文件解压进去就可以了。 
  解压好之后,要将3rdparty/bin文件夹添加到环境变量的PATH中,这样才能让程序找到这些第三方库的dll。
  最后是CUDA和MKL了,MKL是可选的,大家可以去Intel官方申请,如果不用cpu模式的话其实也无所谓,在第三方库包中我还提供了openblas的库文件。 
  我使用的是CUDA 7.0版,建议大家也安装这个版本。 
   
ps:如果你没有NVIDIA显卡或者显卡比较老,请还是将CUDA安装上,然后在C/C++选项卡的预处理器定义中,将USE_CUDNN删除。3个项目都要删。同时,为了您的身心健康,请尽快购置显卡。

二、编译

  编译非常简单,分为以下几步: 
  1、双击./src/caffe/proto/extract_proto.bat批处理文件来生成caffe.pb.h和caffe.pb.cc两个c++文件,和caffe_pb2.py这个python使用的文件。 
  2、打开./buildVS2013/MainBuilder.sln,打开之后切换编译模式至Release X64模式。如果打开之后显示加载失败,可能你的CUDA版本和我的不一致,我的是CUDA 7.5版,这时就要用记事本打开./buildVS2013目录下各个文件夹内的.vcxproj文件,搜索CUDA 7.5,把这个7.5换成你自己的CUDA版本,就可以正常打开了。 
  3、点上边工具栏中的绿色三角编译吧。编译大概需要半小时左右,请耐心等待。 
   
  如果要用matlab wrapper来提取特征、观察训练好的权重的话呢,只需要把matcaffe项目里面的matlab目录修改成你自己的,然后编译,你就能从matlab/+caffe/private文件夹里面找到一个叫caffe_.mexw64的文件啦。 
  python的wrapper类似,把pycaffe项目里的python目录改成你自己的(我用的是Anaconda),就能在python/caffe文件夹中生成_caffe.pyd的python dll文件。

三、测试

  到 http://pan.baidu.com/s/1mgl9ndu 下载已经转换好的MNIST的leveldb数据文件,解压至./examples/mnist文件夹中,然后运行根目录下的run_mnist.bat即可开始训练,训练日志会保存在./log文件夹中,以INFO开头,txt格式的日志文件中。

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

四、旧更新日志

2015/08/06 新版caffe-windows上线了,由于vs2012编译速度太慢,从这个版本开始,不再对vs2012提供支持。
2015/07/07 现在caffe也支持VS2013了,第三方库全部更新至最新版本。请从 http://pan.baidu.com/s/1sj3IvzZhttp://pan.baidu.com/s/1i390tZB下载并替换掉原有的build文件夹,其他步骤与先前版本一致。如果发现bug,烦请反馈给我,留言或在github上提issue均可。 
2015/06/07 添加Insanity Layer(即randomized leaky rectified linear units),我也不知道为什么叫Insanity。。论文上说效果比PReLU还好些。 
2015/06/05 将Caffe版本更新至6月5日的master分支,与上一版最大的不同在于matlab接口更加丰富,cudnn更新至v2版,所以要重新下载第三方库。 
2015/06/05 Batch Normalization更新至新版,现在的默认mnist测试文件即为使用了Batch Normalization层的版本。 
2015/05/29 发现上个版本的lmdb.lib使用了别人在vs2013下编译的版本,现改为vs2012版; 
2015/05/29 添加了提取任意层特征的matlab接口,使用方法:

<code class="language-matlab hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background: transparent;">OUTPUT = caffe(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'get_features'</span>, INPUT, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'layername1,layername2...'</span>);</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

例如:f = caffe('get_features', H, 'conv51,pool5'); 返回的f为2*1的cell类型,里面记录了层的名称和该层的特征。 
现在有了更好的方法来获得每层特征,该函数不再更新。请参见新版matlab接口。

顶
8
踩
Windows 下编译 caffe 一、 环境准备: a) windows 系统(win7/win10 均可) b) vs2013 (本人用的是 2013,其他版本运行 caffe 框架,网上有争议)vs2013 下载:https://pan.baidu.com/s/1i6Rv8qD c) MATLAB2016 以及 Python(caffe 支持使用这两个接口,若读者只是纯使用 caffe,可以不用安装) d) CUDA8 阅读详情

相关推荐

自己编译的caffe_windows可用

在用caffe源码在windows编译的可执行文件,免去你再次编译的麻烦

windows下编译caffe

安装环境 windows10 vs2015 cuda8.0 cudnn v5.1 python 2.7 cmake 3.8 cmake和python一定要添加到PATH里面。 1.clone caffe 的windows分支:https://github.com/BVLC/caffe/tree/windows。 2.python的一些依赖库安装的时候根据提示自行安装,

yxp520123的博客 985

Caffe在windows下的安装配置及编译

该文件为Caffe在Windows下的安装、配置及编译。 文档中提供了各资源的下载路径 文档中提供了详细的安装及 编译步骤。 作业已经成功编译。

windows下编译caffe(VS2015+Python3.5+CPU)

前言 为了缩减本文篇幅,相应的软件仅提供下载地址,不赘述下载过程! windows 下编译 caffe 所需软件或工具(针对本文): Anaconda 3-4.1.1 cmake 3.23.2 VS 2015 caffe-windows 注意所使用的版本要和本文相对应,本文使用【Anaconda 3-4.1.1】来替代【Python 3.5】,直接使用Python会遇到很多问题,而且【Anaconda 3-4.1.1】内置的就是【Python 3.5】! Anaconda 3-4.1.1 安装及配置 下

apple_54470279的博客 1740

【速通版!语义通信基础与前沿学习计划】

🧠语义通信基础与前沿学习计划

dally2的博客 1412

AMD显卡跑MiniMax H3提速30%:SageAttention ROCm适配全记录

在Transformer架构的视频生成模型中,注意力计算往往是性能瓶颈,尤其当显存资源受限时,低精度量化与内核优化成为关键突破口。SageAttention通过将QK^T矩阵乘法量化为INT8,并以FP16/INT4表达注意力概率矩阵,在保证画质的前提下显著降低访存与计算开销,相比传统FlashAttention具备更高速度上限。这一技术价值在本地部署场景尤为突出——当用户使用非NVIDIA显卡运行大型视频模型时,通用优化库常因依赖CUDA而失效。本文聚焦AMD ROCm平台下的MiniMax H3视频生成

weixin_32238157的博客 275

终于在windows上成功编译caffe,特分享过程

经过一天的不懈尝试和查找资料,终于完成了在windows上的caffe编译,也是参考了好几位前辈的经验分享,现分享过程如下:    前言:最好基于caffe-windows(https://www.github.com/happynear/caffe-windows)编译,否则因为一些语言语法的标准问题,要改很多东西,最后即使编译通过了,还不一定能用。 环境:win7 64位,vs20

lyk_ffl的专栏 1万+

微信小程序导航栏滑动一定距离后固定到顶部

接上一篇文章的内容,通常在一个页面中部会有一个导航栏查看不同的内容,这篇文章旨在实现在页面下滑的过程中导航栏自动固定到顶部以便我们阅读过程中的切换。 下滑一段距离后自动固定到顶部 首先,思考这个功能应该是怎么实现的: 在页面下滑的过程中,我们希望系统应当能识别下滑了多少距离,当原本的导航栏逐渐被遮住以后(遮住意味着下滑了特定距离),触发这个功能,执行另一种样式,将导航栏固定在页面顶端,同时如果我们将页面往上滑,系统能识别到原来的导航栏能露出来了(即距离顶端的高度小于一个特定的值),这时候又执行最初的样式

Oblivision_Geek的博客 4030

windows10 无GPU配置Caffe

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

Chaos?的博客 1346

【入坑存内计算一键指南】存内计算运算原理:算法优化、存储介质探究

本文探讨了存内计算及其面向的架构优化,尤其侧重于图算法优化和存内计算存储介质。文章介绍了存内计算的概念和意义,着重强调了存内计算解决了内存墙问题,提高了计算效率。针对图算法的优化,提出了基于位运算的创新方法,重塑了单源最短路径算法,并介绍了基于局部重叠度的链路预测算法优化设计。接着,文章详细讨论了存内计算存储介质,特别是非易失性存储器,比较了不同类型存储器的性能,并重点介绍了基于ReRAM的存内计算技术,包括其物理模型和交叉阵列结构。

一键难忘的博客 7065

揭秘 C++ 性能优化的终极秘籍,让你面试时应答如流

VTune Amplifier 是英特尔开发的一款强大的性能分析工具,它可以深入分析应用程序在英特尔架构上的性能瓶颈。功能特点全面的分析视角:提供了多种分析模式,如热点分析、线程分析、内存分析等。热点分析模式能快速定位程序中最耗时的代码段;线程分析模式可帮助开发者了解多线程程序中线程的执行情况、同步开销等;内存分析模式则专注于内存访问的性能,包括缓存命中率、内存带宽使用等。硬件层面的洞察:能够深入到硬件层面,分析 CPU 的微架构指标,如指令级并行度、流水线停顿等。

大模型大数据攻城狮的专栏 1151

Caffe-windows入门学习,编译、训练、测试详细教程

####目录结构 一. 准备工作 二. 编译 2.1、开启相关caffe版本的编译开关配置内容 2.2、手动更改或者指定版本对应编译器目录 2.3、下载依赖文件dependencies文件到指定目录 2.4、编译 三. MNIST手写体字符识别(C++) 3.1、MNIST数据集下载 3.2、转换数据格式 3.3、训练和测试数据集 3.4、测试单张图片 四. Matlab Demo ...

浩瀚之水的专栏 2525

槽型光电开关传感器原理图设计,已量产(光电传感器)

在嵌入式设备的位置限位、物料计数等场景中,槽型光电开关是性价比极高的传感器方案 —— 它通过遮挡发射器与接收器之间的光路实现电平切换,电路简单且抗干扰性优于漫反射式光耦。今天分享一个实际项目中落地的槽型光电开关检测电路,从器件选型到逻辑设计都做了简化适配,适合小批量原型或低成本产品的需求。

不脱发的程序猿 716

Caffe windows编译

一、编译环境 1.下载caffe windows版源码 https://github.com/BVLC/caffe/tree/windows 2.CUDA   CUDA 7.5 or 8.0 (use CUDA 8 if using Visual Studio 2015) 3.cuDNN v4   将下载的bin,include及lib拷贝到CUDA对应的目录(我的为:C:\Progr...

weixin_30644369的博客 213

深入解析:武汉光庭信息技术 Android CarPlay 开发岗位的技术要求与面试准备(大连)

武汉光庭信息大连分部招聘Android CarPlay开发工程师,要求专科以上学历及2年以上Android开发经验,需精通CarPlay集成技术与车载系统开发。该职位涉及Android底层框架修改、CarPlay协议实现及车规级系统开发,需处理USB/HID驱动、图形合成等技术难点,并确保通过Apple严格认证。求职者需具备扎实的Android开发能力,熟悉车载环境特殊性,包括系统稳定性保障、人机交互适配等技术要点。文章深度解析了职位技术内涵,并提供面试问题与参考答案,帮助求职者全面准备这一复合型技术岗位。

郑伟强dev的专栏 400

基于Cesium实现,动态水面+大坝排水动画

一、绘制面状水域,使用水波纹理,进行渲染,水体透明,可以看到底色。三、使用粒子系统,将喷泉改变方向,加上重力设置,实现排水动画。二、绘制线状三维体,用作模拟大坝拦截效果。四、最后,模拟水位上升,进行淹没分析,

一醉千秋的专栏 1418
上一篇: 卷积神经网络(CNN)基础介绍
下一篇: ubuntu14.04+opencv 3.0安装及测试
FireMicrocosm
博客等级 码龄12年 261粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值