python3安装caffe
❶ 如何在Windows下安装配置python接口的caffe
整了一晚上加一上午。网上关于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 看能载入就知道成功了:)
❷ 怎么安装caffe.proto
1. 安装cuda 一定按照官方教材
2. 安装blas 别弄那些mlk之类的东西,直接在命令行直接安装就好。
3. 运行caffe时要在主目录下进行,否则会有莫名的错误比如:
(a)./create_mnist.sh: 16: ./create_mnist.sh: build/examples/mnist/convert_mnist_data.bin: not found
4. 训练imageNet时,在create_image_mean.sh 里边将
./build/tools/compute_image_mean examples/imagenet/ilsvrc12_train_leveldb \
data/ilsvrc12/imagenet_mean.binaryproto
修改为
./build/tools/compute_image_mean examples/imagenet/ilsvrc12_train_lmdb \
data/ilsvrc12/imagenet_mean.binaryproto
ImportError: /home/kongtao/anaconda/bin/../lib/libm.so.6: version `GLIBC_2.15' not found (required by /usr/lib/x86_64-linux-gnu/libxvidcore.so.4)
进入aniconda/lib目录,去掉libm.so.6即可
2.No mole named google.protobuf.internal
这说明你没有添加google.protobuf.的位置
sys.path.append('/usr/lib/python2.7/dist-packages/')
3. python
ImportError: No mole named skimage
缺乏skimage工具箱
pip install scikit-image
❸ caffe python 接口依赖库怎么安装
教你个一劳永逸的办法,装anaconda,有免费版的,你在里面装包,自动给你装依赖包
❹ 如何在caffe里安装python的re包
linux下怎么把python怎么引进caffe首先,先要再linux上安装opencv的库,在线安装的话,很容易 然后,编译的时候需要加上 `pkg-config opencv --libs --cflags opencv` 参数
❺ 怎么才能让python2和python3同时都能调用caffe
设置一个环境变量就可以了,这样在命令行下就可以使用那个版本的python。
一些python的IDE还会让你选择哪一个python版本做为编译器。
❻ caffe的python接口求助
一、前期环境以及准备1、安装python在caffe中,python2和python3的接口都有。但frcnn中只能支持python2.7,所以千万不要装成python3。为了方便,不用自己去pip一大堆库,我建议安装anaconda2,里面已经安装了很多第三方的库。另附python,Windows的第三方库,里面很全。或许有一些库你要去官网上下载。2、安装(更新)显卡驱动和cudaNVIDIA的显卡驱动安装应该不用我说了吧,到官网上下载吧。我要说明一点的是,我的1080ti在安装显卡驱动时,说和Windows不匹配。怎么解决呢?更新Windows,到官网上下驱动,再安装。成功!还有就是记得更新你的显卡驱动,以防老的驱动不支持cuda。CUDA安装的话,也是傻瓜试的安装。提醒一点的是,不要改变他的安装路径,默认路径。然后去NVIDIA的官网上下载cudnn库,这个库的话需要去NVIDIA注册一个账号,然后问你用这个来完成什么工作之类的巴拉巴拉。这个库长什么样呢?下载完解压缩,得到一个cuda的文件夹,里面有3个文件夹然后打开你的CUDA文件夹,默认路径是C:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v8.0把cudnn库里面的3个文件夹里面的文件,分别加到cuda里面对应的文件夹。然后打开cuda需要编译的部分,默认路径是C:\ProgramData\NVIDIACorporation\CUDASamples\v8.0因为我用的VS2015,那么我就用打开2015的那个,然后改成release运行。至此,显卡计算的环境就搭建完成了。3、cmake和gitcmake的话,我建议直接下载编译好的能运行的文件(到官网上下载),然后解压文件,把bin的路径添加到Path中。git:因为frcnn里面有很多linux的脚本,你可以不用,但用的话会很方便的。所以我建议安装git。同样,傻瓜式的安装,直接到官网上下载。二、py-faster-rcnn1、编译caffe的python接口GPU版本(如果你编译过了就不用了)因为frcnn的编译过程用需要用到python的caffe包,所以必须要先编译一次caffe。如果你已经编译过caffe的py接口就不用了。下载微软的Caffe,git的地址你可以用git直接下载,或者在git的地址里下载,随便你。[plain]打开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试一下importcaffe。如果说,他提示少了什么包,你直接pip这个包就好了,找不到的话,网络一下就有。但只要你跟着上面我的方法做应该不会出现什么问题。2、编译py-faster-rcnn依赖库首先呢,我们先去编译一下frcnn的依赖库。Windows下,不能使用自带的lib,把自带的lib删了,重新下载,这里给出git的地址。好了,现在你的库应该长成这样,有setup.py和setup_cuda.py。进cmd,install这2个文件。现在你肯定会遇到问题,提示你VC版本不对怎么呢,先set一下:输入SETVS90COMNTOOLS=%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]_pooling_param=8266711;_l1_loss_param=8266712;messageROIPoolingParameter{//Pad,kernelsize,//,Xpairs.optionaluint32pooled_h=1[default=0];//_w=2[default=0];//Thepooledoutputwidth////_scale=3[default=1];}messageSmoothL1LossParameter{//SmoothL1Loss(x)=//0.5*(sigma*x)**2--ifx<1.0/sigma/sigma//|x|-0.5/sigma/sigma--otherwiseoptionalfloatsigma=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就能看到结果了
❼ 想安装caffe 只用在python上 但电脑不是gpu windows10系统32版本 不是英伟达显卡 不能使用cuda
1、右键点击“开始菜单”按钮,在弹出的菜单中选择“运行”菜单项
2、在弹出的运行窗口中,输入gpedit.msc命令,点击确定按钮
3、打开本地组策略编辑器窗口
4、在本地组策略编辑器窗口中,依次点击“管理模板/Windows组件/Windows Installer”菜单项,在右侧找到“禁止用户安装”一项
5、在打开的“禁止用户安装”窗口中,可以看到该项设置为“已启用”,这就是导致不能正常安装软件的原因。
6、我们把该项设置为“未配置”或是“已禁用”,然后点击确定按钮保存退出,这样以后就可以正常安装软件了。
❽ 怎样用python调用已经训练好的caffe
定义CAFFE为caffe跟目录,caffe的核心代码都在$CAFFE/src/caffe 下,主要有以下部分:net, blob, layer, solver.
net.cpp:
net定义网络, 整个网络中含有很多layers, net.cpp负责计算整个网络在训练中的forward, backward过程, 即计算forward/backward 时各layer的gradient。layers:
在$CAFFE/src/caffe/layers中的层,在protobuffer (.proto文件中定义message类型,.prototxt或.binaryproto文件中定义message的值) 中调用时包含属性name, type(data/conv/pool…), connection structure (input blobs and output blobs),layer-specific parameters(如conv层的kernel大小)。定义一个layer需要定义其setup, forward 和backward过程。blob.cpp:
net中的数据和求导结果通过4维的blob传递。一个layer有很多blobs, e.g,对data,weight blob大小为Number * Channels * Height * Width, 如256*3*224*224;
对conv层,weight blob大小为 Output 节点数 * Input 节点数 * Height * Width,如AlexNet第一个conv层的blob大小为96 x 3 x 11 x 11;
对inner proct 层, weight blob大小为 1 * 1 * Output节点数 * Input节点数; bias blob大小为1 * 1 * 1 * Output节点数( conv层和inner proct层一样,也有weight和bias,所以在网络结构定义中我们会看到两个blobs_lr,第一个是weights的,第二个是bias的。类似地,weight_decay也有两个,一个是weight的,一个是bias的);
blob中,mutable_cpu/gpu_data() 和cpu/gpu_data()用来管理memory,cpu/gpu_diff()和 mutable_cpu/gpu_diff()用来计算求导结果。slover.cpp:
结合loss,用gradient更新weights。主要函数:
Init(),
Solve(),
ComputeUpdateValue(),
Snapshot(), Restore(),//快照(拷贝)与恢复 网络state
Test();
在solver.cpp中有3中solver,即3个类:AdaGradSolver, SGDSolver和NesterovSolver可供选择。
关于loss,可以同时有多个loss,可以加regularization(L1/L2);Caffe
Caffe的所有message定义在$CAFFE/src/caffe/proto/caffe.proto中。Experiment
在实验中,主要用到两个protocol buffer: solver的和model的,分别定义solver参数(学习率啥的)和model结构(网络结构)。- 好吧,了一大段,不晓得有没有帮助,说点accuracy = 0.5的问题。简单说,就是分错了,好吧我知道这是废话。既然是分错了,那么就要检查下了,首先检查你的训练模型。
- 根据训练过程来看,训练应该是已经收敛了,(反正loss一直在减小)。
- 这句可能是我理解问题,如果模型收敛的话,loss应该趋于平稳,如这样。
安装python:yum install python-devel.x86_64
Makefile.config修改WITH_PYTHON_LAYER := 1 #取消注释
安装python依赖如果安装 Anaconda Python可以免去下面步骤cd $CAFFE_ROOT/python
for req in $(cat requirements.txt); do pip install $req; done编译make cleanmake pycaffe -j32make test -j32
使Caffe的python接口永久生效vim /etc/profileprofile最后添加: export PYTHONPATH=/root/$CAFFE_ROOT/python:$PYTHONPATHsource /etc/profile
Protocol buffer:
上面已经将过, protocol buffer在 .proto文件中定义message类型,.prototxt或.binaryproto文件中定义message的值;
❾ 如何让caffe同时支持python2.7和python3.4
你可以在caffe的目录里修改Makefile.config这个文件相关参数,来配置Python3.4.Ubuntu系统允许多个版本存在。目前,版是Python 3.5,较好安装python anaconda工具开发。
Caffe可以说是第一个工业级深度学习工具,始于2013年底由UC Berkely的贾杨清编写的具有出色的CNN实现功能的开发语言,在计算机视觉领域Caffe仍然是最流行的工具包
❿ 为什么每次从python导入caffe都要编译接口
原因