經過前面幾篇博文的介紹,我們已經對caffe有了個大概的了解,知道它的資料結構,而且也嘗試了caffe的Hello World---mnist例程。
前一篇博文介紹了tools工具中caffe.bin的用法,索性我這一篇繼續來看一看tools其他工具

可以看到有很多可執行檔案,我就舉幾個常用的例子
一般在資料讀取層的Transform階段,需要去均值操作。均值檔案一般需要用原始資料計算得到,caffe提供了計算均值的工具
傳回根目錄下執行 ./build/tools/ compute_image_mean.bin
顯示這個工具的用法:
compute_image_mean [參數] INPUT_DB [輸出檔案夾]
參數中就是選擇輸入資料的類型leveldb 還是lmdb,預設為lmdb
caffe資料輸入層的資料一般都以LEVELDB或者LMDB輸入,是以要把原始資料進行轉換,caffe中也提供了這樣的工具
根目錄下輸入:./build/tools/compute_image_mean.bin
顯示其用法
convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME
convert_imageset -此工具的名字
[FLAGS] -參數組,詳細如下:
-backend 選擇lmdb或者leveldb格式來儲存結果,預設為lmdb
-check_size (當這個選項打開時,要檢測輸入圖像是否擁有同樣大小的尺寸,預設為false)
-encode_type(可選:将圖檔編碼為哪一個格式,從cpp中來看,如果這一個不設定的話,它其實可以自己去根據圖檔的字尾名來識别圖檔的類型)
-encoded(是否将原圖檔編碼放入最終的資料中,預設為false,當這個選項打開,被編碼的圖檔就會被存儲進datum中)
-gray(但這個選項打開,表示圖檔都是灰階圖)
-resize_height(重置圖檔高度為:xx,預設為0)
-resize_width(重置圖檔寬度為:xx,預設為0)
-shuffle(随機的打亂圖檔順序和标簽,預設為false)
ROOTFOLDER/ - 圖檔存放的絕對路徑,從linux系統根目錄開始
LISTFILE -圖檔檔案清單清單,一般為一個txt檔案,一行一張圖檔
DB_NAME - 最終生成的db檔案存放目錄
然後cpp中還提到一句這個工具的正常運作要依賴于opencv,有興趣的同學可以去看看cpp
再推薦一篇博文:http://www.cnblogs.com/denny402/p/5082341.html,
該工具需要一個訓練好的網絡和一個資料輸入層,運作後可得到相應資料通過網絡某個中間層産生的特征圖并儲存到磁盤
基本上常用的就是這幾個,還有一些工具已經棄用,而融入到其他地方去了,比如下面兩個都被Deprecated(棄用)了
大家想要了解tools中工具的一些更為細節的東西,可以去 caffe目錄下的tools中尋找cpp源碼,
這裡我們看的可執行檔案是在caffe的build目錄下的tools中,要注意區分