pythoncaffewindows
A. 如何在Windows下安装配置python接口的caffe
RDD(Resilient Distributed Dataset,弹性分布式数据集)是Spark的核心概念之一。
一个RDD代表一系列的“记录”(严格来说,某种类型的对象)。
这些记录被分配或分区到一个集群的多个节点上(在本地模式下,可以类似地理解为单个进程里的多个线程上)。Spark中的RDD具备容错性,即当某个节点或任务失败时(因非用户代码错误的原因而引起,如硬件故障、网络不通等),RDD会在余下的节点上自动重建,以便任务能最终完成。
B. 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
一、准备
需要用到的东西我已经帮大家全部准备好了,有2016年2月4日刚刚从caffe官方master分支fork过来的源代码。有我自己亲手制作的第三方库,在源码的根目录下建立个3rdparty文件夹,把文件解压进去就可以了。
解压好之后,要将3rdparty/bin文件夹添加到环境变量的PATH中,这样才能让程序找到这些第三方库的dll。
最后是CUDA和MKL了,MKL是可选的,大家可以去Intel官方申请,如果不用cpu模式的话其实也无所谓,在第三方库包中我还提供了openblas的库文件。
我使用的是CUDA 7.5版,建议大家也安装这个版本。
二、编译
编译非常简单,分为以下几步:
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版本,就可以正常打开了。
另外,如果你的显卡比较老或者没有显卡,请使用./build_cpu_only/MainBuilder.sln。
3、点上边工具栏中的绿色三角编译吧。编译大概需要半小时左右,请耐心等待。
如果要用matlab wrapper来提取特征、观察训练好的权重的话呢,只需要把matcaffe项目里面的matlab目录修改成你自己的,然后编译,你就能从matlab/+caffe/private文件夹里面找到一个叫caffe_.mexw64的文件啦。
python的wrapper类似,把pycaffe项目里的python目录改成你自己的(我用的是Anaconda),就能在python/caffe文件夹中生成_caffe.pyd的python dll文件。
三、测试
到 下载已经转换好的MNIST的leveldb数据文件,解压至./examples/mnist文件夹中,然后运行根目录下的run_mnist.bat即可开始训练,训练日志会保存在./log文件夹中,以INFO开头,txt格式的日志文件中。
ps:如果你编译成功的话,不要忘了给我的github工程点个star!
四、旧更新日志
2015/02/25 微软制作了一个caffe的windows版,他们更加专业,做出来的solution更加容易维护,第三方库完全由Nuget进行管理,几乎不用配置什么东西
2015/12/09 我总结了一下比较常见的问题,写在 里,而且未来会持续更新,如果碰到问题请先查看这个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格式的才可以。有需要的请到下载,并覆盖掉3rdparty/lib 中同名的文件,然后右键各个工程->仅用于项目->仅链接 即可,无需重新生成。
2015/08/08 有很多人报告(包括我自己)cuDNN v3 的速度比v2慢很多,因此master分支被我回滚回v2版本了,所幸cuDNN向下兼容,所以无需再次下载第三方库。
2015/08/06 新版caffe-windows上线了,由于vs2012编译速度太慢,从这个版本开始,不再对vs2012提供支持。
2015/07/07 现在caffe也支持VS2013了,第三方库全部更新至最新版本。请从下载并替换掉原有的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接口,使用方法:
OUTPUT = caffe('get_features', INPUT, 'layername1,layername2...');11
例如:f = caffe('get_features', H, 'conv51,pool5'); 返回的f为2*1的cell类型,里面记录了层的名称和该层的特征。
现在有了更好的方法来获得每层特征,该函数不再更新。请参见新版matlab接口。
C. 如何在windows下安装微软版的caffe
第一步,准备工作
1.首先从网址下载Caffe-Windows安装包(https://github.com/BVLC/caffe/tree/windows);
2.安装Visual Studio 2013;
3.如果与需要使用NVIDIA显卡的请安装Cuda和CuDNN,不需要可以不装;
4.将.\windows\CommonSettings.props.example 复制一份并修改为 .\windows\CommonSettings.props,然后打开做如下修改:
1)如果不使用GPU,不安装CUDA和CuDNN,将CpuOnlyBuild 改为 true ,并且 UseCuDNN 改为 false;
2)安装CuDNN的情况下,将CuDNND路径复制到CuDnnPath;
3)选择支持Python或者MATLAB接口,当然也可以两个都支持,设置PythonSupport或者MatlabSupport为true,同时将Python或者MATLAB路径分别粘过来PythonDir和MatlabDir。
第二步,编译
打开.\windows\Caffe.sln,编译Caffe/convert_imageset、caffe、libcaffe、convert_mnist_data等,可以根据提示和需要进行,生成的caffe.exe为训练与测试的主程序,convert_imageset为将训练和测试数据生成LMDB使用的程序。
D. 怎么在windows下编译fast rcnn需要的python版本的caffe接口
一、前期环境以及准备
1、安装python
在caffe中,python2和python3的接口都有。但frcnn中只能支持python2.7,所以千万不要装成python3。为了方便,不用自己去pip一大堆库,我建议安装anaconda2,里面已经安装了很多第三方的库。
另附python,Windows的第三方库 ,里面很全。或许有一些库你要去官网上下载。
2、安装(更新)显卡驱动和cuda
NVIDIA的显卡驱动安装应该不用我说了吧,到官网上下载吧。我要说明一点的是,我的1080ti在安装显卡驱动时,说和Windows不匹配。怎么解决呢?更新Windows,到官网上下驱动,再安装。成功!还有就是记得更新你的显卡驱动,以防老的驱动不支持cuda。
CUDA安装的话,也是傻瓜试的安装。提醒一点的是,不要改变他的安装路径,默认路径。然后去NVIDIA的官网上下载cudnn库,这个库的话需要去NVIDIA注册一个账号,然后问你用这个来完成什么工作之类的巴拉巴拉。这个库长什么样呢?下载完解压缩,得到一个cuda的文件夹,里面有3个文件夹
然后打开你的CUDA文件夹,默认路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
把cudnn库里面的3个文件夹里面的文件,分别加到cuda里面对应的文件夹。
然后打开cuda需要编译的部分,默认路径是C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0
因为我用的VS2015,那么我就用打开2015的那个,然后改成release运行。
至此,显卡计算的环境就搭建完成了。
3、cmake和git
cmake的话,我建议直接下载编译好的能运行的文件(到官网上下载),然后解压文件,把bin的路径添加到Path中。
git:因为frcnn里面有很多linux的脚本,你可以不用,但用的话会很方便的。所以我建议安装git。同样,傻瓜式的安装,直接到官网上下载。
二、py-faster-rcnn
1、编译caffe的python接口GPU版本(如果你编译过了就不用了)
因为frcnn的编译过程用需要用到python的caffe包,所以必须要先编译一次caffe。如果你已经编译过caffe的py接口就不用了。
下载微软的Caffe,git的地址
你可以用git直接下载,或者在git的地址里下载,随便你。
[plain] view plain
git clone
cd caffe
git checkout windows
打开caffe\scripts,然后编辑build_win.cmd文件
第7行的VERSION是你VS的版本,VS2015对应的是14,VS2013对应的应该是12;第8行改为0;第9行改为0(如果你不用GPU,那就还是1);13行的python_version是你的python版本,2.x就是2,3.x就是3;24,28行是你的python的安装目录,如果你是anaconda就改你的anaconda的目录,否则就不改。
同样69-95行同样修改。以上2张图是我的cmake文件配置。
进入caffe\scripts,打开cmd,直接执行build_win.cmd。注意他会自动下载需要的库,因为服务器呢都不在国内,所以我建议挂个VPN,不然你且等呢吧。
这样cmake后呢,python的接口就已经编译好了,不用再编译一遍了。把caffe\python下的caffe的文件夹到python的第三方包的文件夹就ok。
这样caffe的python接口就好了,你可以进cmd的python试一下import caffe。如果说,他提示少了什么包,你直接pip这个包就好了,找不到的话,网络一下就有。但只要你跟着上面我的方法做应该不会出现什么问题。
2、编译py-faster-rcnn依赖库
首先呢,我们先去编译一下frcnn的依赖库。Windows下,不能使用自带的lib,把自带的lib删了,重新下载,这里给出git的地址。
好了,现在你的库应该长成这样,有setup.py和setup_cuda.py。进cmd,install这2个文件。
现在你肯定会遇到问题,提示你VC版本不对
怎么办呢,先set一下:输入SET VS90COMNTOOLS=%VS140COMNTOOLS%,VS后面的数字就是你的版本。还有不要忘了把你VS的c1.exe加到path下。
编译好frcnn的依赖库后,应该是这个样子的。
3、给caffe加frcnn的层
现在,我们再下载一个caffe,跟前面一样,把build_win.cmd进行修改。然后我们就可以把frcnn的一些特有的层加到caffe里编译了。
1)添加层和文件
打开py-faster-rcnn\caffe-fast-rcnn\src\caffe\layers文件夹,找到4个文件分别为
然后到你新的caffe的对应文件夹caffe\src\caffe\layers里。
接着我们添加头文件,打开py-faster-rcnn\caffe-fast-rcnn\include\caffe,把fast_rcnn_layers.hpp这文件到caffe的对应文件夹下caffe\include\caffe。
2)配置2个新层
打开你的caffe\src\caffe\proto下的caffe.proto,进行编辑。
在407行左右
往原来的文件里添加新的层的配置信息
[plain] view plain
optional ROIPoolingParameter roi_pooling_param = 8266711;
optional SmoothL1LossParameter smooth_l1_loss_param = 8266712;
message ROIPoolingParameter {
// Pad, kernel size, and stride are all given as a single value for equal
// dimensions in height and width or as Y, X pairs.
optional uint32 pooled_h = 1 [default = 0]; // The pooled output height
optional uint32 pooled_w = 2 [default = 0]; // The pooled output width
// Multiplicative spatial scale factor to translate ROI coords from their
// input scale to the scale used when pooling
optional float spatial_scale = 3 [default = 1];
}
message SmoothL1LossParameter {
// SmoothL1Loss(x) =
// 0.5 * (sigma * x) ** 2 -- if x < 1.0 / sigma / sigma
// |x| - 0.5 / sigma / sigma -- otherwise
optional float sigma = 1 [default = 1];
}
3)cmake新的caffe的python接口
就是再执行一遍build_win.cmd就行。编译好之后,把caffe根目录下的python文件夹替换py-faster-rcnn\caffe-fast-rcnn的python文件夹。
三、demo
完成以上步骤你的py-faster-rcnn就已经编译成功了。如果你想用demo测试一下的话可以用.\data\scripts里的脚本去下载已经训练好的model,文件挺大的、速度挺慢的。所以给大家提供一个网络5,把caffemodel文件放在data\faster_rcnn_models,然后执行tools\demo.py就能看到结果了
E. windows caffe python 没有
整了一晚上加一上午。网上关于python的记录较少,这里写一下。 这里的环境是WIN10+cuda v7.5 +cudnn v4 + opencv + pycharm+VS2013 使用的是GPU,我的GPU是titan16G+内存32G 首先是caffe的文件以及第三方库的编译,这里提供一个已经编译好的的连接,我就是从那里下好然后编译完毕的。 点击打开链接 happynear的 然后就是如何编译python接口。 1、首先先生成两个python文件,在src/caffe/proto/extract_proto.bat 里生成caffe_pb2.py 这个之后有用。 2、然后打开已经给好的caffe/buildVS2013,打开里面已经有的工程文件,正常的情况下应该是有7个工程,选中pycaffee单独作为要编译的项目。如图所示: 把pycaffe作为单启动。注意需要在release x64位下编译。 如果没有这个的话,就将这个文件夹里python文件夹中的项目加入即可。如果没有python项目,就自己建一个,将python文件夹里的cpp文件加入就可以了。 3、选择pycaffe的属性,将配置属性下的VC++目录中的包含目录和库目录填上你python所在的include和libs 再在C/C++的目录下的附加包含目录一项中添加 以我的python为例。D:/python27/Lib;D:/python/include/ 以及D:/Python27/Lib/site-packages/numpy/core/include 如果你安装了CUDNN这里可以在预处理器那里把USE_CUDNN加上,同时在LINKER的输入目录下的附加依赖库中加入cudnn的lib文件。 3、开始编译即可。这里要注意一定要和caffe、caffelib在一个项目里编译,否则会报错。 4、编译成功后会在caffe/python/caffe下生成_caffe.pyd 是打不开的 5、配置python环境:需要几个额外库 Cython>=0.19.2 numpy>=1.7.1 scipy>=0.13.2 scikit-image>=0.9.3 matplotlib>=1.3.1 ipython>=3.0.0 h5py>=2.2.0 leveldb>=0.191 networkx>=1.8.1 nose>=1.3.0 pandas>=0.12.0 python-dateutil>=1.4,<2 protobuf>=2.5.0 python-gflags>=2.0 pyyaml>=3.10 Pillow>=2.3.0 six>=1.1.0 其中numpy要装MKL版本的,不然scipy装上了BLAS不能用 leveldb没有windows版本的,不过我找到了可以使用的办法。见这个博客: 点击打开链接 如果有pip install 装不上的,可以上这个网站找 wheel文件安装就可以了 点击打开链接 6、最后把目录中python下的caffe文件夹复制到python27/Lib/site-packages就可以了。 测试的时候只需要在控制台下输入import caffe 看能载入就知道成功了:)
F. Windows+Anaconda+caffe python要怎么配置
1、首先先生成两个python文件,在src\caffe\proto\extract_proto.bat 里生成caffe_pb2.py 这个之后有用。
2、然后打开已经给好的caffe\buildVS2013,打开里面已经有的工程文件,正常的情况下应该是有7个工程,选中pycaffee单独作为要编译的项目把pycaffe作为单启动。注意需要在release x64位下编译。如果没有这个的话,就将这个文件夹里python文件夹中的项目加入即可。如果没有python项目,就自己建一个,将python文件夹里的cpp文件加入就可以了。
3、选择pycaffe的属性,将配置属性下的VC++目录中的包含目录和库目录填上你python所在的include和libs 再在C/C++的目录下的附加包含目录一项中添加
以我的python为例。D:\python27\Lib;D:\python\include\ 以及D:\Python27\Lib\site-packages\numpy\core\include 如果你安装了CUDNN这里可以在预处理器那里把USE_CUDNN加上,同时在LINKER的输入目录下的附加依赖库中加入cudnn的lib文件。
4、开始编译即可。这里要注意一定要和caffe、caffelib在一个项目里编译,否则会报错。
G. 如何在Windows环境下配置Caffe
第一步准备工作
1.首先网址载Caffe-Windows安装包();
2.安装Visual Studio 2013;
3.与需要使用NVIDIA显卡请安装CudaCuDNN需要装;
4..\windows\CommonSettings.props.example 复制份并修改 .\windows\CommonSettings.props打做修改:
1)使用GPU安装CUDACuDNNCpuOnlyBuild 改 true 并且 UseCuDNN 改 false;
2)安装CuDNN情况CuDNND路径复制CuDnnPath;
3)选择支持Python或者MATLAB接口两都支持设置PythonSupport或者MatlabSupporttrue同Python或者MATLAB路径别粘PythonDirMatlabDir
第二步编译
打.\windows\Caffe.sln编译Caffe/convert_imageset、caffe、libcaffe、convert_mnist_data等根据提示需要进行caffe.exe训练与测试主程序convert_imageset训练测试数据LMDB使用程序!
H. 关于caffe-windows配置matlab和python接口的问题
1.安装
使用PyInstaller需要安装PyWin32。
下载与Python对应的PyInstaller版本, 解压后就算安装好了 。
2.生成exe文件
Python程序的目录为 F:\hello.py
在命令行 中进入pyinstaller所在的目录,运行python pyinstaller.py F:\hello.py
在PyInstaller-2.1目录下,生成文件夹hello
hello目录下有文件
exe文件在dist目录下
如果将python文件复制到 pyinstaller.py 所在目录下,则运行 python pyinstaller.py hello.py
I. 想安装caffe 只用在python上 但电脑不是gpu windows10系统32版本 不是英伟达显卡 不能使用cuda
1、右键点击“开始菜单”按钮,在弹出的菜单中选择“运行”菜单项
2、在弹出的运行窗口中,输入gpedit.msc命令,点击确定按钮
3、打开本地组策略编辑器窗口
4、在本地组策略编辑器窗口中,依次点击“管理模板/Windows组件/Windows Installer”菜单项,在右侧找到“禁止用户安装”一项
5、在打开的“禁止用户安装”窗口中,可以看到该项设置为“已启用”,这就是导致不能正常安装软件的原因。
6、我们把该项设置为“未配置”或是“已禁用”,然后点击确定按钮保存退出,这样以后就可以正常安装软件了。
J. 如何在Windows下安装配置python接口的caffe
可以选择使用caffe for windows,你在windows下,又不想用VS去编译,然后你想装python环境去运行caffe?那还不如直接装个Ubuntu直接去跑了。