win10下如何使用matcaffe

1.win10caffe安装后怎么使用

整了一晚上加一上午。网上关于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 看能载入就知道成功了:)

2.win10caffe安装后怎么使用

整了一晚上加一上午。网上关于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 看能载入就知道成功了:)

3.如何调用caffe

Caffe是目前深度学习比较优秀好用的一个开源库,采样c++和CUDA实现,具有速度快,模型定义方便等优点。

学习了几天过后,发现也有一个不方便的地方,就是在我的程序中调用Caffe做图像分类没有直接的接口。Caffe的数据层可以从数据库(支持leveldb、lmdb、hdf5)、图片、和内存中读入。

我们要在程序中使用,当然得从内存中读入,我们首先在模型定义文件中定义数据层:layers { name: "mydata" type: MEMORY_DATA top: "data" top: "label" transform_param { scale: 0.00390625 } memory_data_param { batch_size: 10 channels: 1 height: 24 width: 24 } } 这里必须设置memory_data_param中的四个参数,对应这些参数可以参见源码中caffe.proto文件。现在,我们可以设计一个Classifier类来封装一下:#ifndef CAFFE_CLASSIFIER_H#define CAFFE_CLASSIFIER_H#include #include #include "caffe/net.hpp"#include "caffe/data_layers.hpp"#include using cv::Mat; namespace caffe { template class Classifier { public: explicit Classifier(const string& param_file, const string& weights_file); Dtype test(vector &images, vector &labels, int iter_num); virtual ~Classifier() {} inline shared_ptr > net() { return net_; } void predict(vector &images, vector *labels); void predict(vector &data, vector *labels, int num); void extract_feature(vector &images, vector> *out); protected: shared_ptr > net_; MemoryDataLayer *m_layer_; int batch_size_; int channels_; int height_; int width_; DISABLE_COPY_AND_ASSIGN(Classifier); }; }//namespace #endif //CAFFE_CLASSIFIER_H 构造函数中我们通过模型定义文件(.prototxt)和训练好的模型(.caffemodel)文件构造一个Net对象,并用m_layer_指向Net中的memory data层,以便待会调用MemoryDataLayer中AddMatVector和Reset函数加入数据。

#include #include #include #include #include "caffe/net.hpp"#include "caffe/proto/caffe.pb.h"#include "caffe/util/io.hpp"#include "caffe/util/math_functions.hpp"#include "caffe/util/upgrade_proto.hpp"#include "caffe_classifier.h" namespace caffe { template Classifier::Classifier(const string& param_file, const string& weights_file) : net_() { net_.reset(new Net(param_file, TEST)); net_->CopyTrainedLayersFrom(weights_file); //m_layer_ = (MemoryDataLayer*)net_->layer_by_name("mnist").get(); m_layer_ = (MemoryDataLayer*)net_->layers()[0].get(); batch_size_ = m_layer_->batch_size(); channels_ = m_layer_->channels(); height_ = m_layer_->height(); width_ = m_layer_->width(); } template Dtype Classifier::test(vector &images, vector &labels, int iter_num) { m_layer_->AddMatVector(images, labels); // int iterations = iter_num; vector* > bottom_vec; vector test_score_output_id; vector test_score; Dtype loss = 0; for (int i = 0; i Dtype iter_loss; const vector*>& result = net_->Forward(bottom_vec, &iter_loss); loss += iter_loss; int idx = 0; for (int j = 0; j const Dtype* result_vec = result[j]->cpu_data(); for (int k = 0; k count(); ++k, ++idx) { const Dtype score = result_vec[k]; if (i == 0) { test_score.push_back(score); test_score_output_id.push_back(j); } else { test_score[idx] += score; } const std::string& output_name = net_->blob_names()[ net_->output_blob_indices()[j]]; LOG(INFO) } } } loss /= iterations; LOG(INFO) return loss; } template void Classifier::predict(vector &images, vector *labels) { int original_length = images.size(); if(original_length == 0) return; int valid_length = original_length / batch_size_ * batch_size_; if(original_length != valid_length) { valid_length += batch_size_; for(int i = original_length; i { images.push_back(images[0].clone()); } } vector valid_labels, predicted_labels; valid_labels.resize(valid_length, 0); m_layer_->AddMatVector(images, valid_labels); vector* > bottom_vec; for(int i = 0; i { const vector*>& result = net_->Forward(bottom_vec); const Dtype * result_vec = result[1]->cpu_data(); for(int j = 0; j count(); j++) { predicted_labels.push_back(result_vec[j]); } } if(original_length != valid_length) { images.erase(images.begin()+original_length, images.end()); } labels->resize(original_length, 0); std::copy(predicted_labels.begin(), predicted_labels.begin() + original_length, labels->begin()); } template void Classifier::predict(vector &data, vector *labels, int num) { int size = channels_*height_*width_; CHECK_EQ(data.size(), num*size); int original_length = num; if(original_length == 0) return; int valid_length = original_length / batch_size_ * batch_size_; if(original_length != valid_length) { valid_length += batch_size_; for(int i = original_length; i { for(int j = 0; j data.push_back(0); } } vector predicted_labels; Dtype * label_ = new Dtype[valid_length]; memset(label_, 0, valid_length); m_layer_->Reset(data.data(), label_, valid_length); vector* > bottom_vec; 。

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

