caffe常用格式binaryproto和leveldb
阿新 • • 發佈:2018-12-12
深度學習中,我們所用到的圖片格式大多是jpg,jpeg,png等,而且圖片的大小尺寸有時也會不一樣。但是在caffe中資料型別是lmdb或leveldb,那麼我們需要將圖片格式轉換為caffe環境需要的格式。
一、將圖片轉為db格式
caffe常用的格式db(leveldb/lmdb),在caffe安裝目錄caffe/.build_release/tools下,convert_imageset.cpp可以將圖片轉換為caffe框架中的直接使用的db檔案。
使用方式:
convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME
(1)引數1:FLAGS:圖片引數組;
(2)引數2:ROOTFOLDER/:圖片存放的絕對路徑;
(3)引數3:LISTFILE,圖片檔案列表清單,一般為txt檔案,一行一張圖片;
(4)引數4:DB_NAME:最終生成的db檔案存放目錄。
??圖片檔案列表清單生成
!!建立sh指令碼檔案
sudo vi examples/images/create_filelist.sh
create_filelist.sh寫入:
# /usr/bin/env sh DATA=examples/images echo "Create train.txt..." rm -rf $DATA/train.txt find $DATA -name *xxx.jpg | cut -d '/' -f3 | sed "s/$/ 1/">>$DATA/train.txt find $DATA -name *xxx.jpg | cut -d '/' -f3 | sed "s/$/ 2/">>$DATA/tmp.txt cat $DATA/tmp.txt>>$DATA/train.txt rm -rf $DATA/tmp.txt echo "Done.."
生成lmdb指令碼檔案:
sudo vi examples/images/create_lmdb.sh
#!/usr/bin/en sh
DATA=examples/images
rm -rf $DATA/img_train_lmdb
build/tools/convert_imageset --shuffle \
--resize_height=256 --resize_width=256 \
/home/xxx/caffe/examples/images/ $DATA/train.txt $DATA/img_train_lmdb
執行指令碼檔案
sudo sh examples/images/create_lmdb.sh
二、binaryproto
caffe安裝目錄下/home/xxx/caffe/.build_release/tools提供了計算均值的compute_image_mean.cpp檔案,執行:
sudo build/tools/compute_image_mean examples/mnist/mnist_train_lmdb examples/mnist/mean.binaryproto
包含兩個引數:
(1)examples/mnist/mnist_train_lmdb:表示計算均值的資料,格式為lmdb的訓練資料;
(2)examples/mnist/mean.binaryproto:表示計算出來的結果儲存檔案。