




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省漳平第二中學2024-2025學年高一下學期第一次月考數學試題【含答案】
- 上海市虹口區2024-2025學年高三英語試題下學期一模考試試題含解析
- 徐州工程學院《體操(3)》2023-2024學年第二學期期末試卷
- 江西省高安市第四中學2025年中考模擬測試語文試題(二)含解析
- 江西省高安第二中學2024-2025學年高三下入學測試化學試題含解析
- 四川省廣元市蒼溪中學2024-2025學年高三復習質量監測(五)語文試題文試卷含解析
- 江西省吉安市萬安縣2025屆數學三下期末教學質量檢測模擬試題含解析
- 吉林藝術學院《數據庫技術基礎》2023-2024學年第二學期期末試卷
- 上海杉達學院《流行病學與循證醫學》2023-2024學年第二學期期末試卷
- 新疆科技職業技術學院《建筑制圖一》2023-2024學年第二學期期末試卷
- 河北省唐山市豐潤區2023-2024學年部編版八年級下學期5月期中歷史試題
- 走進歌劇世界智慧樹知到期末考試答案2024年
- 20G520-1-2鋼吊車梁(6m-9m)2020年合訂本
- 電梯維護保養規則(TSG T5002-2017)
- 《蜘蛛開店》評課
- 城市綜合安全風險監測預警平臺解決方案( PPT)
- (高清版)TDT 1036-2013 土地復墾質量控制標準
- 智慧建筑評價標準
- 人際交往與溝通課件第六章 人際交往禮儀
- 《老年護理》-課程思政課程標準
- 社會穩定風險評估 投標方案(技術標)
評論
0/150
提交評論