一、准备 需要用到的东西我已经帮大家全部准备好了,有我自己亲手制作的第三方库 ,在源码的根目录下建立个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文件。

5.mat文件 怎么打开win10

在按照教程安装MATLAB7.0后,桌面上将会出现图标,此时点击图标,一般都无法打开。报错一般有两种情况,一种是兼容性问题,一种是显示问题

若是兼容性问题,在右键-属性-兼容性-以兼容模式运行 中可以调整,然后进行尝试,一般调到XP SP2就能运行。

3

若在上个步骤多次尝试仍不奏效,需要调节matlab显示设置,一种方法参照其他论坛里的更改环境参数的方法,另一种只需 右键-以图形处理器运行-选择集成显卡…………你会惊喜地发现MATLAB能正常运行~~

6.如何在Windows环境下配置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 看能载入就知道成功了:)

7.如何快糙好猛地在windows下编译caffe并使用其matlab和python接口

1.安装使用PyInstaller需要安装PyWin32。

下载与Python对应的PyInstaller版本, 解压后就算安装好了 。2.生成exe文件Python程序的目录为 F:\hello.py在命令行 中进入pyinstaller所在的目录,运行python pyinstaller.py F:\hello.py 在PyInstaller-2.1目录下,生成文件夹hellohello目录下有文件exe文件在dist目录下如果将python文件复制到 pyinstaller.py 所在目录下,则运行 python pyinstaller.py hello.py。

8.如何在Windows环境下配置Caffe

1.安装使用PyInstaller需要安装PyWin32。

下载与Python对应的PyInstaller版本, 解压后就算安装好了 。2.生成exe文件Python程序的目录为 F:\hello.py在命令行 中进入pyinstaller所在的目录,运行python pyinstaller.py F:\hello.py 在PyInstaller-2.1目录下,生成文件夹hellohello目录下有文件exe文件在dist目录下如果将python文件复制到 pyinstaller.py 所在目录下,则运行 python pyinstaller.py hello.py。

win10下如何使用matcaffe

转载请注明出处windows之家 » win10下如何使用matcaffe

win10

虚拟机win10如何打开debug程序

阅读(105)

本文主要为您介绍虚拟机win10如何打开debug程序,内容包括win10怎么打开debug,win10怎么打开debug,在win10系统中怎么运行debug.exe?有没有什么简单的方法?搜狗问。(1)在互联网上下载DOSBOX、DEBUG32.EXE或debug.exe程序,把DOSBOX程序安装 在

win10

如何去掉win10平板桌面升级提示

阅读(135)

