ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:701.61KB ,
资源ID:16758837      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16758837.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Caffe+VS+CUDA75+Matlab配置流程Word文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Caffe+VS+CUDA75+Matlab配置流程Word文档格式.docx

1、7.4 打开gflags.sln,右键生成32位/64位的Debug/Release库8 Glog配置下载Glog库,解压。打开根目录下google-glog.sln,右键生成32位/64位的Debug/Release库9 LevelDB配置9.1 下载LevelDB库,解压。9.2 点Configure,选择“Visual9.3 设置Boost路径Boost_INCLUDE_DIR: D:boost_1_59_09.3 点Configure后,点Generate,生成leveldb.sln9.4 打开leveldb.sln,右键生成32位/64位的Debug/Release库注:第1次生成后

2、,会有几项失败的,再右键生成1次便可。10 LMDB配置10.1下载LMDB库,解压。10.2 打开Visual Studio,文件-新建-从现有代码创建项目10.3 选上源代码文件夹,并命名项目10.4 下一步,项目类型:控制台应用程序项目10.5 完成后,设置:项目属性-配置属性-配置类型:静态库(.lib)10.6 添加unistd.h、getopt.h、getopt.c到工和源文件里unistd.h下载地址:getopt.h、getopt.c下载地址:http:/ieng6.ucsd.edu/cs12x/vc08install/getopt9.zip10.7 把包含#include 改

3、为#include unistd.h,接着,右键生成32位/64位的Debug/Release库11 ProtoBuf配置下载ProtoBuf库,解压。打开根目录/vsprojects/protobuf.sln,分别右键libprotobuf、libprotoc、protoc生成32位/64位的Debug/Release库12 HDF5安装下载HDF5安装包hdf5-1.8.16-win64-vs2013-shared.zip,装完后:*经过上面的准备,下面开始配置caffe1 下载Berkeley官方caffe库,解压出一个caffe-master文件夹(即根目录)。2 其他辅助工具:链接:

4、 密码:v0gq3 准备第3方库,在caffe根目录下建3rdparty文件夹,再建如下子文件夹:把前面生成的dll库、lib库、.h头文件,放在对应的文件夹里。bin、include、lib里的文件如下图,3rdparty.7z下载地址:4h9p4 打开Visual Studio,在根目录下新建一个项目名为caffe的空项目,并设置为x64 Release平台,下面只讲解此平台的配置,Debug平台与此类似。4.1 右键项目名-生成依赖项-生成自定义:勾选CUDA 7.54.2在编译protobuf时已生成protoc.exe,把它拷到srccaffeproto目录下,打开cmd,到该目录下

5、输入:protoccaffe.proto -cpp_out=./ 将生成caffe.pb.cc和caffe.pb.h文件。4.3 把与srccaffe对应的所有文件及文件夹添加进工程里(test文件夹可以不加)4.4 配置相关路径及选项,以下绝对路径需要根据实际作修改,打开项目属性:常规-输出目录:.binVC+目录-包含目录:.src.include.3rdpartyinclude.3rdpartyincludehdf5.3rdpartyincludelmdb.3rdpartyincludeopenblasopencv2.4.10buildincludeopencv2.4.10buildin

6、cludeopencvopencv2.4.10buildincludeopencv2C:Program FilesNVIDIA GPU Computing ToolkitCUDAv7.5include库目录:.3rdpartylibboost_1_59_0stagelibopencv2.4.10buildx64vc12libProgram FilesNVIDIA GPU Computing ToolkitCUDAv7.5libx64链接器-输入-附加依赖项:cuda.libcudnn.libcudart.libcurand.libgflags.libcublas.liblibglog.libl

7、ibprotoc.liblibprotobuf.liblibopenblas.dll.almdb.libleveldb.libshlwapi.libszip.libzlib.liblibhdf5.liblibhdf5_hl.libopencv_core2410.libopencv_highgui2410.libopencv_imgproc2410.libC/C+ -预处理器-预处理器定义:USE_LMDBUSE_OPENCVUSE_LEVELDB_CRT_SECURE_NO_WARNINGS_SCL_SECURE_NO_WARNINGSCUDA C/C+ - Common - Target M

