第一步,准备工作
1首先从网址下载Caffe-Windows安装
2安装Visual Studio 2013;
3如果与需要使用NVIDIA显卡的请安装Cuda和CuDNN,不需要可以不装;
4将\windows\CommonSettingspropsexample 复制一份并修改为 \windows\CommonSettingsprops,然后打开做如下修改:
1)如果不使用GPU,不安装CUDA和CuDNN,将CpuOnlyBuild 改为 true ,并且 UseCuDNN 改为 false;
2)安装CuDNN的情况下,将CuDNND路径复制到CuDnnPath;
3)选择支持Python或者MATLAB接口,当然也可以两个都支持,设置PythonSupport或者MatlabSupport为true,同时将Python或者MATLAB路径分别粘过来PythonDir和MatlabDir。
第二步,编译
打开\windows\Caffesln,编译Caffe/convert_imageset、caffe、libcaffe、convert_mnist_data等,可以根据提示和需要进行,生成的caffeexe为训练与测试的主程序,convert_imageset为将训练和测试数据生成LMDB使用的程序。
思路
我们都知道在Visual Studio中使用OpenCV是非常方便的,只要配置好相关的路径,建立一个属性表就可以了。接触过Caffe的可能会知道,在Caffe的例程中并没有怎么说如何建立一个属性表,就能够使用Caffe提供的一些函数去构造程序。话说一个月前刚刚在Github上帮一个老外解决了这个问题,所以这里也写一下我的方法。
要用Caffe,就是 include 、lib 、dll,和OpenCV一样,搞好这三个即可,推荐大家配置Release版本的,所以在编译Caffe的时候,换成Release模式也编译一次。
实现
观察caffe-master的第三方程序包,毫无疑问,这个与caffe-master本文件夹都需要加上去的。
所以在属性表里,先后需要include以下这些:(路径请自行修改)
D:\caffe-master\include
D:\NugetPackages\boost15900\lib\native\include
D:\NugetPackages\glog0330\build\native\include
D:\NugetPackages\gflags2121\build\native\include
D:\NugetPackages\protobuf-v120261\build\native\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v75\include
D:\NugetPackages\OpenBLAS02141\lib\native\include
D:\caffe-master\include\caffe\layers
D:\NugetPackages\OpenCV2410\build\native\include
D:\NugetPackages\OpenCV2410\build\native\include\opencv
D:\NugetPackages\OpenCV2410\build\native\include\opencv21234567891011
我们可以看到,这个第三方程序包里面已经有OpenCV了,所以我们没必要把OpenCV的属性表添加。
然后,我们需要添加lib:(路径请自行修改)
D:\NugetPackages\boost_date_time-vc12015900\lib\native\address-model-64\lib
D:\NugetPackages\boost_filesystem-vc12015900\lib\native\address-model-64\lib
D:\NugetPackages\boost_system-vc12015900\lib\native\address-model-64\lib
D:\caffe-master\Build\x64\Release
D:\NugetPackages\boost_thread-vc12015900\lib\native\address-model-64\lib
D:\NugetPackages\boost_chrono-vc12015900\lib\native\address-model-64\lib
D:\NugetPackages\protobuf-v120261\build\native\lib\x64\v120\Release
D:\NugetPackages\OpenCV2410\build\native\lib\x64\v120\Release
D:\NugetPackages\glog0330\build\native\lib\x64\v120\Debug\dynamic
D:\NugetPackages\gflags2121\build\native\x64\v120\dynamic\Lib
D:\NugetPackages\hdf5-v120-complete18152\lib\native\lib\x64
D:\NugetPackages\OpenBLAS02141\lib\native\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v75\lib\x6412345678910111213
最后一项是CUDA的配置路径,找一下应该就可以找到。
那么我们的附加依赖项需要添加:
libcaffelib
libprotobuflib
opencv_highgui2410lib
opencv_core2410lib
opencv_imgproc2410lib
libgloglib
gflagslib
libopenblasdlla
hdf5lib
hdf5_hllib
cublaslib
cublas_devicelib
cudalib
cudadevrtlib
cudnnlib
cudartlib
cufftlib
cudart_staticlib
cudnn_staticlib
cufftwlib
cusparselib
cusolverlib
curandlib
nppclib
OpenCLlib12345678910111213141516171819202122232425
对了,最后别忘了配置环境变量哟,配置完之后重启一遍:
D:\NugetPackages\gflags2121\build\native\x64\v120\dynamic\Lib
D:\NugetPackages\hdf5-v120-complete18152\lib\native\bin\x64
D:\NugetPackages\glog0330\build\native\bin\x64\v120\Release\dynamic
D:\NugetPackages\OpenBLAS02141\lib\native\bin\x64
D:\NugetPackages\gflags2121\build\native\x64\v120\dynamic\Lib
D:\NugetPackages\OpenCV2410\build\native\bin\x64\v120\Release123456
这里还是建议大家建立一个属性表,方便后面的程序添加,就像这样:
那么在做完这些之后,我们就可以在新建工程里使用Caffe的接口了
有两种方式
使用c++的方式
在caffe根目录下的 examples/cpp-classification/ 文件夹下面,有个classificationcpp文件,就是用来分类的。当然编译后,放在/build/examples/cpp_classification/ 下面
我们就直接运行命令:
# sudo /build/examples/cpp_classification/classificationbin \ models/bvlc_reference_caffenet/deployprototxt \ models/bvlc_reference_caffenet/bvlc_reference_caffenetcaffemodel \ data/ilsvrc12/imagenet_meanbinaryproto \ data/ilsvrc12/synset_wordstxt \ examples/images/catjpg
命令很长,用了很多的\符号来换行。可以看出,从第二行开始就是参数,每行一个,共需要4个参数
运行成功后,输出top-5结果:
---------- Prediction for examples/images/catjpg ----------03134 - "n02123045 tabby, tabby cat"02380 - "n02123159 tiger cat"01235 - "n02124075 Egyptian cat"01003 - "n02119022 red fox, Vulpes vulpes"00715 - "n02127052 lynx, catamount"
即有03134的概率为tabby cat, 有02380的概率为tiger cat
使用python的方式
运行这个文件必需两个参数,一个输入文件,一个输出结果文件。而且运行必须在python目录下。假设当前目录是caffe根目录,则运行:
# cd python# sudo python classifypy /examples/images/catjpg resultnpy
1安装基础的深度学习框架,如Caffe、TensorFlow、PyTorch等;
2使用Python 36+ 编写深度学习代码,完成模型的训练或者使用已经训练好的模型;
3使用机器学习的环境变量,如Conda或者Virtualenv,为深度学习运行环境配置环境变量;
4在windows上部署定时任务,定期执行深度学习代码,以实现自动深度学习程序的功能;
5安装深度学习后台管理软件,如Tensorboard等,方便查看深
以上就是关于Windows下怎样采用微软的Caffe配置Faster R全部的内容,包括:Windows下怎样采用微软的Caffe配置Faster R、如何在visual studio中像使用opencv一样使用caffe、如何使用caffe进行简单的分类,有哪些方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)