本文主要为您介绍如何去掉win10平板桌面升级提示,内容包括怎样删除windows10升级提示,怎么关掉windows10系统更新提示,怎么关闭win10自动更新提示。永久消除法: 这个Win10升级通知是通过一个升级补丁来实现的,补丁编号为:KB3035583,只要进入控

win10

戴尔win10的平板二合一如何使用

阅读(151)

本文主要为您介绍戴尔win10的平板二合一如何使用,内容包括二合一平板电脑如何用工程模式进入win10,戴尔二合一平板模式怎么添加应用,谁知道笔记本平板电脑二合一怎么切换。在bios设置中,进入“Advanced BIOS Features(高级BIOS特性)”下的“Fi

win10

win10笔记本如何关闭fn键

阅读(104)

本文主要为您介绍win10笔记本如何关闭fn键,内容包括笔记本fn键怎么取消,Win10系统笔记本中怎样关闭fn功能键,联想笔记本W10系统怎么关掉Fn功能。具体步骤如下:在开机出现品牌LOGO画面2113处,快速、连续多次按键盘5261的“F1”按键,进入BIOS Se

win10

win10如何设密码压缩文件

阅读(90)

本文主要为您介绍win10如何设密码压缩文件,内容包括Win10电脑上的压缩文件怎么加密的安全防护技巧,怎么给w10电脑文件设置密码?,win10怎么设置文件夹密码?。win10文件夹密码可以在文件夹属性中设置。具体操作步骤如下:右击文件夹,打开属性;

win10

联想电脑win10如何重装系统win7

阅读(104)

本文主要为您介绍联想电脑win10如何重装系统win7,内容包括联想win10怎么重装win7系统,联想笔记本win10怎么改win7系统,联想笔记本win10怎么改win7系统。联想win10重装win7系统,先修改一下模式再安装,用【u深度u盘启动盘制作工具】制作一个u盘

win10

如何让ppt一直亮着win10

阅读(103)

本文主要为您介绍如何让ppt一直亮着win10,内容包括win10怎么让电脑屏幕一直亮着,win10怎么设置息屏后的幻灯片?,win10怎么让电脑屏幕一直亮着。材料/工具:win10在win10系统里,开始菜单,右键控制面板。

win10

win10系统如何分辨32还是64位

阅读(81)

本文主要为您介绍win10系统如何分辨32还是64位,内容包括win10电脑怎么区分32位和64位系统,win10怎么查看电脑是32位还是64位,win10区分32位和64位吗。怎么查看自己的Win10系统是32位还是64位【方法一】在桌面的此电脑图标上,点击鼠标右键,选

win10

win10系统如何投影到投影仪

阅读(190)

本文主要为您介绍win10系统如何投影到投影仪,内容包括windows10怎么连接投影仪,windows10怎么将屏幕投影仪,win10电脑投屏到投影仪。Win 10系统连接投影机步骤如下:电脑开机;投影机开机;将连接在投影机上的VGA电缆插入到电脑对应接口上;有两种

win10

如何检测win10永久激活命令

阅读(132)

本文主要为您介绍如何检测win10永久激活命令,内容包括如何查看windows10是否永久激活,怎么判断win10是否永久激活,怎么查看Win10是否已永久激活。如下图所示,如果当前安装的 Windows10 未激活的话,会在桌面右下角显示“激活 Windows”字样。

win10

win10如何删除IE文件夹

阅读(149)

本文主要为您介绍win10如何删除IE文件夹,内容包括win10怎么删掉桌面上的ie,怎样删除win10的ie浏览器,win10怎样删除电脑里的ie浏览器。Win7/Win8/Win10桌面上的IE浏览器顽固图标删不掉的解决方法。顽固IE图标其实是这样的用直接右键删除是

win10

win10如何查看内穿

阅读(113)

本文主要为您介绍win10如何查看内穿,内容包括win10系统怎么查看内存使用率,win10系统怎样查看电脑的内存,win10怎样查看电脑的内存型号。方法/步骤1之前定位system占用内存巨高,发现是Superfetch服务(描述:维护和提高一段时间内的系统性能。)导