8、achine Platform:64-bitDevice - Code Generation:compute_20,sm_20compute_30,sm_30compute_35,sm_35compute_50,sm_504.5 下面开始逐步编译并修改bug(1) 编译common.cpp,右键选择编译。从输出错误列表中定位相应的错误:添加:#include 修改:getpid() - _getpid()以上编译成功后才接着下面的编译(2) 编译solver.cppsnprintf() -sprintf_s()(3) 编译caffe.cpp,从根目录tools文件夹里,把caffe.cpp添加

9、进工程源文件中。4.6 上面几个文件编译成功后,开始生成整个项目:生成结束后会出现大量错误,需要反复生成多次才能找出所有的错误,下面逐一修复:(1) 在cudnn.hpp文件中的cudnnGetErrorString函数名前添加:CUDNNWINAPI(2) 在signal_handler.cpp文件中,修改:constfloatkBNLL_THRESHOLD = 50.-#definekBNLL_THRESHOLD 50.0(3) 在bnll_layer.cu文件中,添加:#define SIGHUP 1#defineSA_RESTART 0x0002#definesigfillset(se

10、t) ( *(set) = (sigset_t)0, 0 )typedefunsignedintsigset_t;struct sigaction void(*sa_handler)(int); sigset_tsa_mask; int sa_flags;并注释这些出错语句:if (sigaction(SIGHUP, &sa, NULL) = -1) LOG(FATAL) Cannot install SIGHUP handler.;if (sigaction(SIGINT, &Cannot install SIGINT handler.(4) 在hdf5.cpp文件中,修改:给switch

11、(class_)中的每个case分支加上花括号(5) 在db_lmdb.cpp文件中,添加:#include并把mkdir()改为_mkdir(),且将第2个参数去除(6) 在contrastive_loss_layer.cpp文件中,修改为:(7) 在math_functions.cpp文件中,添加:#define_builtin_popcount _popcnt#define_builtin_popcountl _popcnt(8) 在io.cpp文件中,添加:io.h并修改函数名:open()- _open() ; close() - _close()(9) 在common.cpp文件中

12、,添加:boost/date_time.hppvoidinitGlog() FLAGS_log_dir = .log _mkdir(FLAGS_log_dir.c_str(); std:string LOG_INFO_FILE;string LOG_WARNING_FILE;string LOG_ERROR_FILE;string LOG_FATAL_FILE;stringnow_time = boost:posix_time:to_iso_extended_string(boost:second_clock:local_time(); now_time13 = - now_time16 =

13、LOG_INFO_FILE = FLAGS_log_dir + INFO + now_time + .txt google:SetLogDestination(google:GLOG_INFO, LOG_INFO_FILE.c_str(); LOG_WARNING_FILE = FLAGS_log_dir + WARNINGGLOG_WARNING, LOG_WARNING_FILE.c_str(); LOG_ERROR_FILE = FLAGS_log_dir + ERRORGLOG_ERROR, LOG_ERROR_FILE.c_str(); LOG_FATAL_FILE = FLAGS_

14、log_dir + FATALGLOG_FATAL, LOG_FATAL_FILE.c_str();并修改GlobalInit()函数:voidGlobalInit(int* pargc, char* pargv) / Google flags.gflags:ParseCommandLineFlags(pargc, pargv, true);initGlog();google:InitGoogleLogging(*(pargv)0);(10)在base_data_layer.cpp文件中,初始化:cudaStream_t stream = nullptr;在base_data_layer.cp

15、p文件中,初始化:以上不一定能修复所有代码bug,如还未生成成功,请自行修复。5 上面生成成功后会在根目录caffebin下生成一个caffe.exe,重命名为caffe_gpu.exe,防止被覆盖,后面将会用到。经过上面过程,caffe已经编译完成,下面开始测试mnist库1下载辅助工具1.1 把wget库解压,并添加环境变量:Path = D:wget-1.11.4b1.2把7za.exe、wget.exe、libiconv2.dll、libintl3.dll、libssl32.dll放进3rdpartybin把get_mnist.bat放进datamnist把create_mnist.b

16、at、train_lenet.bat放进examplesmnist1.3双击运行datamnistget_mnist.bat,将自动下载并解压mnist数据库。或者下载已经解压好的数据库放在此路径下:bbsb或者到官方网站下载,解压并命名为对应的名字即可:2 添加环境变量,把3rdpartybin添加到环境变量中Path = E:caffe3caffe-master3rdpartybin2.1 把工程源文件中的caffe.cpp移除,将examplesmnistconvert_mnist_data.cpp添加到项目的源文件中,生成项目。运行完后convert_mnist_data.cpp有错,

17、需要修复:,并把mkdir()作如下修改:分别对mdb_env、mdb_txn、db初始化:2.2 生成成功后,把caffebincaffe.exe重命名为convert_mnist_data.exe。2.3 下载辅助dll库:zigr把刚下载和之前生成的dll库放进3rdpartybin,有:libquadmath-0.dlllibgcc_s_seh-1.dlllibgcc_s_sjlj-1.dlllibgfortran-3.dlllibglog.dlllibopenblas.dllcudnn64_70.dll2.4在examplesmnist下新建mnist_test_leveldb和mn

18、ist_train_leveldb两个文件夹,双击运行create_mnist.bat,生成leveldb数据格式。或者下载已经转换好的数据放在此路径下:jdks3 下面开始训练和测试3.1 打开lenet_train_test.prototxt文件,把里面所有的lmdb替换成leveldb。3.2 把caffebincaffe_gpu.exe重命名为caffe.cpp,再双击运行examplesmnisttrain_lenet.bat,开始训练和测试,运行结果:以上结果是在tesla k20c GPU上的测试结果,测试10000个样本大约需要165ms,准确率为:99.01%(每次测试的结果

19、会有点波动)。上面程序通过修改examplesmnistlenet_solver.prototxt文件中的属性,可以设定不同的测试条件。下面开始配置NVidia提供的开源库cuDNN,该库专用于深度学习框架,以提高训练效率。1 在上面工程的基础上,把convert_mnist_data.cpp移除,将根目录toolscaffe.cpp重新添加到工程源文件中。预处理器定义,添加:USE_CUDNN2 把cuDNN库中的cudnn64_70.dll、cudnn.h、cudnn.lib分别拷到3rdparty的bin、include、lib文件夹里。接着,右键生成项目。3 项目生成成功后,把caff

20、ebincaffe.exe备份,命名为:caffe_cudnn.exe,以防止被覆盖(用到时把名字改回caffe.exe即可)。4 双击运行examplesmnisttrain_lenet.bat,开始训练和测试,运行结果:以上结果是在tesla k20c GPU上,使用cuDNN v3库的测试结果,测试10000个样本大约需要168ms,准确率为:99.11%(每次测试的结果会有点波动)。以上是在Visual Studio平台下测试的,下面开始配置Matlab R2014a。1 下载修复后的caffe_.cpp文件:rob6把刚下载的caffe_.cpp和matcaffe.def拷到matl

21、ab+caffeprivate,并覆盖原有的文件。2在上面工程的基础上,把caffe.cpp移除,将根目录matlab+caffeprivatecaffe_.cpp添加到工程源文件中。3配置属性,打开项目属性:.matlab+caffeprivate目标文件名:caffe_目标文件扩展名:.mexw64Program FilesMATLABR2014aexternincludeProgram FilesMATLABR2014aexternincludewin64Program FilesMATLABR2014aexternlibwin64microsoftlibmx.liblibmex.lib

22、libmat.lib模块定义文件:././matlab/+caffe/private/matcaffe.def4 右键生成项目,将会生成matlab+caffeprivatecaffe_.mexw64,这是matlab的库文件。5 测试5.1把前面下载到的bvlc_reference_caffenet.caffemodel放进modelsbvlc_reference_caffenet5.2 打开Matlab,把路径改为caffe根目录,输入:addpath./matlab5.3 把路径改为matlabdemo,classification_demo是一个分类函数,模型已经训练好即bvlc_reference_caffenet.caffemodel,这是1000分类的模型,调用格式:其中,s是各类的分数,l是该图像的预测标签。具体分类:/www.image-net.org/challenges/LSVRC/2012/参考网址:/caffe.berkeleyvision.org/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1