WINDOWS+VS2013下產生caffe並進行cifar10分類測試

來源:互聯網
上載者:User

標籤:工程   article   啟動   class   轉換   window   nload   啟用   nts   

http://blog.csdn.net/naaaa/article/details/52118437標籤: windowsvs2013caffecifar102016-08-04 15:33 1316人閱讀 評論(1) 收藏 舉報 分類:caffe

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

1.下載vs2013,安裝

 

http://download.microsoft.com/download/0/7/5/0755898A-ED1B-4E11-BC04-6B9B7D82B1E4/VS2013_RTM_ULT_CHS.iso

 

2.下載caffe原始碼,解壓

 

https://github.com/Microsoft/caffe

將caffe-master/windows下CommonSettings.props.example後面的.example去掉。

 

3.gpu配置

 

帶gpu的配置:

下載cuda:

https://developer.nvidia.com/cuda-downloads

根據自己的顯卡選擇下載的版本

雙擊exe進行安裝

下載cudnn:

https://developer.nvidia.com/cudnn

下載v4或v5版本

解壓後分別將lib、include、bin檔案夾下的檔案複製到cuda安裝目錄下的lib、include、bin檔案夾下

(預設為:c:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x)

 

無gpu的配置:

記事本開啟caffe-master/windows下的CommonSettings.prop修改:

<CpuOnlyBuild>false</CpuOnlyBuild>為<CpuOnlyBuild>true</CpuOnlyBuild>

<UseCuDNN>true</UseCuDNN>為<UseCuDNN>false</UseCuDNN>

 

編譯每個項目前設定:

項目->屬性->配置屬性->c/c++->前置處理器->前置處理器定義,添加一項CPU_ONLY

 

4.產生libcaffe

 

開啟caffe-mastetr/windows下的Caffe.sln

所有項目都要用到libcaffe.lib,所以第一個要編譯這個項目。

libcaffe有很多相關的庫,工程裡已經配置好了可以用NuGet進行下載。

我們需要安裝NuGet包管理器並啟動它。

 

下載Nuget:

工具->擴充和更新->聯機,搜尋NuGet,下載Nuget 包管理

(也可以網站直接下載http://docs.nuget.org/consume/installing-nuget,雙擊安裝)

 

啟動Nuget:

右鍵工程->啟用NuGet程式包還原。

 

接著產生libcaffe會在caffe-master\Build\x64\Debug下產生libcaffe.lib

(後續所有的exe檔案也都是產生在這個目錄)

 

5.cifar10訓練資料

 

http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz

下載資料到caffe-master\data\cifar10,解壓。

下載的資料為binary格式,需要轉換為leveldb。

編譯convert_cifar_data項目,產生convert_cifar_data.exe。

開啟cmd,cd到caffe-master\Build\x64\Debug,輸入命令(後續所有命令都是在這個路徑下):

convert_cifar_data.exe ../../../data/cifar10/cifar-10-batches-bin ../../../data/cifar10 leveldb

在caffe-master\data\cifar10檔案夾下產生cifar10_test_leveldb和cifar10_train_leveldb檔案夾

 

6.求資料映像均值

 

編譯compute_image_mean項目,產生compute_image_mean.exe

cmd輸入命令:

compute_image_mean.exe ../../../data/cifar10/cifar10_train_leveldb ../../../data/cifar10/mean.binaryproto --backend=leveldb

 

7.訓練cifar10模型

 

開啟caffe-master\examples\cifar10\cifar10_quick_solver.prototxt檔案:

修改路徑:examples/cifar10 為 ../../../examples/cifar10(兩處)

修改最後一行為:solver_mode: CPU(用gpu就不用改這一項)

 

開啟caffe-master\examples\cifar10\ cifar10_quick_train_test.prototxt檔案:

修改backend: LMDB 為 backend: LEVELDB(兩處)

修改mean_file: "examples/cifar10/mean.binaryproto" 為 mean_file:"../../../data/cifar10/mean.binaryproto"(兩處)

修改source: "examples/cifar10/cifar10_train_lmdb" 為 source:"../../../data/cifar10/cifar10_train_leveldb"

修改source: "examples/cifar10/cifar10_test_lmdb" 為 source:"../../../data/cifar10/cifar10_test_leveldb"

 

編譯caffe項目,產生caffe.exe

cmd輸入命令:caffe.exe train --solver=../../../examples/cifar10/cifar10_quick_solver.prototxt  訓練網路

CPU訓練會訓練好久,訓練完成後caffe-master/examples/cifar10檔案夾下產生

cifar10_quick_iter_4000.caffemodel.h5

cifar10_quick_iter_4000.solverstate.h5

 

8.對映像進行分類

 

在caffe-master\data\cifar10下建立文字檔synset_words.txt。

檔案內容是cifar10裡麵包含的分類種類,如下:

 

[plain] view plain copy  print?
  1. airplane  
  2. automobile  
  3. bird  
  4. cat  
  5. deer  
  6. dog  
  7. frog  
  8. horse  
  9. ship  
  10. truck  

 

編譯classification項目,產生classification.exe

命令列輸入:

classification.exe ../../../examples/cifar10/cifar10_quick.prototxt ../../../examples/cifar10/cifar10_quick_iter_4000.caffemodel.h5 ../../../data/cifar10/mean.binaryproto ../../../data/cifar10/synset_words.txt ../../../examples/images/cat.jpg

就會出來分類結果,我的結果:

 

[plain] view plain copy  print?
  1. ---------- Prediction for ../../../examples/images/cat.jpg ----------  
  2. 0.9784 - "deer"  
  3. 0.0100 - "cat"  
  4. 0.0094 - "bird"  
  5. 0.0017 - "frog"  
  6. 0.0004 - "dog"  

 

參考博文:http://blog.csdn.net/zb1165048017/article/details/51476516

WINDOWS+VS2013下產生caffe並進行cifar10分類測試

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.