win10

win10平板怎么设置浏览器

阅读(98)

本文主要为您介绍win10平板怎么设置浏览器,内容包括怎么将win10默认下载工具改为浏览器下载器,win10系统浏览器下载前确认如何设置?,win10自带浏览器怎么下软件。去下载系统iso镜像文件,然后用虚拟光驱加载,之后点击setup.exe就行了。1. 鼠标

win10

戴尔win10还原出厂设置密码

阅读(151)

本文主要为您介绍戴尔win10还原出厂设置密码,内容包括戴尔笔记本恢复出厂设置后开机需要密码怎么回事,戴尔笔记本恢复出厂设置后开机需要密码怎么回事,dell笔记本电脑开机密码忘记,win10怎么恢复出厂设置。您好,恢复出厂设置方法如下:开机进

win10

虚拟机win10如何打开debug程序

阅读(105)

本文主要为您介绍虚拟机win10如何打开debug程序,内容包括win10怎么打开debug,win10怎么打开debug,在win10系统中怎么运行debug.exe?有没有什么简单的方法?搜狗问。(1)在互联网上下载DOSBOX、DEBUG32.EXE或debug.exe程序,把DOSBOX程序安装 在

win10

如何去掉win10平板桌面升级提示

阅读(135)

本文主要为您介绍如何去掉win10平板桌面升级提示,内容包括怎样删除windows10升级提示,怎么关掉windows10系统更新提示,怎么关闭win10自动更新提示。永久消除法: 这个Win10升级通知是通过一个升级补丁来实现的,补丁编号为:KB3035583,只要进入控

win10

戴尔win10的平板二合一如何使用

阅读(151)

本文主要为您介绍戴尔win10的平板二合一如何使用,内容包括二合一平板电脑如何用工程模式进入win10,戴尔二合一平板模式怎么添加应用,谁知道笔记本平板电脑二合一怎么切换。在bios设置中,进入“Advanced BIOS Features(高级BIOS特性)”下的“Fi

win10

win10笔记本如何关闭fn键

阅读(104)

本文主要为您介绍win10笔记本如何关闭fn键,内容包括笔记本fn键怎么取消,Win10系统笔记本中怎样关闭fn功能键,联想笔记本W10系统怎么关掉Fn功能。具体步骤如下:在开机出现品牌LOGO画面2113处,快速、连续多次按键盘5261的“F1”按键,进入BIOS Se

win10

win10如何设密码压缩文件

阅读(90)

本文主要为您介绍win10如何设密码压缩文件,内容包括Win10电脑上的压缩文件怎么加密的安全防护技巧,怎么给w10电脑文件设置密码?,win10怎么设置文件夹密码?。win10文件夹密码可以在文件夹属性中设置。具体操作步骤如下:右击文件夹,打开属性;

win10

联想电脑win10如何重装系统win7

阅读(104)

本文主要为您介绍联想电脑win10如何重装系统win7,内容包括联想win10怎么重装win7系统,联想笔记本win10怎么改win7系统,联想笔记本win10怎么改win7系统。联想win10重装win7系统,先修改一下模式再安装,用【u深度u盘启动盘制作工具】制作一个u盘

win10

如何让ppt一直亮着win10

阅读(103)

本文主要为您介绍如何让ppt一直亮着win10,内容包括win10怎么让电脑屏幕一直亮着,win10怎么设置息屏后的幻灯片?,win10怎么让电脑屏幕一直亮着。材料/工具:win10在win10系统里,开始菜单,右键控制面板。

win10

新硬盘电脑如何光盘安装正版win10系统

阅读(84)

本文主要为您介绍新硬盘电脑如何光盘安装正版win10系统,内容包括win10系统怎么用光盘安装,windows10系统怎么用光盘安装系统,win10系统怎么用光盘安装。打开电脑,电脑自检时按下Delete键,(注:有的电脑是Enter和F1键)。