版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、深度学习框架caffe的了解摘要:caffe是贾扬清开发的一个清晰,可读性高,快速的深度学习开源框架,目前已经的到了广泛的应用。本人基于Ubuntu14.04 64bit操作系统、caffe框架以及一些依赖软件,对caffe安装以及使用进行了成功实验。本文就实验的整个实验过程以及实验结果进行描述。关键词:caffe、深度学习、开源框架1caffe的安装尽管caffe目前取得了较为广泛的应用,但其运行环境搭建对于初学者来说仍然是一个复杂繁琐的过程。此部分将详细描述caffe在单机安装的整个过程,并附上相关图片。1.1硬件配置及操作系统本实验用的电脑为普通个人电脑,硬件配置参数为:Intel(R)
2、 Core(TM) i5-3230M CPU 2.60GHz 4GB RAM。操作系统采用官网推荐的操作系统Ubuntu14.04,安装磁盘空间为100GB。1.2安装依赖软件依赖库安装。caffe的依赖软件包括一些使用到的函数库,包括 libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libboost-all-dev。其中boost库的版本需要安装v1.55或以上版本。可在控制台运行如下命令进行安装:sudo apt-get install libpr
3、otobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev工具安装。其次是安装一些必要工具,包括git、cmake,采用如下命令安装:sudo apt-get install cmake gitgoogle-glog安装。google-glog根据官方提供的方法可以直接运行如下命令进行安装,但由于网络限制,采用官方给定的方式将不能下载google-glog。本实验在其它网站下载google-glog的压缩包glog-0.3.3.tar.gz之后进行安装的。gflags的安装方
4、式类似,以下是安装需要用到的命令。# glogtar zxvf glog-0.3.3.tar.gzcd glog-0.3.3./configuremake && make install# gflagsunzip master.zipcd gflags-mastermkdir build && cd buildexport CXXFLAGS="-fPIC" && cmake . && make VERBOSE=1make && make installlmdb的安装。caffe最初支持level
5、db和lmdb两种数据格式的文件,但由于lmdb的读取速度要比levaldb的读取速度快1.5倍,caffe后来的版本仅仅支持lmdb数据格式的文件。lmdb存储引擎是一个开源的工具,可采用git在github上直接下载安装。# lmdbgit clone cd lmdb/libraries/liblmdbmake && make install安装Atlas。Atlas是一个免费的矩阵函数库,可用付费的Intel MKL代替。sudo apt-get install libatlas-base-dev到此为止相关依赖工具的安装已经完成,次部分工具的安装比较简单,基本不会出现安
6、装错误。1.3安装OpenCVOPenCV在各个平台的安装配置都比较麻烦,为简化操作,提高安装成功的概率,本实验采用脚本进行安装。安装脚本可通过git在github下载。下载命令如下:git clone git:bearpaw/Install-OpenCV.git下载完成之后进入文件夹(如图1.1),可以找到多个版本的安装脚本,本实验采用的时2.4.10版本,运行命令./opencv2_4_10.sh进行安装。若脚本不可执行(.sh文件的颜色非绿色),需要执行chmod +x *.sh赋予这些.sh文件可执行权限。图1.1以上是caffe安装的整个过程,本人曾尝试安装GPU驱动,但未能安装成功
7、,在此不再叙述,下面数据集的训练采用的时CPU,未使用GPU。1.4caffe安装caffe压缩包直接通过git下载,git clone git:BVLC/caffe.git,下载完成之后进入caffe主目录,执行以下命令编译caffe。其中后面的j4参数表示用个线程进行编译,可加快编译速度。make all -j4make testmake runtest编译完成之后会给出如下提示信息(图2.1),此时即可使用caffe训练数据集。图1.22mnist数据集的训练根据官方文档,在训练模型之前需要将训练的图片转化为lmdb格式的数据集再进行训练。本实验直接使用已经转化好的lmdb数据集mnis
8、t进行训练和测试。mnist是一个手写数字图片的数据集,里面包含了60000张训练库图片和10000张测试库图片。2.1mnist数据集的获取mnist数据集可以在官网下载或者直接运行命令脚本文件下载,本实验通过运行脚本下载,脚本位于$CAFFE/data/mnist目录下。进入该目录执行命令./get_mnist.sh即可下载。脚本下载完成之后会自动解压缩,生成个数据包(图2.1)。图2.12.2mnist数据集格式转换前面提到数据包需要转换成lmdb数据格式之后才能训练与测试,caffe官方的mnist的例子中提供了工具格式转换工具编写好了脚本。本实验先将个数据包拷贝到$CAFFE/exa
9、mples/mnist目录下(和转换脚本create_mnist.sh处于同一目录)。然后执行./create_mnist.sh生成讲数据包转换成lmdb格式的数据集,转换成功的话会在$CAFFE/examples/mnist目录下生成两个文件夹(如图2.2),mnist_test_lmdb和mnist_train_lmdb,分别包含训练数据集与测试数据集。图2.22.3基于mnist数据集数字模型的训练与测试mnist数据集采用LeNet网络来进行训练,大量实验表明LeNet网络是训练手写内容识别模型的最佳网络模型。在训练之前,可根据需要对全局参数配置文件lenet_to
10、txt(内容如图2.3)进行修改。参数net指明了训练用到的网络模型的定义文件,这里选用的是lenet网络其它参数的设置以及其值的含义可参照$CAFFE/src/caffe/proto/to文件。本实验由于没有用到CPU,因此只更改了solver_mode参数,将参数该成了CPU。# solver mode: CPU or GPUsolver_mode: CPU图2.3配置完成之后,执行命令./build/tools/caffe train -solver=examples/mnist/lenet_totxt 或者运行$CAFFE/examples/mni
11、st目录下的脚本./examples/mnist/train_lenet.sh即可开始训练。采用CPU进行训练的时间大概为20分钟(最多迭代10000次),若采用GPU训练时间会更少。训练过程中会出现如下的内容,每迭代500次进行次测试,当达到预期精度或者达到训练上限时结束训练。I0614 00:40:08.291082 7064 sgd_solver.cpp:106 Iteration 100, lr = 0.00992565I0614 00:40:17.023165 7064 solver.cpp:228 Iteration 200, loss = 0.143513I0614 00:40:
12、17.023233 7064 solver.cpp:244 Train net output #0: loss = 0.143513 (* 1 = 0.143513 loss)I0614 00:40:17.023252 7064 sgd_solver.cpp:106 Iteration 200, lr = 0.00985258I0614 00:40:25.631428 7064 solver.cpp:228 Iteration 300, loss = 0.162749I0614 00:40:25.631542 7064 solver.cpp:244 Train net output #0: l
13、oss = 0.162749 (* 1 = 0.162749 loss)I0614 00:40:25.631561 7064 sgd_solver.cpp:106 Iteration 300, lr = 0.00978075I0614 00:40:34.705716 7064 solver.cpp:228 Iteration 400, loss = 0.0588523I0614 00:40:34.705777 7064 solver.cpp:244 Train net output #0: loss = 0.0588523 (* 1 = 0.0588523 loss)当然,我们也可以直接对训练
14、好的模型进行单独测试,执行如下命令./build/tools/caffe test -solver=examples/mnist/lenet_totxt 3. caffe的应用实例识别一张图片训练模型的最终目的是应用训练好的模型去识别图片,为用户提供识别结果,本实验通过一个C+程序,传入一张图片,使用caffe模型识别图片并打印出识别结果。3.1模型的获取训练好的模型来源于Caffe Model Zoo执行脚本可下载训练好的模型 ./scripts/download_model_binary.py models/bvlc_reference_caffenet执行脚本./da
15、ta/ilsvrc12/get_ilsvrc_aux.sh可以下载训练所用标签文件。3.2图像的识别在网上下载一张动物图片(图3.1),通过图片可直观的看出它是一只狗,通过编译好的程序调用此图片,调用命令如下:./build/examples/cpp_classification/classification.bin models/bvlc_reference_caffenet/totxt models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel data/ilsvrc12/imagenet_mean.binaryproto data/ilsvrc12/synset_words.txt examples/images/dog.jpg图3.1程序运行结束之后输出如下内容(图3.2),程序按照匹配程度输出了格标签的内容,分别是博美犬、威尔士柯基犬、碟耳长毛玩赏小狗、吉娃娃(一种产于墨西哥的狗),最后一项是本人为确定标签内容来源人为加上去的。结果显示,该模型准确的识别了该图片的信息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025幼师个人工作计划例文2
- 白酒竞品知识培训课件
- Unit8 lesson 3 Different landscapes(说课稿)-2024-2025学年冀教版(2024)初中英语七年级上册
- Unit 5 There is a big bed PB Let's learn (说课稿)-2024-2025学年人教PEP版英语五年级上册
- 2025年班务工作计划表
- 安全设施相关行业投资规划报告范本
- 流行病学 传染病流行病学-张定梅学习课件
- 2025年品质部年度工作计划
- 2025年度公司人事主管个人工作计划范文
- 2025年师德工作计划024师德工作计划
- GB/T 31.1-2013六角头螺杆带孔螺栓
- GB/T 12494-1990食品机械专用白油
- 西交大少年班英语考试试题
- 北京语言大学保卫处管理岗位工作人员招考聘用【共500题附答案解析】模拟试卷
- 初中生物人教七年级上册(2023年更新) 生物圈中的绿色植物18 开花和结果
- 水电解质及酸碱平衡的业务学习
- CSCEC8XN-SP-安全总监项目实操手册
- 口腔卫生保健知识讲座班会全文PPT
- 成都市产业园区物业服务等级划分二级标准整理版
- 最新监督学模拟试卷及答案解析
- 污水处理厂关键部位施工监理控制要点
评论
0/150
提交评论